-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathgranular_pi.pd
318 lines (318 loc) · 9.29 KB
/
granular_pi.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
#N struct 1005-scope float x float y float x1 float y1 float c1 float c2 float c3 float c4 array vector-min 1005-scope-element array vector-max 1005-scope-element float curx;
#N struct 1005-scope-element float y;
#N canvas 246 25 959 665 12;
#X obj 40 151 ys.granular_main 1;
#X obj 190 710 dac~;
#X obj 316 718 ys.comport;
#N canvas 262 94 940 778 mappings 0;
#X obj -4 307 s 1-sample_offset_rcv;
#X floatatom 233 63 5 0 0 0 - - - 0;
#X obj 200 214 / 1023;
#X floatatom 398 171 5 0 0 0 - - - 0;
#X obj 398 194 / 1023;
#X msg 617 209 \; \$1-grain_pitch_rcv 0.25 \; \$1-grain_size_rcv 0.5 \; \$1-sample_offset_rcv 0.5 \; \$1-offset_random_rcv 0.02 \; \$1-random_pitch_rcv 0 \; \$1-random_panning_rcv 0.6 \; \$1-global_pan_rcv 0.5 \; \$1-autoplay_speed_rcv 0.25 \; \$1-autoplay_reverse_rcv 0 \; \$1-freeze_rcv 0 \; \$1-autoplay_on_off_rcv 0 \; \$1-on_off_rcv 1 \; \$1-volume_rcv 1 \; \$1-num_channels_rcv 2 \; \$1-reverse_rcv 0 \; \$1-reverse_random_rcv 0 \; \$1-grain_density_rcv 0.1 \; \$1-grainplay_chance_rcv 1 \;;
#X obj 398 220 s 1-offset_random_rcv;
#X floatatom 201 331 5 0 0 0 - - - 0;
#X obj 197 514 s 1-grain_pitch_rcv;
#X floatatom 393 278 5 0 0 0 - - - 0;
#X obj 393 301 / 1023;
#X obj 393 327 s 1-random_pitch_rcv;
#X floatatom 194 552 5 0 0 0 - - - 0;
#X obj 194 575 / 1023;
#X floatatom 391 373 5 0 0 0 - - - 0;
#X obj 194 601 s 1-grain_size_rcv;
#X obj 391 498 s 1-grain_density_rcv;
#X floatatom 85 573 5 0 0 0 - - - 0;
#X obj 85 596 / 1023;
#X obj 174 663 s 1-grainplay_chance_rcv;
#X floatatom 389 545 5 0 0 0 - - - 0;
#X obj 389 568 / 1023;
#X obj 389 594 s 1-autoplay_speed_rcv;
#X floatatom 567 515 5 0 0 0 - - - 0;
#X obj 567 538 / 1023;
#X obj 228 735 change;
#X obj 45 104 change;
#X obj 317 761 change;
#X obj 105 855 s 1-on_off_rcv;
#X obj 307 872 s 1-play_one_grain_rcv;
#X obj 425 705 change;
#X obj 424 818 s 1-autoplay_reverse_rcv;
#X obj 45 132 s 1-autoplay_on_off_rcv;
#X obj 229 711 r digital0;
#X obj 438 741 sel 0 1;
#X msg 430 782 1;
#X msg 463 784 0;
#X obj 131 270 spigot;
#X obj 73 150 sel 0 1;
#X msg 65 191 1;
#X msg 98 193 0;
#X obj 627 700 change;
#X obj 627 729 s 1-freeze_rcv;
#X obj 627 676 r digital3;
#X obj 878 295 change;
#X obj 787 623 s 1-reverse_random_rcv;
#X obj 123 213 loadbang;
#X msg 123 237 1;
#X obj 610 580 s sample_load;
#X obj 845 186 s 1-record_rcv;
#X obj 279 350 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 300 289 change;
#X obj 280 235 r digital6;
#X obj 390 414 + 1;
#X obj 391 472 / 1024;
#X obj 977 156 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 972 131 change;
#X obj 973 106 r digital7;
#X obj 968 219 s 1-recordLoop_rcv;
#X obj 562 603 s filterfreq;
#X obj 873 331 sel 1;
#X obj 873 355 s random_sound;
#X obj 254 486 s 1-reset_pitch_rcv;
#X obj 77 629 s 1-random_panning_rcv;
#X obj 105 497 print pitch;
#X obj 236 457 spigot;
#X floatatom 192 434 5 0 0 0 - - - 0;
#X obj 281 407 t f f;
#X obj 304 441 sel 0;
#X obj 192 410 / 1024;
#X obj 138 805 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 201 307 r analog8;
#X obj 393 254 r analog3;
#X obj 398 147 r analog7;
#X obj 85 549 r analog5;
#X obj 567 491 r analog2;
#X obj 194 528 r analog0;
#X obj 391 349 r analog1;
#X obj 389 521 r analog6;
#X obj 233 39 r analog4;
#X obj 231 100 t b f;
#X obj 238 152 -;
#X msg 234 131 1023;
#X floatatom 238 176 5 0 0 0 - - - 0;
#X obj 879 270 r digital2;
#X obj 42 33 r digital5;
#X obj 302 834 sel 1;
#X obj 317 737 r digital4;
#X obj 841 404 r digital7;
#X obj 932 403 r digital8;
#X obj 840 458 change;
#X obj 880 502 s 1-reverse_rcv;
#X obj 545 39 r digital1;
#X obj 545 103 sel 1;
#X obj 543 72 change;
#X obj 544 167 s 1-play_one_grain_rcv;
#X obj 546 140 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 912 567 ==;
#X obj 1000 505 t b f;
#X obj 993 479 change;
#X obj 912 591 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 359 656 r digital9;
#X text 366 8 best bet in terms of startup values is probably to send a loadbang of some value into every switch;
#X obj 141 34 loadbang;
#X msg 141 58 0;
#X obj 1015 389 loadbang;
#X msg 1015 413 0;
#X obj 521 635 loadbang;
#X msg 522 664 0;
#X obj 47 687 loadbang;
#X msg 50 721 0;
#X obj 300 156 loadbang;
#X msg 303 190 0;
#X obj 63 76 print autoplaysetting;
#X obj 554 757 print;
#X obj 458 634 loadbang;
#X msg 459 663 1;
#X connect 1 0 80 0;
#X connect 2 0 37 0;
#X connect 3 0 4 0;
#X connect 4 0 6 0;
#X connect 7 0 69 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 12 0 13 0;
#X connect 13 0 15 0;
#X connect 14 0 53 0;
#X connect 17 0 18 0;
#X connect 18 0 63 0;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 23 0 24 0;
#X connect 24 0 59 0;
#X connect 25 0 70 0;
#X connect 26 0 32 0;
#X connect 26 0 38 0;
#X connect 26 0 113 0;
#X connect 27 0 86 0;
#X connect 30 0 34 0;
#X connect 30 0 114 0;
#X connect 33 0 25 0;
#X connect 34 0 35 0;
#X connect 34 1 36 0;
#X connect 35 0 31 0;
#X connect 36 0 31 0;
#X connect 37 0 0 0;
#X connect 38 0 39 0;
#X connect 38 1 40 0;
#X connect 39 0 37 1;
#X connect 40 0 37 1;
#X connect 41 0 42 0;
#X connect 43 0 41 0;
#X connect 44 0 60 0;
#X connect 46 0 47 0;
#X connect 47 0 37 1;
#X connect 50 0 67 0;
#X connect 51 0 50 0;
#X connect 52 0 51 0;
#X connect 53 0 54 0;
#X connect 54 0 16 0;
#X connect 56 0 55 0;
#X connect 57 0 56 0;
#X connect 60 0 61 0;
#X connect 65 0 8 0;
#X connect 66 0 65 0;
#X connect 67 0 68 0;
#X connect 67 1 65 1;
#X connect 68 0 62 0;
#X connect 69 0 66 0;
#X connect 70 0 28 0;
#X connect 71 0 7 0;
#X connect 72 0 9 0;
#X connect 73 0 3 0;
#X connect 74 0 17 0;
#X connect 75 0 23 0;
#X connect 76 0 12 0;
#X connect 77 0 14 0;
#X connect 78 0 20 0;
#X connect 79 0 1 0;
#X connect 80 0 82 0;
#X connect 80 1 81 1;
#X connect 81 0 83 0;
#X connect 82 0 81 0;
#X connect 83 0 2 0;
#X connect 84 0 44 0;
#X connect 85 0 26 0;
#X connect 86 0 29 0;
#X connect 87 0 27 0;
#X connect 88 0 90 0;
#X connect 89 0 99 0;
#X connect 90 0 91 0;
#X connect 90 0 97 0;
#X connect 92 0 94 0;
#X connect 93 0 96 0;
#X connect 94 0 93 0;
#X connect 96 0 95 0;
#X connect 97 0 100 0;
#X connect 98 0 97 0;
#X connect 98 1 97 1;
#X connect 99 0 98 0;
#X connect 100 0 45 0;
#X connect 101 0 30 0;
#X connect 103 0 104 0;
#X connect 104 0 26 0;
#X connect 105 0 106 0;
#X connect 106 0 99 0;
#X connect 106 0 90 0;
#X connect 107 0 108 0;
#X connect 108 0 42 0;
#X connect 109 0 110 0;
#X connect 110 0 27 0;
#X connect 110 0 25 0;
#X connect 111 0 112 0;
#X connect 112 0 51 0;
#X connect 112 0 50 0;
#X connect 115 0 116 0;
#X connect 116 0 30 0;
#X restore 427 717 pd mappings;
#X obj 487 170 r random_sound;
#X obj 705 224 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 1072 317 print numSounds;
#X obj 129 683 bob~;
#X obj 197 680 bob~;
#X msg 149 655 1;
#X floatatom 398 616 5 0 0 0 - - - 0;
#X obj 398 639 mtof;
#X obj 396 545 r filterfreq;
#X obj 397 570 hsl 162 19 0 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 398 595 * 124;
#X obj 808 525 nbx 5 17 -1e+37 1e+37 0 1 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 58 256;
#X obj 807 423 loadbang;
#X obj 807 447 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 807 493 +;
#X msg 807 471 1;
#X obj 882 572 s randomSeed;
#X obj 852 601 print randomSeed;
#X msg 788 643 menusave;
#X obj 785 687 s pd-subpatch;
#N canvas 96 86 771 708 subpatch 0;
#X coords 0 -1 1 1 50 50 1 100 100;
#X restore 795 713 pd subpatch;
#X obj 787 564 t b f;
#X text 60 79 note! this version is specifically for being run on a Raspberry Pi using the comport external object. this is not properly documented here (or indeed anywhere).;
#X obj 1040 390 sampleSelector 1;
#X obj 465 455 tabread 1-sample_selector;
#X floatatom 465 479 5 0 0 0 - - - 0;
#X obj 468 398 nbx 5 17 -1e+37 1e+37 0 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 256;
#X msg 487 194 1;
#X obj 505 241 +;
#X obj 503 330 %;
#X obj 569 230 r numSounds;
#X obj 468 420 t b f;
#X obj 505 265 nbx 5 17 -1e+37 1e+37 0 1 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 103 256;
#X obj 813 303 t b f;
#X obj 807 101 ys.soundLoader;
#X obj 800 48 loadbang;
#X msg 800 72 1;
#X obj 928 66 r select_sound;
#X obj 910 259 print;
#X obj 883 299 s 1-sample_load;
#X text 1041 409 this seems to have a tendency to double things;
#X obj 492 509 print sample_select;
#X text 46 741 yann seznec // 2024 // yannseznec.com;
#X msg 577 114 \; pd dsp 1;
#X obj 580 76 loadbang;
#X connect 0 0 7 0;
#X connect 0 1 8 0;
#X connect 4 0 31 0;
#X connect 5 0 36 0;
#X connect 7 0 1 0;
#X connect 8 0 1 1;
#X connect 9 0 8 2;
#X connect 9 0 7 2;
#X connect 10 0 11 0;
#X connect 11 0 8 1;
#X connect 11 0 7 1;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 10 0;
#X connect 15 0 18 1;
#X connect 15 0 21 0;
#X connect 15 0 25 0;
#X connect 16 0 17 0;
#X connect 17 0 19 0;
#X connect 18 0 15 0;
#X connect 19 0 18 0;
#X connect 22 0 23 0;
#X connect 25 1 20 0;
#X connect 28 0 29 0;
#X connect 29 0 38 1;
#X connect 29 0 45 0;
#X connect 30 0 35 0;
#X connect 31 0 32 0;
#X connect 32 0 36 0;
#X connect 33 0 30 0;
#X connect 34 0 33 1;
#X connect 35 0 22 0;
#X connect 35 1 28 0;
#X connect 36 0 32 1;
#X connect 36 0 33 0;
#X connect 37 0 5 0;
#X connect 37 1 33 1;
#X connect 38 1 42 0;
#X connect 38 1 43 0;
#X connect 38 4 27 0;
#X connect 38 4 6 0;
#X connect 38 4 37 0;
#X connect 39 0 40 0;
#X connect 40 0 38 0;
#X connect 41 0 38 1;
#X connect 48 0 47 0;