bpm 44
meter 4
unit 1/4
key g3 min
mode diatonic
Line ::= 1 3 5 _2 8 7 5 3 1 _2
Line
mode chromatic
Line
mode midi
assert Line == m1 m3 m5 _2 m8 m7 m5 m3 m1 _2
assert Line@54 == m55 m57 m59 _2 m62 m61 m59 m57 m55 _2
Line@54
mode diatonic
Row ::= m55 m58 m62 m66 m69 m72 m76 m80 m83 m85 m87 m89
Head ::= Row[:8]
Tail ::= Row[8:]
assert Head[::2] == m55 m62 m69 m76
assert Head Tail == Row
Row _2
Triads ::= gMin _2 'dMaj _2 'aMin _2 ''eMaj _2
assert gMin == {m55, m58, m62}
assert ''eMaj == {m76, m80, m83}
{Head, Triads}
Retro ::= Row~
Inv ::= Row^@34
RetInv ::= Inv~
assert Row[::-1] == Retro
assert Inv == m89 m86 m82 m78 m75 m72 m68 m64 m61 m59 m57 m55
Row _2 Retro _2 Inv _2 RetInv _2
mode midi
Import ::= 55 58 62 66 69 72 76 80 83 85 87 89
assert Import == Row
Import _2
InvTriads ::= ''bbMaj _2 ''ebMin _2 'g#Maj _2 'c#Min _2
InvHead ::= Head^@34
{Head, Triads} _2
{InvHead, InvTriads} _2
Tail _2 Tail~ _2
Row _2