-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathys.granular_brain.pd
693 lines (693 loc) · 24.5 KB
/
ys.granular_brain.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
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
#N canvas 181 211 1223 443 10;
#N canvas 33 69 1369 803 autoplay 0;
#X floatatom 279 367 5 0 0 0 - - - 0;
#X obj 300 442 phasor~ 0.1;
#X obj 364 505 spigot;
#X obj 517 346 sel 1;
#X obj 376 371 f;
#X obj 302 565 spigot;
#X obj 163 399 - 1;
#X obj 163 421 abs;
#X obj 162 446 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 222 375 sel 0;
#X obj 233 415 f;
#X floatatom 94 71 5 0 0 0 - - - 0;
#X obj 94 90 / 44.1;
#X floatatom 94 112 5 0 0 0 - - - 0;
#X floatatom 94 153 15 0 0 0 - - - 0;
#X obj 94 131 expr 1000/$f1;
#X obj 181 256 *;
#X obj 250 331 * 1;
#X obj 268 286 t b b;
#X obj 267 259 sel 0 1;
#X msg 301 313 1;
#X obj 325 285 t b b;
#X msg 358 312 -1;
#X obj 474 312 t f f;
#X floatatom 388 393 5 0 0 0 - - - 0;
#X obj 110 201 t b f;
#X floatatom 364 526 5 0 0 0 - - - 0;
#X obj 189 203 * 4;
#X obj 300 464 snapshot~;
#X obj 395 440 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 395 460 metro 10;
#X obj 94 49 r \$1-samplelength;
#X obj 201 167 r \$1-autoplay_speed;
#X obj 267 238 r \$1-autoplay_reverse;
#X obj 403 159 r \$1-sample_offset;
#X obj 511 203 r \$1-autoplay_on_off;
#X obj 167 342 r \$1-freeze;
#X obj 300 593 s \$1-sample_offset_rcv;
#X connect 0 0 1 0;
#X connect 1 0 28 0;
#X connect 2 0 5 0;
#X connect 2 0 26 0;
#X connect 3 0 4 0;
#X connect 4 0 1 1;
#X connect 4 0 24 0;
#X connect 5 0 10 1;
#X connect 5 0 37 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 5 1;
#X connect 9 0 10 0;
#X connect 10 0 1 1;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 15 0;
#X connect 14 0 25 0;
#X connect 15 0 14 0;
#X connect 16 0 17 0;
#X connect 17 0 0 0;
#X connect 18 0 17 0;
#X connect 18 1 20 0;
#X connect 19 0 18 0;
#X connect 19 1 21 0;
#X connect 20 0 17 1;
#X connect 21 0 17 0;
#X connect 21 1 22 0;
#X connect 22 0 17 1;
#X connect 23 0 2 1;
#X connect 23 1 3 0;
#X connect 25 0 16 0;
#X connect 25 1 16 1;
#X connect 27 0 16 0;
#X connect 28 0 2 0;
#X connect 29 0 30 0;
#X connect 30 0 28 0;
#X connect 31 0 11 0;
#X connect 32 0 27 0;
#X connect 33 0 19 0;
#X connect 34 0 4 1;
#X connect 35 0 23 0;
#X connect 35 0 29 0;
#X connect 36 0 6 0;
#X connect 36 0 9 0;
#X restore 56 9 pd autoplay;
#X floatatom 473 -70 5 0 0 0 - - - 0;
#X text 411 -68 channels;
#X obj 349 -143 loadbang;
#X obj 471 -95 r num_channels_rcv;
#X obj 480 -8 s num_channels;
#X msg 377 -116 32;
#X text 63 -40 number of instances of y_grain_stereo should equal the numgrains (I recognise this is silly);
#X msg 307 -117 10;
#X text 152 -172 (some vestigial things in here to clean up);
#X obj 748 -58 metro 1000;
#X msg 62 -95 next 1;
#X obj 744 64 random 100;
#X floatatom 744 85 5 0 0 0 - - - 0;
#X obj 749 118 < 100;
#X obj 749 146 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 749 166 sel 1;
#X obj 751 192 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 817 93 * 100;
#X obj 999 -53 * 44100;
#X floatatom 1000 -23 15 0 0 0 - - - 0;
#X floatatom 809 -89 5 0 0 0 - - - 0;
#X obj 999 -91 + 0.01;
#X obj 731 -133 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 748 -82 change;
#X obj 411 81 *~;
#X obj 504 81 *~;
#X obj 385 30 catch~ \$1-grainoutL;
#X obj 513 27 catch~ \$1-grainoutR;
#X obj 525 54 r \$1-volume;
#X obj 308 -62 s \$1-numgrains;
#X obj 63 -116 r \$1-mastergrainbang;
#X obj 757 214 s \$1-mastergrainbang;
#X obj 812 162 r \$1-play_one_grain;
#X obj 817 66 r \$1-grainplay_chance;
#X obj 807 -170 r \$1-grain_density;
#X obj 718 -172 r \$1-on_off;
#X obj 996 -174 r \$1-grain_size;
#X obj 999 1 s \$1-grainsize;
#X obj 1060 -94 r samplerate;
#X obj 417 144 hip~ 30;
#X obj 538 147 hip~ 30;
#X obj 438 196 lop~ 8000;
#X obj 510 196 lop~ 8000;
#X obj 239 150 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 244 124 r \$1-reset_pitch;
#X obj 232 201 s \$1-grain_pitch_rcv;
#X msg 227 179 0.25;
#N canvas 0 22 450 300 (subpatch) 0;
#X array \$1-hann 441 float 1;
#A 0 5.58197e-05 0.000211179 0.000466049 0.000820369 0.00127408 0.00182706 0.00248876 0.00325206 0.00411421 0.00507513 0.00613457 0.00729233 0.00855508 0.00992075 0.0113839 0.0129444 0.0146018 0.0163559 0.0182106 0.0201685 0.022222 0.0243706 0.026614 0.0289515 0.0313846 0.0339207 0.0365494 0.0392705 0.0420832 0.0449872 0.0479817 0.0510767 0.0542615 0.0575351 0.0608967 0.0643458 0.0678817 0.0715112 0.0752289 0.0790311 0.082917 0.086886 0.0909373 0.0950752 0.0992985 0.103601 0.107983 0.112443 0.11698 0.121597 0.126294 0.131067 0.135912 0.140831 0.14582 0.150882 0.15602 0.161227 0.166501 0.171841 0.177247 0.182717 0.188257 0.19386 0.199524 0.205248 0.211031 0.216871 0.222772 0.22873 0.234743 0.240808 0.246925 0.253092 0.259311 0.265581 0.271898 0.27826 0.284667 0.291116 0.297608 0.304145 0.31072 0.317332 0.323982 0.330666 0.337384 0.344138 0.350924 0.357738 0.364582 0.371452 0.378348 0.38527 0.392216 0.399183 0.406171 0.413177 0.4202 0.427241 0.434296 0.441365 0.448445 0.455536 0.462635 0.469742 0.476856 0.483974 0.491096 0.498219 0.505343 0.512465 0.519585 0.526701 0.533812 0.540915 0.548011 0.555097 0.562171 0.569233 0.57628 0.583313 0.590329 0.597327 0.604304 0.611259 0.618192 0.625102 0.631987 0.638845 0.645674 0.652473 0.659241 0.665977 0.67268 0.679349 0.685981 0.692573 0.699126 0.70564 0.712113 0.718544 0.72493 0.731267 0.737558 0.743801 0.749996 0.756142 0.762236 0.768272 0.774255 0.780182 0.786054 0.791869 0.797626 0.803318 0.808948 0.814517 0.820022 0.825465 0.830842 0.836149 0.841386 0.846554 0.851654 0.856683 0.861642 0.866525 0.87133 0.876061 0.880717 0.885297 0.8898 0.894225 0.898563 0.902821 0.906999 0.911096 0.915111 0.919044 0.922885 0.926639 0.930309 0.933894 0.937391 0.940802 0.944118 0.947342 0.950477 0.953522 0.956477 0.959341 0.962108 0.964778 0.967354 0.969838 0.972228 0.974525 0.976724 0.978819 0.980819 0.982723 0.984531 0.986243 0.987857 0.989363 0.990772 0.992083 0.993295 0.99441 0.995426 0.996334 0.997141 0.997848 0.998457 0.998966 0.999376 0.99968 0.999879 0.999978 0.999978 0.999879 0.999679 0.999376 0.998966 0.998457 0.997848 0.99714 0.996333 0.995426 0.994409 0.993295 0.992082 0.990771 0.989362 0.987857 0.986242 0.98453 0.982722 0.980818 0.978818 0.976722 0.974523 0.972227 0.969837 0.967353 0.964776 0.962107 0.959339 0.956475 0.95352 0.950475 0.94734 0.944116 0.9408 0.937389 0.933891 0.930307 0.926637 0.922882 0.919042 0.915109 0.911094 0.906997 0.902818 0.89856 0.894222 0.889797 0.885294 0.880714 0.876058 0.871327 0.866522 0.861639 0.85668 0.851651 0.846551 0.841383 0.836146 0.830839 0.825461 0.820019 0.814513 0.808945 0.803315 0.797622 0.791865 0.786051 0.780179 0.774251 0.768269 0.762232 0.756138 0.749993 0.743798 0.737554 0.731263 0.724926 0.71854 0.712109 0.705636 0.699123 0.692569 0.685977 0.679345 0.672676 0.665973 0.659237 0.652469 0.64567 0.638841 0.631983 0.625098 0.618188 0.611255 0.604299 0.597323 0.590325 0.583309 0.576276 0.569229 0.562167 0.555093 0.548007 0.540911 0.533807 0.526697 0.519581 0.512461 0.505338 0.498215 0.491092 0.48397 0.476852 0.469738 0.462631 0.455531 0.448441 0.441361 0.434292 0.427236 0.420196 0.413173 0.406167 0.399179 0.392212 0.385266 0.378344 0.371448 0.364578 0.357734 0.350919 0.344134 0.33738 0.330662 0.323978 0.317328 0.310716 0.304141 0.297604 0.291112 0.284663 0.278257 0.271894 0.265578 0.259307 0.253088 0.246921 0.240804 0.234739 0.228727 0.222768 0.216867 0.211027 0.205245 0.199521 0.193857 0.188254 0.182714 0.177243 0.171838 0.166497 0.161223 0.156016 0.150878 0.145817 0.140827 0.135909 0.131063 0.126291 0.121593 0.116977 0.11244 0.10798 0.103598 0.0992954 0.0950722 0.0909344 0.086883 0.0829141 0.0790282 0.075226 0.0715085 0.0678789 0.0643432 0.0608941 0.0575325 0.054259 0.0510742 0.0479794 0.0449848 0.042081 0.0392683 0.0365472 0.0339186 0.0313826 0.0289496 0.026612 0.0243689 0.0222203 0.0201668 0.018209 0.0163543 0.0146004 0.012943 0.0113826 0.00991952 0.00855392 0.00729129 0.00613356 0.00507423 0.00411341 0.00325134 0.00248814 0.00182652 0.00127363 0.000820011 0.00046578 0.00021103 5.57601e-05 0;
#X coords 0 1 440 0 200 140 1 0 0;
#X restore 665 269 graph;
#N canvas 0 22 450 300 (subpatch) 0;
#X array \$1-crown 441 float 1;
#A 0 0.0356611 0.0712777 0.10689 0.142498 0.1781 0.213688 0.249272 0.284836 0.32039 0.355928 0.391445 0.42695 0.46242 0.497879 0.533304 0.568705 0.604083 0.639418 0.674739 0.710003 0.745247 0.780448 0.815606 0.850737 0.885803 0.920846 0.955822 0.990761 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.99072 0.955781 0.920804 0.885761 0.850695 0.815564 0.780405 0.745205 0.709961 0.674697 0.639376 0.604041 0.568663 0.533262 0.497837 0.462378 0.426908 0.391402 0.355886 0.320348 0.284794 0.249229 0.213646 0.178057 0.142455 0.106848 0.0712351 0.0356185 3.77489e-07;
#X coords 0 1 440 0 200 140 1 0 0;
#X restore 906 270 graph;
#N canvas 241 100 1122 847 sampling_stereo 0;
#X msg 408 427 stop, f 7;
#X msg 418 561 start \$1;
#X obj 586 212 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 405 42 sel 1 0;
#X obj 119 339 *~;
#X obj 177 158 line~;
#X obj 5 476 dac~;
#X obj 1 335 *~;
#X obj 222 276 line~;
#X msg 223 247 \$1 30;
#X obj 204 347 *~;
#X obj 34 338 *~;
#X floatatom 310 25 5 0 0 0 - - - 0;
#X obj 169 123 pack 0 30;
#X obj 416 273 delay 30;
#N canvas 100 351 688 388 stereomonoMS 0;
#X obj 175 51 adc~;
#X obj 160 344 outlet~;
#X obj 224 345 outlet~;
#X obj 237 235 *~ -1;
#X obj 176 272 *~;
#X obj 205 271 *~;
#X obj 237 271 *~;
#X obj 386 52 sel 0 1 2;
#X msg 340 164 0;
#X msg 368 163 1;
#X msg 404 162 0;
#X msg 432 161 1;
#X obj 407 212 line;
#X obj 343 278 *~;
#X msg 470 160 0;
#X msg 498 159 1;
#X obj 473 210 line;
#X obj 421 276 *~;
#X floatatom 350 241 5 0 0 0 - - - 0;
#X obj 342 214 line 1;
#X msg 342 193 \$1 30;
#X msg 406 191 \$1 30;
#X msg 472 189 \$1 30;
#X msg 540 82 1;
#X msg 503 82 2;
#X obj 515 112 s num_channels;
#X obj 388 24 r \$1-stereoms;
#X floatatom 411 245 5 0 0 0 - - - 0;
#X floatatom 478 244 5 0 0 0 - - - 0;
#X connect 0 0 1 0;
#X connect 0 0 5 0;
#X connect 0 0 13 0;
#X connect 0 1 3 0;
#X connect 0 1 4 0;
#X connect 0 1 17 0;
#X connect 3 0 6 0;
#X connect 4 0 1 0;
#X connect 5 0 2 0;
#X connect 6 0 2 0;
#X connect 7 0 8 0;
#X connect 7 0 10 0;
#X connect 7 0 15 0;
#X connect 7 0 24 0;
#X connect 7 1 9 0;
#X connect 7 1 10 0;
#X connect 7 1 14 0;
#X connect 7 1 24 0;
#X connect 7 2 8 0;
#X connect 7 2 11 0;
#X connect 7 2 14 0;
#X connect 7 2 23 0;
#X connect 7 3 8 0;
#X connect 7 3 10 0;
#X connect 7 3 14 0;
#X connect 8 0 20 0;
#X connect 9 0 20 0;
#X connect 10 0 21 0;
#X connect 11 0 21 0;
#X connect 12 0 13 1;
#X connect 12 0 27 0;
#X connect 13 0 2 0;
#X connect 14 0 22 0;
#X connect 15 0 22 0;
#X connect 16 0 17 1;
#X connect 16 0 28 0;
#X connect 17 0 2 0;
#X connect 19 0 4 1;
#X connect 19 0 5 1;
#X connect 19 0 6 1;
#X connect 19 0 18 0;
#X connect 20 0 19 0;
#X connect 21 0 12 0;
#X connect 22 0 16 0;
#X connect 23 0 25 0;
#X connect 24 0 25 0;
#X connect 26 0 7 0;
#X restore 16 158 pd stereomonoMS;
#X obj 110 713 tabwrite~ \$1-poly_grain-L;
#X obj 276 712 tabwrite~ \$1-poly_grain-R;
#X obj 386 19 r \$1-record;
#X obj 228 68 r \$1-record;
#X obj 229 223 r \$1-input_monitor;
#X obj 658 262 s \$1-samplelength;
#X obj 466 16 loadbang;
#X obj 595 340 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 580 254 t b b b;
#X obj 542 387 t b b b;
#X msg 453 520 0;
#X obj 811 741 r \$1-clear;
#X obj 692 859 i \$1;
#X msg 709 895 \; \$1-poly_grain-L const 0;
#X msg 697 931 \; \$1-poly_grain-R const 0;
#X obj 783 243 pack 0 0;
#X obj 776 152 timer;
#X floatatom 776 173 5 0 0 0 - - - 0;
#X obj 793 128 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 759 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 765 60 sel 1 0;
#X obj 866 109 r samplerate;
#X obj 866 130 / 1000;
#X obj 783 219 * 44.1;
#X obj 764 38 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 725 92 t b b;
#X msg 855 276 \; \$2-poly_grain-L resize \$1;
#X msg 770 308 \; \$2-poly_grain-R resize \$1;
#X msg 726 172 10000;
#X obj 766 6 r \$1-record;
#X obj 776 193 + 30;
#X obj 918 198 loadbang;
#X obj 918 219 i \$1;
#X obj 431 674 s \$1-input_vu-R;
#X obj 531 674 s \$1-input_vu-L;
#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 440 650 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 509 651 pd vu;
#X msg 385 161 \; \$1-poly_grain-R normalize;
#X msg 556 166 \; \$1-poly_grain-L normalize;
#X obj 479 76 i \$1;
#X obj 289 148 s \$1-visual;
#X obj 489 55 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 314 96 t b f;
#X obj 784 779 t b b;
#X obj 731 820 s \$1-visual;
#X obj 776 667 i \$1;
#X obj 774 469 r \$1-recordLoop;
#X obj 769 503 sel 1 0;
#X obj 784 526 t b b;
#X msg 874 606 0;
#X msg 829 613 1;
#X obj 874 644 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 877 686 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 122 60 r \$1-recordLoop;
#X obj 874 664 metro 500;
#X obj 572 629 print;
#X obj 1078 768 s \$1-samplelength;
#X floatatom 963 601 5 0 0 0 - - - 0;
#X obj 980 625 / 1000;
#X obj 980 646 * 44100;
#X obj 1079 733 i;
#X obj 1015 758 pack 0 0;
#X msg 1041 814 \; \$2-poly_grain-L resize \$1;
#X msg 956 846 \; \$2-poly_grain-R resize \$1;
#X obj 957 564 r \$1-liveGrains_size;
#X msg 357 783 \; \$1-poly_grain-R normalize;
#X msg 528 788 \; \$1-poly_grain-L normalize;
#X obj 657 710 i \$1;
#X obj 782 556 t b b b b b;
#X obj 1069 688 i \$1;
#X obj 1066 653 loadbang;
#X connect 0 0 16 0;
#X connect 0 0 17 0;
#X connect 1 0 16 0;
#X connect 1 0 17 0;
#X connect 2 0 24 0;
#X connect 3 0 2 0;
#X connect 3 1 14 0;
#X connect 3 1 55 0;
#X connect 4 0 16 0;
#X connect 4 0 51 0;
#X connect 5 0 4 1;
#X connect 5 0 10 1;
#X connect 7 0 6 0;
#X connect 8 0 7 1;
#X connect 8 0 11 1;
#X connect 9 0 8 0;
#X connect 10 0 17 0;
#X connect 10 0 52 0;
#X connect 11 0 6 1;
#X connect 12 0 13 1;
#X connect 12 0 14 1;
#X connect 13 0 5 0;
#X connect 14 0 0 0;
#X connect 15 0 4 0;
#X connect 15 0 7 0;
#X connect 15 1 10 0;
#X connect 15 1 11 0;
#X connect 18 0 3 0;
#X connect 19 0 13 0;
#X connect 20 0 9 0;
#X connect 23 0 25 0;
#X connect 24 2 23 0;
#X connect 25 2 26 0;
#X connect 26 0 1 0;
#X connect 27 0 59 0;
#X connect 28 0 29 0;
#X connect 28 0 30 0;
#X connect 31 0 42 0;
#X connect 31 0 43 0;
#X connect 32 0 33 0;
#X connect 33 0 46 0;
#X connect 34 0 32 1;
#X connect 35 0 32 0;
#X connect 36 0 41 0;
#X connect 36 1 34 0;
#X connect 37 0 38 0;
#X connect 38 0 39 1;
#X connect 39 0 31 0;
#X connect 39 0 21 0;
#X connect 40 0 36 0;
#X connect 41 0 35 0;
#X connect 41 1 44 0;
#X connect 44 0 39 0;
#X connect 45 0 40 0;
#X connect 46 0 39 0;
#X connect 47 0 48 0;
#X connect 48 0 31 1;
#X connect 51 0 49 0;
#X connect 52 0 50 0;
#X connect 55 0 58 0;
#X connect 57 0 55 0;
#X connect 58 0 56 0;
#X connect 59 0 60 0;
#X connect 59 1 28 0;
#X connect 61 0 77 1;
#X connect 62 0 63 0;
#X connect 63 0 84 0;
#X connect 63 1 64 0;
#X connect 64 0 14 0;
#X connect 64 1 65 0;
#X connect 65 0 67 0;
#X connect 66 0 67 0;
#X connect 67 0 70 0;
#X connect 68 0 26 0;
#X connect 69 0 13 0;
#X connect 70 0 68 0;
#X connect 73 0 70 1;
#X connect 73 0 74 0;
#X connect 74 0 75 0;
#X connect 75 0 76 1;
#X connect 75 0 77 0;
#X connect 76 0 72 0;
#X connect 77 0 78 0;
#X connect 77 0 79 0;
#X connect 80 0 73 0;
#X connect 83 0 82 0;
#X connect 83 0 81 0;
#X connect 84 0 76 0;
#X connect 84 1 61 0;
#X connect 84 2 66 0;
#X connect 84 3 73 0;
#X connect 84 4 28 0;
#X connect 85 0 77 1;
#X connect 86 0 85 0;
#X restore 54 62 pd sampling_stereo;
#X obj 60 -73 clone y_grain_stereo 16 \$1;
#X msg 338 -118 16;
#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 400 305 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 469 306 pd vu;
#X obj 398 344 s \$1-vu-L;
#X obj 482 346 s \$1-vu-R;
#X obj 408 386 loadbang;
#X obj 412 417 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 413 438 i \$1;
#X msg 410 471 \; \$1-poly_grain-L edit 0 \; \$1-poly_grain-L edit 0;
#X obj 47 101 r \$1-choose_sound;
#X obj 47 122 openpanel;
#X obj 144 159 loadbang;
#X obj 144 233 i \$1;
#X obj 143 198 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 35 379 soundfiler;
#X obj 43 412 s \$1-samplelength;
#X obj 33 275 pack s float;
#X msg 35 353 read -resize \$1 \$2-poly_grain-L \$2-poly_grain-R;
#X obj 180 390 t b;
#X obj 180 411 s \$1-visual;
#X obj 527 244 throw~ recordingL;
#X obj 556 289 throw~ recordingR;
#X obj 170 86 loadbang;
#X obj 62 170 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 239 -264 symbol \$2;
#X obj 242 -290 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X symbolatom 247 -237 23 0 0 0 - - - 0;
#X obj 61 207 symbol \$2;
#X obj 170 107 delay 100;
#X obj 783 -271 array define \$1-poly_grain-L;
#X obj 784 -240 array define \$1-poly_grain-R;
#X obj 420 277 outlet~;
#X obj 506 284 outlet~;
#X obj 23 139 r \$1-sample_load;
#X obj 809 -134 * 250;
#X obj 1051 103 tabread \$1-crown;
#X floatatom 1054 78 5 0 0 0 - - - 0;
#X floatatom 1051 124 5 0 0 0 - - - 0;
#X obj 1105 157 tabwrite \$1-crown;
#X floatatom 1182 133 5 0 0 0 - - - 0;
#X msg 1123 134 1;
#X floatatom 869 -129 5 0 0 0 - - - 0;
#X floatatom 931 -103 5 0 0 0 - - - 0;
#X obj 921 -75 /;
#X obj 869 -108 t b f;
#X floatatom 921 -53 5 0 0 0 - - - 0;
#X obj 809 -111 + 1;
#X obj 912 -14 * 4;
#X floatatom 912 7 5 0 0 0 - - - 0;
#X obj 957 -24 *;
#X obj 912 27 t b f;
#X floatatom 963 11 5 0 0 0 - - - 0;
#X obj 252 41 pack;
#X obj 84 232 print;
#X connect 1 0 5 0;
#X connect 3 0 52 0;
#X connect 4 0 1 0;
#X connect 6 0 30 0;
#X connect 8 0 30 0;
#X connect 10 0 12 0;
#X connect 11 0 51 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 32 0;
#X connect 18 0 14 1;
#X connect 19 0 20 0;
#X connect 20 0 38 0;
#X connect 21 0 10 1;
#X connect 22 0 19 0;
#X connect 23 0 24 0;
#X connect 24 0 10 0;
#X connect 25 0 40 0;
#X connect 26 0 41 0;
#X connect 27 0 25 0;
#X connect 28 0 26 0;
#X connect 29 0 25 1;
#X connect 29 0 26 1;
#X connect 31 0 11 0;
#X connect 33 0 17 0;
#X connect 34 0 18 0;
#X connect 35 0 93 0;
#X connect 35 0 86 0;
#X connect 35 0 99 0;
#X connect 36 0 23 0;
#X connect 37 0 94 0;
#X connect 37 0 101 0;
#X connect 39 0 19 1;
#X connect 40 0 42 0;
#X connect 41 0 43 0;
#X connect 42 0 53 0;
#X connect 42 0 72 0;
#X connect 42 0 83 0;
#X connect 43 0 54 0;
#X connect 43 0 73 0;
#X connect 43 0 84 0;
#X connect 44 0 47 0;
#X connect 45 0 44 0;
#X connect 47 0 46 0;
#X connect 52 0 30 0;
#X connect 53 0 55 0;
#X connect 54 0 56 0;
#X connect 57 0 58 0;
#X connect 58 0 59 0;
#X connect 61 0 62 0;
#X connect 62 0 68 0;
#X connect 63 0 65 0;
#X connect 64 0 68 1;
#X connect 65 0 64 0;
#X connect 66 0 67 0;
#X connect 66 0 70 0;
#X connect 68 0 69 0;
#X connect 69 0 66 0;
#X connect 70 0 71 0;
#X connect 74 0 80 0;
#X connect 75 0 79 0;
#X connect 76 0 78 0;
#X connect 77 0 76 0;
#X connect 79 0 68 0;
#X connect 80 0 75 0;
#X connect 85 0 79 0;
#X connect 86 0 98 0;
#X connect 87 0 89 0;
#X connect 88 0 87 0;
#X connect 91 0 90 1;
#X connect 92 0 90 0;
#X connect 93 0 96 0;
#X connect 94 0 95 0;
#X connect 95 0 97 0;
#X connect 96 0 95 0;
#X connect 96 1 95 1;
#X connect 98 0 21 0;
#X connect 99 0 100 0;
#X connect 100 0 102 0;
#X connect 101 0 103 0;
#X connect 102 0 101 0;
#X connect 102 1 101 1;
#X connect 103 0 22 0;
#X coords 0 443 1 442 400 600 0;