bpm 140
key c harm
Roll ::= .3 .1 .3 .5 1 3 2 1
Answer ::= .7 .5 .7 2 5 4 3 2
Roll Answer Roll@12
Fall ::= '2 '1 7 6 5 4 3 2
Roll Answer Roll@12 Fall
Fall[::-1] Fall[0:4] Fall[4:] Fall
Seed ::= s-2 s2 s2 s3 s2 s-1 s-1
Seed(.3 3 '3)
assert Seed(.3 3 '3) == .3 Seed 3 Seed '3 Seed
Theme ::= i4 i5 i3 i-1 i-2 i-1 i-4 i4 i3 i5 i-2 i-2 i-1
Peal ::= '1 ''1 '1 {3, '1} @5 '1 ''1 '1 {3, '1} @4 '1 '7b '1 {3, '1} @4 '1 '7b '1
7b ..5 ..7b Theme
.7b .5 .7b Theme
{3, '1} @5 Peal
Trem ::= {..2b _16, .2b _16}
'6 ..4 ..6 Theme
.6 .4 .6 Theme
Trem Trem @-1 Trem @-2
Ladder ::= '2 4 {1, 7b} @-2 4 '2 4 {3, 5} '2b '7b '2b {3, 5} '2b '7b '2b
Summit ::= '3 '5 ''1 '5 '7b '6 '5 '4
{1, 7b} 5 Ladder @2
Summit
Roll Answer Roll@12 Fall Roll@~1 Answer@~1 Roll@~1 @12 Fall@~1
7b ..5 ..7b Theme {3, '1} @5 Peal
'6 ..4 ..6 Theme Trem Trem @-1 Trem @-2
{1, 7b} 5 Ladder @2 Summit
3 1 3 Theme '3 '1 '3 '5 ''1 ''3 ''2 '7 ''1 _4
bpm 120
meter 4
unit 1/4
key c4 harm
mode diatonic
Descent ::= Fall \3 {6#}
Climb ::= Roll Answer Roll@12 Descent Roll@12 Answer@12 Roll@24 Descent@12
assert Descent == '2 '1 7 6# 5 4 3 2
Climb
'3 _5 ''1 '5 '3 '6 _5 6 '1 '3
key g4 harm
5 _5 '3 7b 5 '1 _4 .6 1 3 5
4 2 2b 2 4 2 2b 2 6 4 1 2 6 4 1 2
5 4 .7 2 '2 4 .7 2 7 4 .5 2 4 2 .7 .5
key g4 harm
Toll ::= {$1, $2}/2 -/2 $3 $4 $3 {$1, $2}/2 -/2 $3 $4 $3
Bells ::= c5 eb4 g4 g5 b4 d4 g4 f5
Strike ::= {.1, ..1} _4 '1 5 3 1 {..7b, ...7b} _4 1 3# 5 '1
assert Roll == bb3 g3 bb3 d4 g4 bb4 a4 g4
Climb \0 {'3} @-12
Strike Toll(Bells) Strike@5 Toll(Bells@5)
key c4 harm
assert {.2b, ..2b} _16 == Trem
Climb \0 {''3} @-7
6 '4 '1 6 4 '1 6 4 1 6 4 1 .6 4 1 .6
{.2b, ..2b} _16 {.2b, ..2b} _16 @-1
{.2b, ..2b} _16 @-2
key c4 harm
Knell ::= {$1, $2}/3 - _2/3 $3 $4 $3 {$1, $2}/3 - _2/3 $3 $4 $3
Fifths ::= bb4 c4 g4 e5 a4 f4 eb5 c6
assert Knell(eb4 c5 g4 g5 b4 d4 g4 f5) == Knell(Bells)
assert Fifths[:4]@-4 == f#4 ab3 eb4 c5
{.1, ..1} _4 .4 _4 {'3, .5} _23/6 -/3
{'3, ..5}/3 -/6 '2/3 -/3 '3/3 -/3 '2/3 -/3 '1/3 -/3 '2/3 -/3
Knell(eb4 c5 g4 g5 b4 d4 g4 f5) Knell(Fifths)
Knell(Fifths@-2) Knell(f#4 ab3 eb4 c5 eb4 f#3 c5 c6)
{3, .5} _8 '5 '3 '1 5 {.5, ..5} _4
Roll \0 {3} Answer Roll@12 Descent
assert Roll[:7]@24 == eb5 c5 eb5 g5 c6 eb6 d6
Roll@12 Answer@12 Roll[:7]@24 '7 ''1