bpm 70
meter 4
unit 1/4
key e harm
Subject ::= 1 _2 5 4 3 2 3 _2
Cadence ::= 4 3 2 1 .7 _2 1 _2
Subject Cadence
assert -*4 %% %% %% .1 _2 .5 .4 == -*4 .1 _2 .5 .4
1-- __2 5-- 4-- 3-- 2-- 3-- __2 4-- 3-- 2-- 1-- .7- __2 1-- __2
-*4 %%% %%% %%% .1- __2 .5- .4- .3- .2- .3- __2 .4- .3- .2- .1-
Answer ::= -*4 Subject@~-7 Cadence[:4]@~-7
Stretto ::= {Subject Cadence, Answer}
Stretto
Lead ::= Subject Cadence Subject@~2 Cadence@~2 Subject Cadence
Follow ::= -*8 Subject@~-7 Cadence@~-7 Subject@~-5 Cadence@~-5 Subject@~-7
assert Follow == -*8 {Subject Cadence Subject@~2 Cadence@~2 Subject}@~-7
Canon ::= {Lead, Follow}
Canon
Bass ::= -*16 %% ..5 _16 ..1 _16
Ground ::= {Lead, Follow, Bass}
assert Bass == -*16 ..5 _16 ..1 _16
Ground
Subject Cadence Stretto Canon-- Ground-