16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
composition = {
"a": { # Movement block 'a' for reuse throughout the piece
"melody": { # Instrument 'melody'
"score_line": "i2 %(time)f %(duration)f 7000 %(octave)d.%(note)s 2",
"octave": 8,
"grammars": { # Notes for this instrument to use in this piece
"u": ["I V/2 V/2 V/2 I VII, IV' x u", "I IV w w", "I VII IV u u" , "e"],
"w": ['VII I IV V VI u', 'w w', "e"],
"x": ['VI/4 III/4 II/4 I/4 w', 'x x', "e"],
"e": [""],
},
"score": "u u u u u",
},
"rhythm": {
"score_line": "i1 %(time)f %(duration)f 7000 %(octave)d.%(note)s %(octave)d.%(note)s 0 6",
"octave": 7,
"grammars": {
"u": ['"I" "ii"/4 "ii"/4 "IV"/2 "V"2 "IV" "ii" x u', '"I" "vii" "III" y u', '"I" "v" "IV" u u', "e"],
"w": ['"i" "VII"2 "VI"/4 "V"/4 "i"/4 "VII"2 "VI" "V" w u', "e"],
"x": ['"III/2" "VI"/2 "III"/2 "vii"2 "i"2 "V" u', "e"],
"y": ['"I" "vi"2 "IV" "V" y y u', "e"],
"e": [""]
},
"score": "u x u y x w u",
},
# "bass": {
# "score_line": "i2 %(time)f %(duration)f 7000 %(octave)d.%(note)s 2",
# "octave": 5,
# "grammars": { # Notes for this instrument to use in this piece
# "u": ['"I" "V" "vi" "iii" "IV" "I" "IV" "V" u u' , "e"],
# "e": [""],
# },
# "score": "u u u u u",
# },
},
"b": { # Movement block 'a' for reuse throughout the piece
"melody": { # Instrument 'melody'
"score_line": "i2 %(time)f %(duration)f 7000 %(octave)d.%(note)s 2",
"octave": 8,
"grammars": { # Notes for this instrument to use in this piece
"u": ['I VII V III u', "y", "e"],
"w": ['VII I IV V VI u', 'w w', "e"],
"x": ['VI/4 III/4 II/4 I/4 w', 'x x', "e"],
"y": ["III/4 VI/4 II/4 V/4 VI/4 IV/4 VII2", "e"],
"e": [""],
},
"score": "w w x x w",
},
"rhythm": {
"score_line": "i1 %(time)f %(duration)f 7000 %(octave)d.%(note)s %(octave)d.%(note)s 0 6",
"octave": 7,
"grammars": {
"u": ['"I" "V" "vi" "iii" "IV" "I" "IV" "V" u u', "y", "e"],
"y": ['"I" "vi"2 "IV" "V" y y u', "e"],
"e": [""]
},
"score": "u u y y u",
},
},
}
max_t = 0 # max time encountered so far. Used for movement timing
|
|
|
|
<
|
|
|
|
<
|
|
|
|
<
|
|
<
|
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
composition = {
"a": { # Movement block 'a' for reuse throughout the piece
"melody": { # Instrument 'melody'
"score_line": "i2 %(time)f %(duration)f 7000 %(octave)d.%(note)s 2",
"octave": 8,
"grammars": { # Notes for this instrument to use in this piece
"u": ["I V/2 V/2 V/2 I VII, IV' x u", "I IV w w", "I VII IV u u"],
"w": ['VII I IV V VI u', 'w w'],
"x": ['VI/4 III/4 II/4 I/4 w', 'x x'],
},
"score": "u u u u u",
},
"rhythm": {
"score_line": "i1 %(time)f %(duration)f 7000 %(octave)d.%(note)s %(octave)d.%(note)s 0 6",
"octave": 7,
"grammars": {
"u": ['"I" "ii"/4 "ii"/4 "IV"/2 "V"2 "IV" "ii" x u', '"I" "vii" "III" y u', '"I" "v" "IV" u u'],
"w": ['"i" "VII"2 "VI"/4 "V"/4 "i"/4 "VII"2 "VI" "V" w u'],
"x": ['"III/2" "VI"/2 "III"/2 "vii"2 "i"2 "V" u'],
"y": ['"I" "vi"2 "IV" "V" y y u'],
},
"score": "u x u y x w u",
},
# "bass": {
# "score_line": "i2 %(time)f %(duration)f 7000 %(octave)d.%(note)s 2",
# "octave": 5,
# "grammars": { # Notes for this instrument to use in this piece
# "u": ['"I" "V" "vi" "iii" "IV" "I" "IV" "V" u u' , "e"],
# "e": [""],
# },
# "score": "u u u u u",
# },
},
"b": { # Movement block 'a' for reuse throughout the piece
"melody": { # Instrument 'melody'
"score_line": "i2 %(time)f %(duration)f 7000 %(octave)d.%(note)s 2",
"octave": 8,
"grammars": { # Notes for this instrument to use in this piece
"u": ['I VII V III u', "y"],
"w": ['VII I IV V VI u', 'w w'],
"x": ['VI/4 III/4 II/4 I/4 w', 'x x'],
"y": ["III/4 VI/4 II/4 V/4 VI/4 IV/4 VII2"],
},
"score": "w w x x w",
},
"rhythm": {
"score_line": "i1 %(time)f %(duration)f 7000 %(octave)d.%(note)s %(octave)d.%(note)s 0 6",
"octave": 7,
"grammars": {
"u": ['"I" "V" "vi" "iii" "IV" "I" "IV" "V" u u', "y"],
"y": ['"I" "vi"2 "IV" "V" y y u'],
},
"score": "u u y y u",
},
},
}
max_t = 0 # max time encountered so far. Used for movement timing
|