-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmemoryMachine.pd
More file actions
410 lines (410 loc) · 12.2 KB
/
memoryMachine.pd
File metadata and controls
410 lines (410 loc) · 12.2 KB
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
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
#N canvas 470 222 932 650 12;
#N canvas 16 41 1386 831 guts 1;
#X obj 744 867 *~;
#X obj 787 870 *~;
#X obj 755 928 dac~;
#N canvas 329 161 625 417 vu 0;
#X obj 59 129 env~ 1024;
#X obj 161 111 abs~;
#X obj 161 213 snapshot~;
#X obj 161 256 rmstodb;
#X obj 161 21 inlet~;
#X obj 161 288 - 100;
#X obj 59 287 - 100;
#X obj 59 361 outlet;
#X obj 161 361 outlet;
#X text 344 307 Check the help file of env~ and slop~ for more details., f 31;
#X obj 239 89 expr 1000 / $f1;
#X floatatom 239 117 5 0 0 0 - - - 0;
#X obj 161 146 slop~ 0 0 0 0 1e+09;
#X obj 239 18 inlet;
#X floatatom 239 57 5 0 0 0 - - - 0;
#X text 359 89 convert to hz;
#X text 282 118 hz;
#X text 284 57 peak decay time in ms;
#X obj 59 171 t f b;
#X text 345 132 The env~ object is dedicated to RMS analysis. Its output is in dB (0-100 range \, pd style) but needs to be converted to dBFS (and we do that by simply subtracting 100)., f 31;
#X text 345 225 The slop~ object is used here for peak detection. We need to convert the output to dB with rmstodb and also subtract by 100 to convert it to dBFS., f 31;
#X connect 0 0 18 0;
#X connect 1 0 12 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 8 0;
#X connect 6 0 7 0;
#X connect 10 0 11 0;
#X connect 11 0 12 3;
#X connect 12 0 2 0;
#X connect 13 0 14 0;
#X connect 14 0 10 0;
#X connect 18 0 6 0;
#X connect 18 1 2 0;
#X restore 802 915 pd vu;
#N canvas 329 161 625 417 vu 0;
#X obj 59 129 env~ 1024;
#X obj 161 111 abs~;
#X obj 161 213 snapshot~;
#X obj 161 256 rmstodb;
#X obj 161 21 inlet~;
#X obj 161 288 - 100;
#X obj 59 287 - 100;
#X obj 59 361 outlet;
#X obj 161 361 outlet;
#X text 344 307 Check the help file of env~ and slop~ for more details., f 31;
#X obj 239 89 expr 1000 / $f1;
#X floatatom 239 117 5 0 0 0 - - - 0;
#X obj 161 146 slop~ 0 0 0 0 1e+09;
#X obj 239 18 inlet;
#X floatatom 239 57 5 0 0 0 - - - 0;
#X text 359 89 convert to hz;
#X text 282 118 hz;
#X text 284 57 peak decay time in ms;
#X obj 59 171 t f b;
#X text 345 132 The env~ object is dedicated to RMS analysis. Its output is in dB (0-100 range \, pd style) but needs to be converted to dBFS (and we do that by simply subtracting 100)., f 31;
#X text 345 225 The slop~ object is used here for peak detection. We need to convert the output to dB with rmstodb and also subtract by 100 to convert it to dBFS., f 31;
#X connect 0 0 18 0;
#X connect 1 0 12 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 8 0;
#X connect 6 0 7 0;
#X connect 10 0 11 0;
#X connect 11 0 12 3;
#X connect 12 0 2 0;
#X connect 13 0 14 0;
#X connect 14 0 10 0;
#X connect 18 0 6 0;
#X connect 18 1 2 0;
#X restore 871 916 pd vu;
#X obj 122 757 loadbang;
#X msg 122 781 \; pd dsp 1;
#X obj 864 831 r \$0-main_volume;
#X obj 800 954 s \$0-vu-L;
#X obj 884 956 s \$0-vu-R;
#X obj 141 208 sampleSelector \$0;
#X obj 256 107 s \$0-numsounds;
#X obj 385 225 r \$0-counterbang;
#X obj 384 295 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X floatatom 430 374 5 0 0 0 - - - 0;
#X msg 383 327 1;
#X obj 383 351 +;
#X floatatom 383 375 5 0 0 0 - - - 0;
#X obj 383 398 %;
#X obj 430 350 r \$0-numsounds;
#X obj 384 472 s \$0-nextsound;
#X obj 158 600 +~ 1;
#X obj 158 648 snapshot~;
#X obj 271 571 metro 50;
#X obj 290 424 loadbang;
#X floatatom 158 672 5 0 0 0 - - - 0;
#X obj 158 576 osc~ 0.005;
#X obj 158 624 /~ 4;
#X obj 133 389 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X floatatom 130 523 15 0 0 0 - - - 0;
#X obj 212 448 random 100;
#X obj 212 472 / 100;
#X msg 164 359 seed \$1;
#X obj 158 727 s \$0-main_volume_rcv;
#X floatatom 196 286 5 0 0 0 - - - 0;
#X obj 148 327 t b f;
#X floatatom 179 451 5 0 0 0 - - - 0;
#X obj 133 420 random 1000;
#X obj 133 444 + 200;
#X obj 134 474 / 100000;
#X obj 196 309 * 0.7;
#X obj 689 991 throw~ outputL;
#X obj 795 992 throw~ outputR;
#X obj 131 37 r folder-numsounds;
#X obj 890 229 r folder-id;
#X msg 650 495 stop;
#X obj 1236 595 s \$0-channels;
#X obj 1029 498 soundfiler;
#X floatatom 1030 522 12 0 0 0 - - - 0;
#X obj 1124 522 unpack 0 0 0 0 s, f 27;
#X floatatom 1105 553 11 0 0 0 - - - 0;
#X floatatom 1191 554 5 0 0 0 - - - 0;
#X floatatom 1252 554 5 0 0 0 - - - 0;
#X obj 1039 575 /;
#X floatatom 1039 599 10 0 0 0 - - - 0;
#X obj 1046 634 * 1000;
#X obj 1046 658 s \$0-lengthms;
#X obj 663 645 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 665 679 t b b;
#X obj 902 118 bng 19 250 50 0 \$0-stop_all empty stop\ all 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 754 489 r \$0-random_offset;
#X msg 572 502 start;
#X obj 682 541 pack s f;
#X obj 391 763 nbx 5 17 -1e+37 1e+37 0 0 empty \$0-random_offset offset 0 -10 0 12 #fcfcfc #000000 #000000 0 256;
#X obj 389 808 nbx 6 17 -1e+37 1e+37 0 0 empty \$0-lengthms sound\ length 0 -10 0 12 #fcfcfc #000000 #000000 0 256;
#X obj 390 850 nbx 5 17 -1e+37 1e+37 0 0 empty \$0-playlength max\ length 0 -10 0 12 #fcfcfc #000000 #000000 0 256;
#X obj 754 513 * 44.1;
#X obj 659 717 s \$0-new_sound;
#X obj 768 719 s \$0-stop_delay;
#X obj 650 448 r \$0-stop_all;
#X obj 753 141 r \$0-new_sound;
#X obj 728 111 bng 19 250 50 0 empty \$3-startall start\ playback 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 717 65 inlet;
#X obj 745 180 outlet;
#X obj 878 79 r stop_all;
#X obj 851 655 ys.panning;
#X obj 643 811 *~;
#X obj 711 807 *~;
#X obj 855 629 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 861 597 / 100;
#X floatatom 684 314 5 0 0 0 - - - 0;
#X floatatom 892 256 5 0 0 0 - - - 0;
#X msg 883 296 symbol \$1-dirfiles;
#X obj 668 412 t b b s b s b, f 40;
#X obj 698 241 i;
#X obj 695 214 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X floatatom 685 267 5 0 0 0 - - - 0;
#X obj 599 611 readsf~;
#X msg 239 929 seed \$1;
#X obj 939 652 s current_pan;
#X msg 1025 472 read \$1;
#X msg 618 574 open \$1 \$2;
#X floatatom 273 1056 5 0 0 0 - - - 0;
#X obj 308 931 r \$0-lengthms;
#X obj 308 955 t b f;
#X obj 273 1008 random 1000;
#X obj 273 1032 / 1000;
#X obj 285 1211 *;
#X obj 361 1167 r \$0-lengthms;
#X floatatom 285 1235 18 0 0 0 - - - 0;
#X obj 282 1166 *;
#X floatatom 378 1069 10 0 0 0 - - - 0;
#X obj 384 1035 hsl 162 19 0 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 378 1092 + 0.01;
#X obj 424 1246 -;
#X obj 442 1215 t b f;
#X floatatom 424 1270 8 0 0 0 - - - 0;
#X obj 442 1299 t b f;
#X floatatom 426 1415 16 0 0 0 - - - 0;
#X obj 426 1438 s \$0-random_offset;
#X obj 248 1309 delay;
#X obj 282 1360 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X msg 52 1228 stop;
#X obj 45 1203 r \$0-stop_delay;
#X obj 282 1382 s \$0-new_sound;
#X obj 288 1271 s \$0-playlength;
#X obj 459 898 r length_random;
#X text 181 1168 end % length;
#X text 177 1071 max possible % length;
#X text 210 1235 ms length;
#X obj 317 1125 t b f;
#X obj 685 293 tabread \$0-sample_selector;
#X floatatom 374 80 5 0 0 0 - - - 0;
#X text 130 309 why?? ->;
#X obj 720 204 r \$0-nextsound;
#X obj 688 340 text get;
#X obj 713 387 s \$0-selected_sound;
#X obj 990 438 s \$0-counterbang;
#X obj 374 52 i \$1;
#X obj 374 24 loadbang;
#X obj 389 193 s \$0-localSeed;
#X obj 444 23 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 237 898 r \$0-localSeed;
#X obj 922 524 r \$0-localSeed;
#X obj 490 1316 r \$0-localSeed;
#X obj 194 257 r \$0-localSeed;
#X obj 908 498 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X msg 922 548 seed \$1;
#X obj 861 573 random 100;
#X msg 490 1340 seed \$1;
#X obj 426 1391 random;
#X text 714 686 also triggers next sound at end of sample;
#X obj 459 922 * 50;
#X obj 459 946 i;
#X obj 459 970 change;
#X obj 459 994 / 50;
#X obj 752 264 nbx 5 17 -1e+37 1e+37 0 1 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 27 256;
#X text 201 673 max intensity. for some reason this is set to max .5? this is probably a good idea but the exact value is not really based on any evidence;
#X floatatom 387 427 5 0 0 0 - - - 0;
#X obj 381 116 +;
#X obj 466 49 r seedOffset;
#X obj 466 73 t b b f;
#X obj 310 151 t b f;
#X obj 164 1205 r stop_all;
#X obj 604 63 r start_all;
#X connect 0 0 2 0;
#X connect 0 0 3 0;
#X connect 0 0 41 0;
#X connect 1 0 2 1;
#X connect 1 0 4 0;
#X connect 1 0 42 0;
#X connect 3 0 8 0;
#X connect 4 0 9 0;
#X connect 5 0 6 0;
#X connect 7 0 1 1;
#X connect 7 0 0 1;
#X connect 12 0 13 0;
#X connect 13 0 15 0;
#X connect 14 0 18 1;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 16 1;
#X connect 17 0 18 0;
#X connect 18 0 148 0;
#X connect 19 0 14 0;
#X connect 21 0 27 0;
#X connect 22 0 25 0;
#X connect 23 0 22 0;
#X connect 24 0 23 0;
#X connect 24 0 28 0;
#X connect 25 0 33 0;
#X connect 26 0 21 0;
#X connect 27 0 22 0;
#X connect 28 0 30 0;
#X connect 28 0 37 0;
#X connect 29 0 26 0;
#X connect 30 0 31 0;
#X connect 31 0 26 1;
#X connect 32 0 30 0;
#X connect 32 0 37 0;
#X connect 34 0 40 0;
#X connect 35 0 28 0;
#X connect 35 1 32 0;
#X connect 37 0 36 0;
#X connect 37 0 38 0;
#X connect 38 0 39 0;
#X connect 39 0 29 0;
#X connect 40 0 35 0;
#X connect 43 0 11 0;
#X connect 43 0 10 0;
#X connect 44 0 81 0;
#X connect 45 0 87 0;
#X connect 47 0 48 0;
#X connect 47 1 49 0;
#X connect 48 0 53 0;
#X connect 49 0 50 0;
#X connect 49 1 51 0;
#X connect 49 2 52 0;
#X connect 50 0 53 1;
#X connect 52 0 46 0;
#X connect 53 0 54 0;
#X connect 54 0 55 0;
#X connect 55 0 56 0;
#X connect 57 0 58 0;
#X connect 58 0 67 0;
#X connect 58 1 68 0;
#X connect 60 0 66 0;
#X connect 61 0 87 0;
#X connect 62 0 91 0;
#X connect 66 0 62 1;
#X connect 69 0 45 0;
#X connect 70 0 73 0;
#X connect 70 0 85 0;
#X connect 71 0 73 0;
#X connect 71 0 85 0;
#X connect 72 0 71 0;
#X connect 74 0 59 0;
#X connect 75 0 76 1;
#X connect 75 1 77 1;
#X connect 76 0 0 0;
#X connect 77 0 1 0;
#X connect 78 0 75 0;
#X connect 78 0 89 0;
#X connect 79 0 78 0;
#X connect 80 0 125 0;
#X connect 81 0 82 0;
#X connect 82 0 125 3;
#X connect 83 0 61 0;
#X connect 83 2 62 0;
#X connect 83 3 45 0;
#X connect 83 3 136 0;
#X connect 83 3 138 0;
#X connect 83 4 90 0;
#X connect 83 5 127 0;
#X connect 84 0 146 0;
#X connect 85 0 84 0;
#X connect 86 0 121 0;
#X connect 87 0 76 0;
#X connect 87 0 77 0;
#X connect 87 1 57 0;
#X connect 88 0 95 0;
#X connect 90 0 47 0;
#X connect 91 0 87 0;
#X connect 92 0 100 0;
#X connect 93 0 94 0;
#X connect 94 0 95 0;
#X connect 94 1 104 0;
#X connect 95 0 96 0;
#X connect 96 0 92 0;
#X connect 97 0 99 0;
#X connect 98 0 97 1;
#X connect 99 0 105 0;
#X connect 99 0 110 0;
#X connect 99 0 115 0;
#X connect 100 0 97 0;
#X connect 101 0 103 0;
#X connect 102 0 101 0;
#X connect 103 0 120 0;
#X connect 104 0 106 0;
#X connect 105 0 104 0;
#X connect 105 1 104 1;
#X connect 106 0 107 0;
#X connect 107 0 140 0;
#X connect 107 1 140 1;
#X connect 108 0 109 0;
#X connect 110 0 111 0;
#X connect 111 0 114 0;
#X connect 112 0 110 0;
#X connect 113 0 112 0;
#X connect 116 0 142 0;
#X connect 120 0 100 0;
#X connect 120 1 100 1;
#X connect 121 0 80 0;
#X connect 122 0 149 0;
#X connect 124 0 84 1;
#X connect 125 0 83 0;
#X connect 125 0 126 0;
#X connect 128 0 122 0;
#X connect 129 0 128 0;
#X connect 131 0 128 0;
#X connect 132 0 88 0;
#X connect 133 0 137 0;
#X connect 134 0 139 0;
#X connect 135 0 34 0;
#X connect 137 0 138 0;
#X connect 138 0 79 0;
#X connect 139 0 140 0;
#X connect 140 0 108 0;
#X connect 142 0 143 0;
#X connect 143 0 144 0;
#X connect 144 0 145 0;
#X connect 145 0 102 0;
#X connect 146 0 121 0;
#X connect 148 0 20 0;
#X connect 149 0 130 0;
#X connect 149 0 152 0;
#X connect 150 0 151 0;
#X connect 151 1 149 0;
#X connect 151 2 149 1;
#X connect 152 0 71 0;
#X connect 152 1 10 1;
#X connect 153 0 112 0;
#X connect 154 0 71 0;
#X restore 287 285 pd guts;
#X obj 42 56 vsl 40 162 0 1 0 1 \$0-main_volume \$0-main_volume_rcv volume 0 -9 0 12 #feffc6 #000000 #000000 2539 1;
#X obj 90 58 vu 8 160 \$0-vu-L empty 20 10 1 24 #404040 #000000 0 0;
#X obj 104 58 vu 8 160 \$0-vu-R empty 20 10 1 24 #404040 #000000 0 0;
#X msg 35 305 \; pd dsp 1;
#X obj 30 258 loadbang;
#X obj 290 93 inlet;
#X floatatom 290 117 5 0 0 0 - - - 0;
#X obj 283 188 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 283 164 >= \$1;
#X obj 288 243 switch~;
#X obj 29 373 r \$0-selected_sound;
#X symbolatom 30 419 84 0 0 0 - - - 0;
#X obj 73 502 print;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 10 0;
#X connect 9 0 8 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;