bpm 60
meter 4
unit 1/4
key d min
Ground ::= .1 _2 .5 _2 ..7 _2 .4 _2 ..6 _2 .3 _2 ..5 _2 .2 _2
Theme ::= 1 5 4 3 2 3 4 2 '1 7 6 5 4 3 2 1
{Theme*2, Ground*2}
Head ::= Theme[:8]
Tail ::= Theme[8:]
assert Head Tail == Theme
{Head Head@~-2 Head@~-4 Tail, Ground*2}
Turn ::= Theme[2:6]
{Turn Turn@~-1 Turn@~-2 Turn@~-3 Turn@~-4 Turn@~-5 Turn@~-6 1 _4, Ground*2}
{Turn@~-3 Turn@~-2 Turn@~-1 Turn Turn@~1 Turn@~2 Turn@~3 '1 _4, Ground*2}
Crab ::= Theme[::-1]
assert Crab[::-1] == Theme
{Theme Crab, Ground*2}
{Theme Crab, Crab Theme, Ground*2}
Fall ::= '1 7 6 5 = 5 4 3 2 = 2 1
assert Fall#1 Fall#2[1:] Fall#3[1:] == Tail
Fall#1 Fall#2 Fall#3
Fall#1 Fall#2[1:] Fall#3[1:]
{Tail Tail@~-2 Tail@~-4 Tail@~-6, Ground*2}
Comp ::= .1 '1 .5 7 .6 6 .3 5 .4 4 .1 3 .5 2 .1 1
assert Comp[1::2] == Tail
Comp*2
{Comp[::2] _2, Comp[1::2] _2}