bpm 96
meter 4
unit 1/4
key e4 harm
axis first
Theme ::= 1 - 3 - 4 3 2 3 2 - 1 - 3 2 3 2
Descent ::= Theme Theme@~-2 Theme@~-4
assert Theme@~-2 == .6 - 1 - 2 1 .7 1 .7 - .6 - 1 .7 1 .7
Shake ::= 1 2 1 2 1 2 1 2 3 4 3 4 3 4 3 4
Descent Shake
Weave ::= .2 .1 .2 .1 .4 .3 .4 .3 .3 .2 .3 .2 .1 .2 .1 .2
assert Theme^ == 1 - .6 - .5 .6 .7 .6 .7 - 1 - .6 .7 .6 .7
{Descent Weave, -*32 Theme^@~-4 Weave^@~-2}
assert Shake^ == 1 .7 1 .7 1 .7 1 .7 .6 .5 .6 .5 .6 .5 .6 .5
{Descent Shake, Descent^ Shake^}
{Descent Weave, Descent^ Weave^@~-2}
Wheel ::= Weave[8:] Weave Weave Weave[:8] Shake@~-5
assert Weave[8:] == .3 .2 .3 .2 .1 .2 .1 .2
{Weave Weave@~-2 Weave@~-5 Shake@~-7, Weave@~7 Weave@~5 Weave@~9 Shake@~4, Wheel}
{Descent Weave, Descent^ Weave^@~-2, Wheel}
{Shake[8:] Descent Weave[:8], Descent^ Weave^@~-2, Wheel}
Climb ::= Theme[8:] Weave[:8]@~4
{Climb Climb@~4 -*16, Weave^@~2 Weave^@~6 -*16, Shake@~-1 Shake@~3 Shake@~4}