aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/7.stuff/data-structures/7.sequencer.pd
blob: f270b48ea97f42f990d05ef31e4e9f19620bd4f8 (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
#N struct template-toplevel float x float y float voiceno array pitch
template-pitch array amp template-amp;
#N struct template-pitch float x float y float w;
#N struct template-amp float x float y float w;
#N canvas 467 44 543 446 12;
#N canvas 565 104 524 166 template-toplevel 0;
#X obj 25 86 plot pitch voiceno 3 10 0;
#X obj 25 113 plot amp 0 3 10 0;
#X obj 25 21 struct template-toplevel float x float y float voiceno
array pitch template-pitch array amp template-amp;
#X obj 27 61 filledpolygon 9 9 0 0 -2 0 2 5 2 5 -2;
#X restore 64 197 pd template-toplevel;
#N canvas 0 0 419 102 template-amp 0;
#X obj 15 41 struct template-amp float x float y float w;
#X restore 64 219 pd template-amp;
#N canvas 42 221 452 87 template-pitch 0;
#X obj 21 29 struct template-pitch float x float y float w;
#X restore 66 242 pd template-pitch;
#N canvas 323 50 551 562 synthesis 0;
#X msg 125 220 next;
#X msg 108 172 traverse pd-data \, next;
#X obj 108 250 pointer template-toplevel;
#X obj 108 273 t p p;
#X obj 108 296 get template-toplevel voiceno;
#X obj 108 325 pack 0 p;
#X obj 108 4 inlet;
#X obj 108 33 route start stop;
#X msg 161 54 \; reset bang;
#X obj 298 30 r reset;
#X obj 152 112 s reset;
#X obj 125 194 r next-evt;
#X obj 108 354 route 0 9 90 900 99 909 990;
#X obj 55 372 voice;
#X obj 55 536 outlet~;
#X msg 298 58 \; reset-stop stop \; time-of-last-evt 0 \; pd-data sort
;
#X obj 372 351 s delay-multiplier;
#X obj 375 276 t b f;
#X msg 372 303 1000;
#X obj 389 327 /;
#X obj 375 250 r tempo;
#X obj 108 90 t b b b;
#X msg 130 136 \; pd-data sort;
#X obj 55 395 voice;
#X obj 55 418 voice;
#X obj 55 441 voice;
#X obj 55 465 voice;
#X obj 55 488 voice;
#X obj 55 511 voice;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 5 1;
#X connect 4 0 5 0;
#X connect 5 0 12 0;
#X connect 6 0 7 0;
#X connect 7 0 21 0;
#X connect 7 1 8 0;
#X connect 9 0 15 0;
#X connect 11 0 0 0;
#X connect 12 0 13 1;
#X connect 12 1 23 1;
#X connect 12 2 24 1;
#X connect 12 3 25 1;
#X connect 12 4 26 1;
#X connect 12 5 27 1;
#X connect 12 6 28 1;
#X connect 13 0 23 0;
#X connect 17 0 18 0;
#X connect 17 1 19 1;
#X connect 18 0 19 0;
#X connect 19 0 16 0;
#X connect 20 0 17 0;
#X connect 21 0 1 0;
#X connect 21 1 22 0;
#X connect 21 2 10 0;
#X connect 23 0 24 0;
#X connect 24 0 25 0;
#X connect 25 0 26 0;
#X connect 26 0 27 0;
#X connect 27 0 28 0;
#X connect 28 0 14 0;
#X restore 64 323 pd synthesis;
#X floatatom 278 276 0 0 0 0 - - -;
#X floatatom 92 358 0 0 0 0 - - -;
#N canvas 159 26 495 270 output 0;
#X obj 345 163 t b;
#X obj 345 112 f;
#X obj 345 61 inlet;
#X text 351 30 mute;
#X obj 345 189 f;
#X msg 434 182 0;
#X msg 345 87 bang;
#X obj 345 138 moses 1;
#X obj 434 156 t b f;
#X obj 405 119 moses 1;
#X obj 85 151 dbtorms;
#X obj 405 94 r master-lvl;
#X obj 85 43 r master-lvl;
#X obj 345 214 s master-lvl;
#X obj 22 185 inlet~;
#X obj 203 42 inlet;
#X text 203 18 level;
#X obj 203 102 s master-lvl;
#X msg 98 67 set \$1;
#X obj 98 91 outlet;
#X msg 218 65 \; pd dsp 1;
#X obj 85 198 line~;
#X obj 22 216 *~;
#X obj 22 246 dac~;
#X obj 85 175 pack 0 50;
#X text 20 162 audio;
#X text 95 112 show level;
#X connect 0 0 4 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 4 0 13 0;
#X connect 5 0 13 0;
#X connect 6 0 1 0;
#X connect 7 0 0 0;
#X connect 7 1 8 0;
#X connect 8 0 5 0;
#X connect 9 1 4 1;
#X connect 10 0 24 0;
#X connect 11 0 1 1;
#X connect 11 0 9 0;
#X connect 12 0 10 0;
#X connect 12 0 18 0;
#X connect 14 0 22 0;
#X connect 15 0 17 0;
#X connect 15 0 20 0;
#X connect 18 0 19 0;
#X connect 21 0 22 1;
#X connect 22 0 23 0;
#X connect 22 0 23 1;
#X connect 24 0 21 0;
#X restore 64 380 pd output;
#X msg 122 358 MUTE;
#X msg 64 296 start;
#X msg 115 296 stop;
#N canvas 22 39 471 498 data 1;
#X scalar template-toplevel 3 86 900 \; 0 0 12 \; 10 0 12 \; \; 0 0
0 \; 10 0 2.5 \; 11 0 0 \; \;;
#X scalar template-toplevel 14 80 990 \; 0 0 12 \; 10 0 12 \; \; 0
0 2.5 \; 10 0 2.5 \; 11 0 0 \; \;;
#X scalar template-toplevel 38 43.25 90 \; 0 65 12 \; 100 10 0 \; 100
10 12 \; 230 50 0 \; 230 10 3 \; 240 60 0 \; 240 25 10 \; 250 60 0
\; 250 37 10 \; 260 65 0.5 \; 285 65 0.5 \; \; 1 0 2 \; 103 0 1 \;
195 0 2 \; 220 0 0.75 \; 225 0 1.25 \; 248 0 2.5 \; 251 0 2.25 \; 255
0 0 \; 256 0 1.5 \; 260 0 0 \; 261 0 2 \; 265 0 0 \; 266 0 2.5 \; 270
0 0 \; 271 0 3 \; 275 0 0 \; \;;
#X scalar template-toplevel 64 80 900 \; 0 5 0.25 \; 60 5 0.25 \; \;
0 0 0 \; 28 -0.25 3.5 \; 58 -0.25 0 \; \;;
#X scalar template-toplevel 142 105 900 \; 0 0 12 \; 70 -20 12 \; \;
0 0 0 \; 10 0 2.5 \; 20 0 0 \; 30 0 0 \; 40 0 2.5 \; 50 0 0 \; 60 0
2.5 \; 70 0 0 \; \;;
#X scalar template-toplevel 319 63.5 909 \; 0 0 12 \; 50 0 12 \; \;
0 0 4 \; 10 0 2.5 \; 50 0 0 \; \;;
#X coords 0 124.5 1 124.25 0 0 0;
#X restore 64 176 pd data;
#N canvas 82 467 332 145 stuff 0;
#X msg 1 101 \; pd-data write xx.txt;
#X msg -3 39 \; pd-data read score.txt;
#X obj 208 7 loadbang;
#X msg 208 34 \; tempo 60;
#X msg 198 101 \; pd-data sort;
#X connect 2 0 3 0;
#X restore 65 264 pd stuff;
#X obj 278 229 r tempo;
#X msg 278 252 set \$1;
#X obj 278 300 s tempo;
#X text 13 4 This patch shows an example of how to use data collections
as musical sequences (with apologies to Yuasa and Stockhausen). Here
the black traces show dynamics and the colored ones show pitch. The
fatness of the pitch traces give bandwidth. Any of the three can change
over the life of the event.;
#X text 160 357 <--- volume in dB;
#X text 13 96 To hear the result \, turn the volume up to 70 or so
(higher if it's not loud enough the first time) and hit "start". You
can set the tempo lower if that helps you follow the "score" the first
couple of times.;
#X text 311 276 <--- tempo;
#X text 256 416 Updated for Pd version 0.36;
#X connect 3 0 6 0;
#X connect 4 0 14 0;
#X connect 5 0 6 1;
#X connect 6 0 5 0;
#X connect 7 0 6 2;
#X connect 8 0 3 0;
#X connect 9 0 3 0;
#X connect 12 0 13 0;
#X connect 13 0 4 0;