Skip to main content

Modifiers

In this section we will learn how to use colon-chained modifiers to reshape patterns and sequences at expansion time — transpose, rotate, reverse, and more — all without rewriting the underlying notes. We will keep the same Tutorial Groove patterns but use modifiers to change how it is arranged.

Chain modifiers after a pattern or sequence name with colons, e.g. lead_b:rot(2):oct(+1). They apply left-to-right: each step transforms the result of the previous one. So lead_b:rot(2):oct(+1) rotates first, then raises the rotated phrase by an octave — not the other way around.

Core modifiers

The core list of modifiers (that you will more commonly use in your songs) are as follows:

ModifierBehaviour
:oct(n)Transpose by octaves
:+N / :-NSemitone transpose
:rot(N) / :rotate(N)Cyclic left shift by N tokens
:revReverse
:pal / :palindromeForward then backward (no duplicated pivot)
:slow(N)Repeat each token N times (default 2)
:fast(N)Keep every Nth token (default 2)
:inst(name)Instrument override for the segment
:pan(value)Pan override for the segment

However there are many more available - for the full table see Sequence modifiers reference.

Note: you can also apply a named effect preset as a modifier (e.g. melody:wobble) — see Effects.

Tutorial Groove — with modifiers

In our updated song below, the same patterns from Sequencing are reused, but modifiers reshape individual phrases in each sequence:

  • Leadlead_b:rot(2) shifts the B phrase left by two steps; later lead_b:oct(+1) plays B an octave higher
  • Harmonyharmony_b:rev plays the B chord phrase backwards
  • Bassbass_a:oct(-1) drops the A phrase one octave for a deeper foundation
  • Drumsdrums_b:rev reverses the B fill

These modifiers keep the pattern length the same (16 steps), so the four channels stay locked.

Tutorial Groove — modifiers

Interactive playback loads in the browser.

…
seq lead_seq    = lead_a lead_b:rot(2) lead_a lead_b:oct(+1)
seq harmony_seq = harmony_a harmony_b:rev harmony_a harmony_b
seq bass_seq    = bass_a:oct(-1) bass_b bass_a:oct(-1) bass_b
seq drums_seq   = drums_a drums_b drums_a drums_b:rev
…

Next

Continue with Effects — add vibrato, arpeggio, and portamento to finish the song.

See also