bpm 60
meter 4
unit 1/4
key c min
assert 1 3 == c4 eb4
assert 1 6 == c4 ab4
Arp ::= 1 _4 3 _4 5 _4 3 _4
Skip ::= 1 _4 3 _8 2 _4
Leap ::= 1 _4 6 _8 5 _4
{Arp Skip, .1 _32}
{Arp Leap, .1 _32}
assert Leap == 1 _4 s5 _8 s-1 _4
assert 1 s5 == 1 i8
assert 3 s5 == 3 i9
Sixth ::= s5 s-1
assert Sixth(1 2 5) == 1 Sixth 2 Sixth 5 Sixth
{Sixth(1 2 5) _4, .1 _36}
{Sixth(3) _4, .1 _12}
Open ::= 5 _4 4 _4 2 _8
Call ::= Arp Leap Leap@~1 Open
Bass ::= .1 _16 .6 _16 .7 _16 .5 _16 .1 _16 .3 _16 .4 _16 .5 _8 .1 _8
assert Leap@~1 == 2 _4 7 _8 6 _4
Call
{Call, Bass[:4]}
Close ::= 4 _2 2 _2 .7# _4 1 _8
Answer ::= Leap@~4 Leap~@~4 Skip@~3 Close
assert Leap@~4 == 5 _4 '3 _8 '2 _4
assert 4 2 .7# == 4 i-3 i-3
Answer
{Answer, Bass[4:]}
Fill ::= 1 _2 2 _2 3 _2 4 _2 5 _2 6 _2
assert Fill[::2] _2 == Arp[:3]
Leap
Fill 5 _4
{Call Answer, Bass}