Ziffers - Numbered musical notation


G is for arpeggios. Just added some support for chord arpeggios using subset of ziffers notation. For example when using G1 before chord i, it would then play first note from the chord array. Here are some examples:

zplay “G1232 |: i^7 :4|: %-1 iv^dim :4|”
zplay “Gq12e+3212 |: i^7 :4||: %-1 iv^dim7 :4|”, key: :d4, scale: :mixolydian

Custom chords can also be used like: G123 i {1,3,5} v


Played more with the arpeggios and added support for more octaves and random generation of integer sequences. I had to remove some less used functions like random key because the buffer limit is causing issues.

Random arpeggio sequences can be generated using:

(1,3,3) = any random 3 numbers between 1 and 3.
(1…3) = suffle numbers between 1 and 3.
(1…7,3) = suffle numbers between 1 and 7 and pick 3.

This sample plays 6 random notes for i v and vi chords. N2 is used to set number of octaves in a chord:

zplay “N2 G(1,6,6) i 0 v 0 vi”

Same as before but ensures that each note is unique:

zplay “N2 G(1…6) i 0 v 0 vi”

This syntax can also be used in combination with […]-choose from array syntax to produce more interesting semirandom melodies:

live_loop :arpeggios do
zplay "N3 G[1324,e32q123,(3…7,4)] %-1 ii^m9 v^add13 %2 i^maj9 %-2 vi^m9 ", key: :f3