aboutsummaryrefslogtreecommitdiff
path: root/gemnotes_0.2.3/04_Score_Language.pd
blob: deed57b098958d2e1da150635519c45e458abd0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
#N canvas 112 489 975 535 10;
#X text 35 225 Creation arguments: hemidemisemiquaver size \, stem
length;
#X obj 85 110 tgl 32 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X text 361 106 ^;
#X text 361 113 |;
#X text 373 106 ^;
#X text 373 113 |;
#X text 346 124 1st group;
#X text 437 106 ^;
#X text 437 113 |;
#X text 449 106 ^;
#X text 449 113 |;
#X text 422 124 1st group;
#X msg 780 195 rest 1;
#X msg 665 282 note + 63 1 0 62;
#X text 680 110 a + for the position means "next note";
#X text 701 130 a . for the position means "chord note";
#X obj 626 56 gemwin;
#X msg 653 37 0 \, destroy;
#X obj 836 17 sharpsandflats;
#X floatatom 854 56 5 0 0 0 - - -;
#N canvas 0 22 450 300 cpu_load 0;
#X obj 118 168 cputime;
#X obj 118 28 loadbang;
#X obj 118 112 metro 1000;
#X msg 118 56 1;
#X floatatom 118 84 0 0 0 0 - - -;
#X obj 118 140 t b b;
#X obj 118 228 * 0.1;
#X obj 118 197 int;
#X text 163 84 <-- on/off;
#X obj 121 259 outlet;
#X connect 0 0 7 0;
#X connect 1 0 3 0;
#X connect 2 0 5 0;
#X connect 3 0 4 0;
#X connect 4 0 2 0;
#X connect 5 0 0 0;
#X connect 5 1 0 1;
#X connect 6 0 9 0;
#X connect 7 0 6 0;
#X restore 854 36 pd cpu_load;
#N canvas 0 22 450 300 init 0;
#X obj 48 53 loadbang;
#X obj 48 118 outlet;
#X msg 262 122 1;
#X obj 262 141 outlet;
#X msg 48 84 x -6.6 \, y 3.4 \, z 1.3 \, len 29 \, clef 1 \, r 1 \,
g 0.4 \, b 1;
#X connect 0 0 4 0;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 4 0 1 0;
#X restore 36 126 pd init;
#X msg 147 132 reset;
#X msg 670 301 note + 69 1 1 62;
#X msg 658 263 note + 62 1 0 62;
#X msg 651 242 group 4 16;
#X text 720 242 a beam group can be initiated on-the-fly;
#X msg 688 343 bar 3 6 3 12;
#X msg 128 105 vis;
#X msg 576 110 note + 70 1 0 78;
#X msg 596 130 note . 65 1 0 78;
#X msg 612 150 note + 74 1 0 93;
#X msg 637 192 note + 71 1 0 48;
#X msg 643 213 note + 70 1 1 40;
#X msg 31 68 hdsq \$1;
#X floatatom 31 17 5 0 0 0 - - -;
#X obj 31 33 * 0.001;
#X floatatom 31 52 5 0 0 0 - - -;
#X msg 782 222 rest 2;
#X text 825 195 "rest" duration;
#X msg 22 372 bar 5 8 6 16 4 16;
#X msg 37 443 note 0 48 2 0 64;
#X msg 147 443 note + 51 2 0 64;
#X msg 257 443 note + 54 2 0 64;
#X msg 365 443 note + 56 1 0 72;
#X msg 475 443 note + 57 1 0 72;
#X msg 585 443 note + 61 1 0 72;
#X msg 695 443 note + 63 1 0 72;
#X text 36 395 Notice that the bar itself stays at 5/8 \, but both
the groups are specified in 16th notes. The duration value of each
note is then stated in 16th notes \, thus:;
#X obj 38 505 stave;
#X obj 65 470 tgl 32 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#N canvas 233 567 450 185 init 0;
#X obj 48 53 loadbang;
#X obj 48 117 outlet;
#X msg 277 111 1;
#X obj 277 130 outlet;
#X msg 48 84 x -4.6 \, y 1.3 \, z 1.3 \, len 20 \, clef 2 \, r 0.4
\, g 1 \, b 1;
#X connect 0 0 4 0;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 4 0 1 0;
#X restore 16 486 pd init;
#X obj 22 466 t a;
#X msg 179 473 reset;
#X floatatom 824 448 5 0 100 0 - - -;
#X msg 824 483 r \$1;
#X floatatom 864 448 5 0 100 0 - - -;
#X floatatom 904 448 5 0 100 0 - - -;
#X msg 864 483 g \$1;
#X msg 904 483 b \$1;
#X obj 904 464 * 0.01;
#X obj 864 464 * 0.01;
#X obj 824 464 * 0.01;
#X obj 58 209 makevoice 0.1 0.4;
#X msg 189 505 vis;
#X text 82 5 The hdsq value is the;
#X text 82 16 horizontal size of a;
#X text 82 27 hemidemisemiquaver.;
#X text 184 132 <---start again;
#X text 221 5 "bar" (time \, signature) \, (beamed \, group) \, (beamed
\, group) etc. You can have more than one beamed group \, and when
the last group is rendered it goes back to the first (and when there's
a new bar it resets).;
#X text 36 281 Rhythmic groups work like this. The "bar" message sets
up the time signature and the rhythmic groups within the bar. You can
override this at any time using the "group" message. Groups must be
specified according to the smallest rhythmic value (e.g. 32 \, 16 \,
8) so a bar of 5/8 with groups of 3/8 and 4/16 would be specified in
16ths thus:;
#X text 824 432 Stave colour (RGB);
#X text 151 104 <---show the dynamic patch;
#X msg 697 362 group 5 10;
#X msg 579 16 dimen 1000 400 \, create \, 1;
#X msg 677 320 note + 84 1 1 62;
#X msg 313 145 tempo 118;
#X text 373 146 <--- BPM;
#X text 313 164 You must send "bar" before "tempo";
#X obj 58 145 stave;
#X msg 440 366 dyn 5;
#X msg 437 405 dyn 3 1 2;
#X obj 561 235 s reclock;
#X obj 75 505 makevoice 0.1 0.4;
#X msg 624 170 note + 75 1 0 64 1;
#X text 630 90 "note" position pitch flat/sharp? velocity articulation
;
#X msg 313 90 bar 6 8 3 8;
#X text 336 76 V;
#X text 336 69 |;
#X text 348 76 V;
#X text 348 69 |;
#X text 340 58 time signature;
#X text 412 76 V;
#X text 412 69 |;
#X text 424 76 V;
#X text 424 69 |;
#X text 462 68 |;
#X text 474 68 |;
#X text 474 75 v;
#X text 462 75 v;
#X text 449 56 2nd group (etc);
#X msg 389 90 bar 7 4 6 8 4 8 4 8;
#X msg 516 90 note 0 68 1 0 78;
#X text 769 342 Tuples can be specified as;
#X text 774 355 non-standard time signatures;
#X text 481 358 single dynamic mark;
#X text 483 371 0 = ppp \, 7 = fff;
#X text 503 399 hairpin: [start length end];
#X text 502 411 length is in units specified by beam group;
#X text 424 508 <c> 2012 Edward Kelly \, morph_2016@yahoo.co.uk;
#X text 775 367 or groups (click some notes;
#X text 775 380 to see the tuple);
#X text 82 39 Other sizes are based;
#X text 83 51 on this value.;
#X text 83 64 Can now be changed;
#X text 83 77 in the middle of a score (v0.2);
#X connect 1 0 79 1;
#X connect 12 0 63 1;
#X connect 13 0 63 1;
#X connect 17 0 16 0;
#X connect 20 0 19 0;
#X connect 21 0 79 0;
#X connect 21 1 1 0;
#X connect 22 0 63 1;
#X connect 23 0 63 1;
#X connect 24 0 63 1;
#X connect 25 0 63 1;
#X connect 27 0 63 1;
#X connect 28 0 63 1;
#X connect 29 0 63 1;
#X connect 29 0 82 0;
#X connect 30 0 63 1;
#X connect 30 0 82 0;
#X connect 31 0 63 1;
#X connect 31 0 82 0;
#X connect 32 0 63 1;
#X connect 32 0 82 0;
#X connect 33 0 63 1;
#X connect 33 0 82 0;
#X connect 34 0 63 1;
#X connect 35 0 36 0;
#X connect 36 0 37 0;
#X connect 37 0 34 0;
#X connect 38 0 63 1;
#X connect 40 0 52 0;
#X connect 41 0 83 1;
#X connect 42 0 83 1;
#X connect 43 0 83 1;
#X connect 44 0 83 1;
#X connect 45 0 83 1;
#X connect 46 0 83 1;
#X connect 47 0 83 1;
#X connect 49 0 83 0;
#X connect 50 0 49 1;
#X connect 51 0 49 0;
#X connect 51 1 50 0;
#X connect 52 0 83 1;
#X connect 53 0 83 1;
#X connect 54 0 62 0;
#X connect 55 0 49 0;
#X connect 56 0 61 0;
#X connect 57 0 60 0;
#X connect 58 0 49 0;
#X connect 59 0 49 0;
#X connect 60 0 59 0;
#X connect 61 0 58 0;
#X connect 62 0 55 0;
#X connect 64 0 83 1;
#X connect 73 0 63 1;
#X connect 74 0 16 0;
#X connect 75 0 63 1;
#X connect 76 0 63 1;
#X connect 79 0 63 0;
#X connect 80 0 63 1;
#X connect 81 0 63 1;
#X connect 84 0 63 1;
#X connect 84 0 82 0;
#X connect 86 0 63 1;
#X connect 101 0 63 1;
#X connect 102 0 63 1;
#X connect 102 0 82 0;