-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbop.sampler.pd
495 lines (495 loc) Β· 13.8 KB
/
bop.sampler.pd
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
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
#N canvas 169 23 1341 983 10;
#X obj 100 120 cnv 15 210 20 empty empty empty 7 7 0 14 #94c4ec #fcfcfc
0;
#X obj 1000 100 inlet~ left;
#X obj 1140 100 inlet~ right;
#X obj 1240 100 inlet note;
#X obj 1540 100 inlet ctl;
#X obj 1000 300 outlet~ left;
#X obj 1140 300 outlet~ right;
#X obj 1240 390 outlet note;
#X obj 1540 300 outlet ctl;
#X obj 110 160 hsl 185 35 0 1 0 0 from-play-slider-\$0 to-play-slider-\$0
empty 5 5 0 10 #fcfcfc #000000 #000000 18400 1;
#X symbolatom 130 130 19 0 0 1 filepath to-filepath-#0 from-filepath-#0
, f 19;
#X obj 110 220 bng 15 250 50 0 from-go-\$0 to-go-\$0 go 20 5 0 10 #fcfcfc
#000000 #000000;
#N canvas 0 22 450 300 (subpatch) 0;
#X array sample-\$0 443743 float 0 black #94c4ec;
#X coords 0 1 443742 -1 190 35 1;
#X restore 110 160 graph;
#X obj 110 130 bng 15 250 50 0 from-open-\$0 to-open-\$0 empty 20 5
0 10 #fcfcfc #000000 #000000;
#X obj 1260 290 t b f;
#X obj 1697 358 cyclone/prepend set;
#X obj 1670 320 t b s;
#X obj 1560 240 s to-go-\$0;
#X obj 1260 360 s to-go-\$0;
#X obj 1290 330 s pitch-\$0;
#X obj 1320 290 s volume-\$0;
#X obj 1667 398 s to-filepath-\$0;
#X obj 500 340 savestate, f 11;
#X text 570 360 π bangs when parent is saved;
#X obj 500 100 r save-state-\$0;
#X obj 560 380 s save-state-\$0;
#X obj 540 120 r from-filepath-\$0;
#X obj 500 140 symbol;
#X obj 500 680 s to-filepath-\$0;
#X obj 1090 980 soundfiler;
#X obj 1840 1071 *~;
#X obj 900 730 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
#000000 #000000;
#X obj 900 760 openpanel;
#X floatatom 1090 1010 15 0 0 0 - - -, f 15;
#X obj 1840 880 *~;
#X obj 1460 1200 f;
#X obj 1840 770 line~;
#X obj 1570 690 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
#000000 #000000;
#X msg 1460 1480 1 \$1;
#X obj 1460 1230 t f b, f 26;
#X obj 1460 1440 * 1;
#X obj 1860 1040 line;
#X obj 1860 980 / 127;
#X msg 1860 1010 \$1 5;
#X obj 900 700 r from-open-\$0;
#X obj 900 790 s to-filepath-\$0;
#X obj 1090 1040 s sample-size-\$0;
#X obj 1570 660 r from-go-\$0;
#X obj 1480 1340 r pitch-\$0;
#X obj 1860 840 r sample-size-\$0;
#X obj 1890 800 s to-play-slider-\$0;
#X obj 1840 910 tabread4~ sample-\$0;
#X obj 1860 940 r volume-\$0;
#X obj 1840 1230 s~ to-out-\$0;
#X obj 1050 140 r~ to-out-\$0;
#X obj 1140 230 +~;
#X obj 1000 230 +~;
#X obj 1890 770 line;
#X obj 1460 1520 s to-line-\$0;
#X obj 1610 1320 s to-line-\$0;
#X obj 1840 710 r to-line-\$0;
#X obj 1260 250 unpack 60 127;
#X obj 180 220 hsl 90 15 -1 1 0 1 from-tune-\$0 to-tune-\$0 tune:0
5 5 0 10 #fcfcfc #000000 #000000 4450 1;
#X obj 550 140 r from-tune-\$0;
#X obj 1720 320 s to-tune-\$0;
#X msg 550 630 0;
#X obj 530 660 s to-tune-\$0;
#X obj 1530 1360 r from-tune-\$0;
#X obj 180 240 hsl 90 15 -12 12 0 1 from-transpose-\$0 to-transpose-\$0
transpose:0 5 5 0 10 #fcfcfc #000000 #000000 4450 1;
#X obj 580 160 r from-transpose-\$0;
#X obj 1770 290 s to-transpose-\$0;
#X obj 1580 1380 r from-transpose-\$0;
#X obj 280 220 bng 15 250 50 0 from-reset-tune-\$0 empty empty 17 7
0 10 #fcfcfc #000000 #000000;
#X obj 550 610 r from-reset-tune-\$0;
#X obj 280 240 bng 15 250 50 0 from-reset-transpose-\$0 empty empty
17 7 0 10 #fcfcfc #000000 #000000;
#X msg 570 560 0;
#X obj 570 540 r from-reset-transpose-\$0;
#X obj 560 590 s to-transpose-\$0;
#X obj 50 560 r from-tune-\$0;
#X obj 50 780 r from-transpose-\$0;
#X obj 50 620 s to-tune-\$0;
#X obj 50 880 s to-transpose-\$0;
#X obj 1877 1132 line~;
#X obj 1840 1160 *~;
#X obj 1570 720 t b b, f 18;
#N canvas 0 22 1538 787 calculate-pitch 0;
#X obj 40 390 expr pow(2 \, $f1/12);
#X obj 40 240 * -1;
#X obj 40 210 - 60;
#X obj 40 300 -, f 17;
#X obj 40 360 -, f 27;
#X obj 200 330 int;
#X obj 170 80 t b f;
#X obj 40 180 f, f 6;
#X obj 40 80 t b f, f 6;
#X obj 110 80 t b f;
#X obj 40 30 inlet;
#X obj 110 30 inlet;
#X obj 170 30 inlet;
#X obj 40 420 outlet;
#X connect 0 0 13 0;
#X connect 1 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 4 0;
#X connect 4 0 0 0;
#X connect 5 0 4 1;
#X connect 6 0 7 0;
#X connect 6 1 5 0;
#X connect 7 0 2 0;
#X connect 8 0 7 0;
#X connect 8 1 7 1;
#X connect 9 0 7 0;
#X connect 9 1 3 1;
#X connect 10 0 8 0;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X restore 1480 1410 pd calculate-pitch;
#X obj 110 200 hsl 185 15 0 1 0 1 from-start-position-\$0 to-start-position-\$0
start-position:0 5 5 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 600 180 r from-start-position-\$0;
#X obj 580 520 s to-start-position-\$0;
#X obj 50 670 r from-start-position-\$0;
#X obj 50 730 s to-start-position-\$0;
#X obj 1830 260 s to-start-position-\$0;
#X obj 1630 1240 r from-start-position-\$0;
#X obj 1610 1280 f 0;
#X obj 900 1260 s sample-duration-\$0;
#X obj 1470 1170 r sample-duration-\$0;
#X obj 900 1100 r from-start-position-\$0;
#X obj 900 1230 expr $f1/44100 * 1000;
#X obj 1020 1130 r sample-size-\$0;
#X obj 900 1160 expr $f2 - ($f1 * $f2);
#X floatatom 900 1200 7 0 0 0 - - -, f 7;
#X obj 1180 980 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
#000000 #000000;
#X text 1050 1160 subtract normalised sample start from number of samples
to get adjusted length of sample ( will need to do the same for end
point), f 38;
#X obj 1050 165 hip~ 5;
#X obj 1050 190 clip~ -1 2;
#X obj 1570 780 t b b;
#X text 1690 770 declick;
#X obj 1600 850 s to-declick-\$0;
#X obj 1880 1100 r to-declick-\$0;
#X msg 1670 810 0 20;
#X msg 1600 810 1 20;
#X obj 1570 750 delay 20;
#X obj 110 240 tgl 15 1 from-pedal-\$0 to-pedal-\$0 pedal 20 5 0 10
#fcfcfc #000000 #000000 1 1;
#X obj 1560 160 route go bang filepath tune transpose start-position
sustain, f 64;
#N canvas 0 22 450 300 sustain 0;
#X obj 50 170 stripnote;
#X obj 50 190 pack;
#X obj 100 80 + 1;
#X obj 10 130 gate 2, f 7;
#X obj 100 30 inlet;
#X obj 50 30 inlet;
#X obj 10 250 outlet;
#X connect 0 0 1 0;
#X connect 0 1 1 1;
#X connect 1 0 6 0;
#X connect 2 0 3 0;
#X connect 3 0 6 0;
#X connect 3 1 0 0;
#X connect 4 0 2 0;
#X connect 5 0 3 1;
#X restore 1260 220 pd sustain;
#X obj 610 200 r from-pedal-\$0;
#X obj 600 500 s to-pedal-\$0;
#X obj 1380 160 r from-pedal-\$0;
#X obj 1880 230 s to-pedal-\$0;
#X msg 50 840 label transpose:\$1;
#X obj 50 810 int;
#X msg 50 700 label start-position:\$1;
#X msg 50 590 label tune:\$1;
#X msg 1090 930 read -resize \$1 sample-\$2;
#X obj 1090 900 pack s \$0;
#X obj 900 820 r from-filepath-\$0;
#X obj 900 940 s to-start-position-\$0;
#X obj 990 900 s to-tune-\$0;
#X obj 950 920 s to-transpose-\$0;
#X obj 900 850 t b s, f 32;
#X obj 1280 130 loadbang;
#X obj 1280 160 t 0 127, f 8;
#X msg 1280 190 60 \$1;
#X obj 110 260 tgl 15 1 from-loop-\$0 to-loop-\$0 loop 20 5 0 10 #fcfcfc
#000000 #000000 0 1;
#X obj 180 280 hsl 115 15 0 5.9 0 1 from-units-\$0 to-units-\$0 units:4(beats)
6 6 0 10 #fcfcfc #000000 #000000 8299 1;
#X obj 2050 230 s to-duration-\$0;
#X obj 1990 260 s to-units-\$0;
#N canvas 838 244 451 331 tick-calculator 0;
#X obj 73 -159 i;
#X msg 73 -39 list ticks 16ths 12ths 8ths beats bars, f 18;
#X obj 73 17 cyclone/zl nth, f 21;
#X obj 73 -69 t b f, f 21;
#X obj 73 -99 + 1;
#X text 230 -35 todo: calculate bars according to time signature,
f 17;
#X obj 217 17 cyclone/zl nth, f 21;
#X obj 217 -99 t b f, f 21;
#X msg 217 -69 1 6 8 12 24 96, f 18;
#X obj 216 106 *;
#X obj 229 70 t b f;
#X obj 72 -193 inlet;
#X obj 238 38 inlet;
#X obj 70 160 outlet;
#X obj 214 160 outlet;
#X obj 70 70 symbol;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 2 0 15 0;
#X connect 3 0 1 0;
#X connect 3 1 2 1;
#X connect 4 0 3 0;
#X connect 4 0 7 0;
#X connect 6 0 9 0;
#X connect 7 0 8 0;
#X connect 7 1 6 1;
#X connect 8 0 6 0;
#X connect 9 0 14 0;
#X connect 10 0 9 0;
#X connect 10 1 9 1;
#X connect 11 0 0 0;
#X connect 12 0 10 0;
#X connect 15 0 13 0;
#X restore 83 997 pd tick-calculator;
#X obj 50 930 r from-units-\$0;
#X obj 190 960 r from-duration-\$0;
#X obj 190 1030 s duration-ticks-\$0;
#X obj 50 1120 s to-units-\$0;
#X obj 180 260 nbx 12 15 1 1e+37 0 1 from-duration-\$0 to-duration-\$0
duration 50 6 0 10 #fcfcfc #000000 #000000 1 256 0;
#X obj 48 960 t f f;
#X obj 50 1030 pack f s;
#X msg 50 1090 label units:\$1(\$2);
#X obj 50 1060 list;
#X obj 50 1000 i;
#X obj 1990 200 route units duration;
#X obj 630 240 r from-units-\$0;
#X obj 640 260 r from-duration-\$0;
#X obj 640 440 s duration-ticks-\$0;
#X obj 630 460 s to-units-\$0;
#X obj 620 220 r from-loop-\$0;
#X obj 610 480 s from-loop-\$0;
#X obj 500 290 pack s f f f f f f f, f 24;
#X obj 500 410 unpack s f f f f f f f, f 24;
#X obj 390 958 i;
#X obj 390 929 spigot;
#X obj 390 1016 change;
#X obj 390 1045 sel 0;
#X obj 390 987 %;
#X text 510 750 β° RETRIGGER OFF OF TICKS % DURATIONπ;
#X obj 420 900 r from-loop-\$0;
#X obj 430 950 r duration-ticks-\$0;
#X obj 390 880 route ticks;
#X obj 390 1070 s to-go-\$0;
#X obj 690 940 route bpm;
#X obj 690 970 change;
#X obj 690 1040 * 24;
#X obj 690 1174 t b f;
#X obj 670 790 r duration-ticks-\$0;
#X obj 670 1320 s loop-duration-ms-\$0;
#X obj 1460 860 gate 2, f 19;
#X obj 1460 780 r from-loop-\$0;
#X obj 1460 830 + 1;
#X text 1330 900 play pitched note π;
#X text 1590 900 π play loop, f 16;
#X obj 1590 940 r loop-duration-ms-\$0;
#X msg 1570 1100 1 \$1;
#X obj 1570 1130 s to-line-\$0;
#X floatatom 1570 970 13 0 0 0 - - -, f 13;
#X floatatom 670 1290 15 0 0 0 - - -, f 15;
#X obj 1570 1000 t f b, f 7;
#X obj 1610 1100 s to-line-\$0;
#X obj 1630 1030 r from-start-position-\$0;
#X obj 1610 1060 f 0;
#X obj 760 940 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
#000000 #000000;
#X obj 690 1144 /;
#X obj 690 1094 t b f;
#X msg 690 1119 1;
#X obj 670 1214 *;
#X text 720 1144 seconds per tick;
#X floatatom 490 1040 5 0 0 0 - - -, f 5;
#X obj 690 1000 / 60;
#X text 720 1040 ticks per second;
#X text 720 1000 beats per second;
#X obj 670 1250 * 1000;
#X obj 780 73 loadbang;
#X obj 780 130 s \$0-scope-id;
#X obj 781 157 r \$0-scope-id;
#X obj 777 95 \$1;
#X obj 780 190 print sampler scope-id;
#X obj 385 803 r bop-time;
#X obj 390 850 route;
#X obj 415 823 r \$0-scope-id;
#X obj 690 830 r bop-time;
#X obj 690 890 route;
#X obj 715 863 r \$0-scope-id;
#X obj 700 60 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000;
#X connect 1 0 56 0;
#X connect 2 0 55 0;
#X connect 3 0 7 0;
#X connect 3 0 114 0;
#X connect 4 0 8 0;
#X connect 4 0 113 0;
#X connect 14 0 18 0;
#X connect 14 1 19 0;
#X connect 15 0 21 0;
#X connect 16 0 21 0;
#X connect 16 1 15 0;
#X connect 22 0 156 0;
#X connect 22 1 25 0;
#X connect 24 0 27 0;
#X connect 26 0 27 1;
#X connect 27 0 155 0;
#X connect 29 0 33 0;
#X connect 30 0 83 0;
#X connect 31 0 32 0;
#X connect 32 0 45 0;
#X connect 33 0 46 0;
#X connect 34 0 51 0;
#X connect 35 0 39 0;
#X connect 36 0 34 0;
#X connect 37 0 84 0;
#X connect 38 0 58 0;
#X connect 39 0 40 0;
#X connect 39 1 93 0;
#X connect 40 0 38 0;
#X connect 41 0 30 1;
#X connect 42 0 43 0;
#X connect 43 0 41 0;
#X connect 44 0 31 0;
#X connect 47 0 37 0;
#X connect 48 0 85 0;
#X connect 49 0 34 1;
#X connect 51 0 30 0;
#X connect 52 0 42 0;
#X connect 54 0 103 0;
#X connect 55 0 6 0;
#X connect 56 0 5 0;
#X connect 57 0 50 0;
#X connect 60 0 36 0;
#X connect 60 0 57 0;
#X connect 61 0 14 0;
#X connect 61 1 20 0;
#X connect 63 0 155 1;
#X connect 65 0 66 0;
#X connect 67 0 85 1;
#X connect 69 0 155 2;
#X connect 71 0 85 2;
#X connect 73 0 65 0;
#X connect 75 0 77 0;
#X connect 76 0 75 0;
#X connect 78 0 122 0;
#X connect 79 0 120 0;
#X connect 82 0 83 1;
#X connect 83 0 53 0;
#X connect 84 0 111 0;
#X connect 84 1 109 0;
#X connect 85 0 40 1;
#X connect 87 0 155 3;
#X connect 89 0 121 0;
#X connect 92 0 93 1;
#X connect 93 0 59 0;
#X connect 95 0 35 1;
#X connect 96 0 99 0;
#X connect 97 0 94 0;
#X connect 98 0 99 1;
#X connect 99 0 100 0;
#X connect 100 0 97 0;
#X connect 101 0 33 0;
#X connect 103 0 104 0;
#X connect 104 0 56 1;
#X connect 104 0 55 1;
#X connect 105 0 173 1;
#X connect 105 1 110 0;
#X connect 108 0 82 0;
#X connect 109 0 107 0;
#X connect 110 0 107 0;
#X connect 111 0 105 0;
#X connect 113 0 17 0;
#X connect 113 1 17 0;
#X connect 113 2 16 0;
#X connect 113 3 64 0;
#X connect 113 4 70 0;
#X connect 113 5 91 0;
#X connect 113 6 118 0;
#X connect 113 7 148 0;
#X connect 114 0 61 0;
#X connect 115 0 155 4;
#X connect 117 0 114 1;
#X connect 119 0 81 0;
#X connect 120 0 119 0;
#X connect 121 0 90 0;
#X connect 122 0 80 0;
#X connect 123 0 29 0;
#X connect 124 0 123 0;
#X connect 125 0 129 0;
#X connect 129 0 126 0;
#X connect 129 0 128 0;
#X connect 129 0 127 0;
#X connect 129 1 124 0;
#X connect 130 0 131 0;
#X connect 131 0 132 0;
#X connect 131 1 132 0;
#X connect 132 0 114 0;
#X connect 137 0 144 1;
#X connect 137 1 140 0;
#X connect 138 0 143 0;
#X connect 139 0 137 1;
#X connect 143 0 147 0;
#X connect 143 1 137 0;
#X connect 144 0 146 0;
#X connect 145 0 141 0;
#X connect 146 0 145 0;
#X connect 147 0 144 0;
#X connect 148 0 136 0;
#X connect 148 1 135 0;
#X connect 149 0 155 6;
#X connect 150 0 155 7;
#X connect 153 0 155 5;
#X connect 155 0 22 0;
#X connect 156 0 28 0;
#X connect 156 1 66 0;
#X connect 156 2 77 0;
#X connect 156 3 88 0;
#X connect 156 4 116 0;
#X connect 156 5 154 0;
#X connect 156 6 152 0;
#X connect 156 7 151 0;
#X connect 157 0 161 0;
#X connect 158 0 157 0;
#X connect 159 0 160 0;
#X connect 160 0 166 0;
#X connect 161 0 159 0;
#X connect 163 0 158 1;
#X connect 164 0 161 1;
#X connect 164 0 193 0;
#X connect 165 0 158 0;
#X connect 167 0 168 0;
#X connect 168 0 194 0;
#X connect 169 0 189 0;
#X connect 170 0 191 0;
#X connect 170 1 191 1;
#X connect 171 0 191 0;
#X connect 173 0 35 0;
#X connect 173 1 181 0;
#X connect 174 0 175 0;
#X connect 175 0 173 0;
#X connect 178 0 181 0;
#X connect 179 0 180 0;
#X connect 181 0 183 0;
#X connect 182 0 172 0;
#X connect 183 0 179 0;
#X connect 183 1 186 0;
#X connect 185 0 186 1;
#X connect 186 0 184 0;
#X connect 187 0 168 0;
#X connect 188 0 170 0;
#X connect 189 0 190 0;
#X connect 189 1 188 1;
#X connect 190 0 188 0;
#X connect 191 0 197 0;
#X connect 194 0 169 0;
#X connect 197 0 182 0;
#X connect 198 0 201 0;
#X connect 200 0 202 0;
#X connect 201 0 199 0;
#X connect 203 0 204 0;
#X connect 204 0 165 0;
#X connect 205 0 204 1;
#X connect 206 0 207 0;
#X connect 207 0 167 0;
#X connect 208 0 207 1;
#X connect 209 0 201 0;
#X coords 0 -1 1 1 210 210 1 100 100;