Skip to content

Guitarify ​

A keyboard plays a chord as a stack of notes struck together and held. A guitar plays the same chord across six strings, one note a string, and a hand strikes those strings in a rhythm: a strum down, a strum up, a muted strum, the bass string, one string picked alone. Guitarify plays a clip's chords and notes that way, on any instrument, so a pattern that is only a row of chords becomes a strummed or picked part.

Guitarify has two sections, and each can be switched off. Shape is the fretting hand, which decides the notes of each chord. Strokes is the other hand, which decides when each string sounds.

Shape ​

Shape holds each chord as a hand can hold it: at most one note on each string, every note within four frets of the hand's position, and the chord's lowest written note in the bass wherever a string can reach it. C, E and G written close together become C, E, G, C and E across five strings, the open C chord. A hand with too few strings for a chord leaves the fifth out first and the root out last.

SettingWhat it does
Shape chordsSwitches the section on or off. Off leaves every chord as written.
TuningThe open strings: standard, drop D, open G, open D or DADGAD.
PositionWhere the hand is: "open", which uses the open strings and the first three frets, or a fret from 1 to 12, which uses that fret and the three above.
CapoThe fret a capo clamps, which raises every string.
StringsHow many strings are played, from 3 to 6, counted from the highest, so 4 leaves out the two lowest.
Single notesWhat becomes of a step that holds one note: "leave" keeps the note; "power chord" plays the root, the fifth above and the octave on the low strings; "scale chord" plays the chord the note's place in the scale builds.

Strokes ​

Strokes plays a bar of strokes, one stroke a cell, on whatever chord or note sounds at that moment. The bar follows the song's bars and goes round for as long as the clip plays. A single note is played by every stroke.

SettingWhat it does
Play strokesSwitches the section on or off. Off leaves each chord struck once, where the pattern wrote the chord.
BarThe bar of strokes, shown by the name of the ready-made bar the cells match, or as "custom". ENTER opens the bar's editor.
Let ringA struck string sounds until a later stroke strikes the same string or the chord ends, as picked chords do. Off stops every string at the next stroke.
SpreadThe time between one string of a strum and the next, in milliseconds whatever the tempo.
FadeHow much quieter the last string of a strum is than the first, up to 50%.
Loose timingHow much each gap between strings varies, up to 50%, drawn from the song's seed.
Upstroke stringsHow many of the top strings an upstroke catches, or "all".
RestartWhen the bar starts over, as Generators describes.

Guitarify's Spread, Fade, Loose timing and Upstroke strings are Guitarify's own. The Strum generator and the Strum sections of a track and a clip are separate and unchanged.

Bar Editor ​

The bar's editor shows one cell a column, with the stroke above and the accent below. Left and Right move along the cells, [ and ] change the stroke under the cursor, Space or ENTER accents the cell, I inserts a cell, D removes one, S steps the cell length and R picks a ready-made bar. A bar holds up to 32 cells.

StrokeDrawnWhat plays
nothing—Nothing new: what was struck before sounds on.
down↓Every string, low to high.
up↑The top strings, high to low.
mutexEvery string, short and quiet, as a palm-muted or scratched strum.
bassBThe lowest string.
alt bassAThe fifth of the chord where a string plays one, and otherwise the second lowest string.
string 1 to string 41 to 4One string, counted from the highest. A string the chord lacks plays the nearest string the chord has.

Where a bar has any accented cell, the strokes without an accent play a little softer.

The ready-made bars are folk strum, boom-chick, travis pick, crosspick, four to the bar, backbeat, boogie, shuffle, scratch, all down, arena, chug, gallop, thrash, tremolo, chime, roll up, roll down and held. Picking one replaces the strokes, the accents and the cell length together, and the bar can be edited from there. A rolled chord is the roll up or the roll down bar with Let ring on.

Applying the Generator ​

Add a Guitarify to a chain, as guitarify: name, and give clips that chain. A Progression before the Guitarify in the same chain moves one written chord through a song's chords, and the Guitarify then plays each. examples/learning/23_guitarify.yml plays twenty short scenes, each a way a guitar is played, from one pattern of chords a scene.

Settings by Genre ​

The Guitarify demo, examples/learning/23_guitarify.yml, plays twenty short examples, each a scene of its own on one guitar. The table lists, for each example, the fields of the Guitarify editor that were changed from their defaults, under the editor's two sections, with the values as the editor shows them. An empty cell means every field of that section was left alone. The demo's tracks are named after their guitars, and the tempo is the scene's.

GenreExample NameGuitarBPMShapeStrokes
countryporchsteel104Bar: boom-chick, 8 cells of 1/8
countrythumb and fingerssteel96Bar: travis pick, 8 cells of 1/8
Let ring: on
bluegrasscrosspicksteel126Bar: crosspick, 8 cells of 1/8
Let ring: on
jazzfour to the barjazz132Position: fret 3
Strings: 4
Bar: four to the bar, 4 cells of 1/4
Spread: 4 ms
bluesopen gsteel84Tuning: open GBar: folk strum, 8 cells of 1/8
Let ring: on
Spread: 14 ms
rock and rollboogieclean152Single notes: power chordBar: boogie, 8 cells of 1/8
Spread: 2 ms
surftremoloclean150Position: fret 5Bar: tremolo, 16 cells of 1/16
folkcampfiresteel96Bar: folk strum, 8 cells of 1/8
folk rockchimeclean116Bar: chime, 8 cells of 1/8
Let ring: on
soulbackbeatclean104Position: fret 4
Strings: 4
Bar: backbeat, 8 cells of 1/8
Spread: 3 ms
funkscratchmuted100Position: fret 6
Strings: 4
Bar: scratch, 16 cells of 1/16
Spread: 2 ms
singer-songwriterharpnylon80Bar: roll up, 8 cells of 1/8
Let ring: on
hard rockarenaoverdriven120Single notes: power chordBar: arena, 8 cells of 1/8
Let ring: on
Spread: 2 ms
punkthree chords louddistortion184Single notes: power chordBar: all down, 8 cells of 1/8
Spread: 2 ms
Fade: 0
metalgallopdistortion150Single notes: power chordBar: gallop, 16 cells of 1/16
Spread: 2 ms
Fade: 0
metalthrashdistortion190Single notes: power chordBar: thrash, 16 cells of 1/16
Spread: 2 ms
Fade: 0
metallow and slowdistortion70Tuning: drop D
Single notes: power chord
Bar: held, 4 cells of 1/4
Let ring: on
Spread: 2 ms
Fade: 0
alternativequiet loudoverdriven110Bar: custom, 32 cells of 1/8
Let ring: on
bluesshuffleclean120Strings: 4Bar: shuffle, 12 cells of 1/12
Spread: 4 ms
finalelast chordsteel92Bar: custom, 32 cells of 1/8
Let ring: on

A Bar shown as custom was written by hand in the bar editor: quiet loud plays two bars picked string by string and then two strummed, and last chord three bars strummed and then one rolled from the bass string up. Opening the demo and pressing ENTER on the Bar of each shows the strokes. A switch that is on, which the editor shows as ●, is written as on.

Released under the GNU General Public License, version 3 or later.