bpm 120
meter 4
unit 1/4
key d maj
Chord ::= | {1, 3, 5} |
Bass ::= | .1 | .6 | .4 | .5 |
{Bass, Chord Chord@~5 Chord@~3 Chord@~4}
Div ::= | 1 3 5 3 |
= | 1 3 5 '1 5 3 5 3 |
= | 1 5 3 5 1 5 3 5 |
= | 1 2 3 4 5 4 3 2 |
= | 1 '1 3 '1 5 '1 3 '1 |
= | 1 2 3 2 3 4 5 4 5 4 3 2 3 2 1 2 |
enum Div
{Bass, Div#1 Div#1@~5 Div#1@~3 Div#1@~4}
{Bass, Div#2 Div#2@~5 Div#2@~3 Div#2@~4}
{Bass, Div#3 Div#3@~5 Div#3@~3 Div#3@~4}
Walk ::= | .1 .5 .1 .5 |
= | .1 .3 .5 .3 |
= | .1 .5 .3 .5 |
= | .1 .7 .6 .5 |
enum Walk
assert Walk#any;.5 == Walk#1
{Walk#any;.5 Walk#any;.5@~5 Walk#any;.5@~3 Walk#any;.5@~4,
Div#4 Div#4@~5 Div#4@~3 Div#4@~4}
{Walk#any;.5 Walk#any;.5@~5 Walk#any;.5@~3 Walk#any;.5@~4,
Div#5 Div#5@~5 Div#5@~3 Div#5@~4}
assert Walk#any;.5;2 == Walk#3
{Walk#any;.5;2 Walk#any;.5;2@~5 Walk#any;.5;2@~3 Walk#any;.5;2@~4,
Div#5 Div#5@~5 Div#5@~3 Div#5@~4}
{Walk#any;.5;2 Walk#any;.5;2@~5 Walk#any;.5;2@~3 Walk#any;.5;2@~4,
Div#6 Div#6@~5 Div#6@~3 Div#6@~4}
{Walk#4 Walk#4@~5 Walk#4@~3 Walk#4@~4, Div#6 Div#6@~5 Div#6@~3 Div#6@~4}
{Walk#4 Walk#4@~5 Walk#4@~3 Walk#4@~4, Div#2 Div#2@~5 Div#2@~3 Div#2@~4}
{Bass, Chord Chord@~5 Chord@~3 Chord@~4}