-
Notifications
You must be signed in to change notification settings - Fork 1
/
ezz_bcr_grainr.pd
874 lines (874 loc) · 21.6 KB
/
ezz_bcr_grainr.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
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
#N canvas -36 76 969 728 10;
#X msg 561 73 \; pd dsp 0;
#X obj 458 94 s start;
#X obj 458 53 loadbang;
#X obj 458 75 bng 15 250 50 0 empty empty empty 20 8 0 8 -24198 -1
-1;
#X obj 147 70 openpanel;
#X obj 147 51 bng 15 250 50 0 empty empty empty 20 8 0 8 -24198 -1
-1;
#X symbolatom 147 92 40 0 0 0 - - -;
#X obj 126 73 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X obj 762 410 s bpm;
#X floatatom 762 382 5 0 0 0 - - -;
#X msg 762 360 120;
#N canvas 0 22 298 306 bpm-to-playrate 0;
#X obj 122 33 r samplesize;
#X obj 38 34 r bpm;
#X obj 74 32 r bpbar;
#X obj 130 104 samplerate~;
#X obj 106 6 r start;
#X obj 50 108 /;
#X obj 50 86 t b f;
#X obj 122 128 /;
#X msg 92 130 60;
#X obj 110 174 /;
#X obj 112 152 t b f;
#X floatatom 108 198 5 0 0 0 - - -;
#X floatatom 50 132 5 0 0 0 - - -;
#X obj 90 244 /;
#X obj 96 222 t b f;
#X obj 91 273 outlet;
#X msg 92 57 4;
#X text 132 55 <-- assumes 4 beats per bar here;
#X connect 0 0 7 0;
#X connect 1 0 5 0;
#X connect 2 0 6 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 4 0 8 0;
#X connect 4 0 16 0;
#X connect 5 0 12 0;
#X connect 6 0 5 0;
#X connect 6 1 5 1;
#X connect 7 0 10 0;
#X connect 8 0 9 0;
#X connect 9 0 11 0;
#X connect 10 0 9 0;
#X connect 10 1 9 1;
#X connect 11 0 14 0;
#X connect 12 0 13 0;
#X connect 13 0 15 0;
#X connect 14 0 13 0;
#X connect 14 1 13 1;
#X connect 16 0 6 0;
#X restore 764 464 pd bpm-to-playrate;
#X floatatom 764 486 5 0 0 0 - - -;
#X obj 764 515 s playrate;
#N canvas 0 22 274 288 tap-bpm 0;
#X obj 47 26 inlet;
#X obj 45 68 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X obj 47 104 timer;
#X floatatom 47 128 5 0 0 0 - - -;
#X obj 67 154 mavg;
#X msg 91 105 3;
#X obj 51 179 /;
#X msg 25 155 60000;
#X obj 51 247 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 1;
#X connect 1 0 2 0;
#X connect 1 0 5 0;
#X connect 1 0 7 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 6 1;
#X connect 5 0 4 1;
#X connect 6 0 8 0;
#X connect 7 0 6 0;
#X restore 818 361 pd tap-bpm;
#X obj 818 341 bng 15 250 50 0 empty empty empty 20 8 0 8 -24198 -1
-1;
#X obj 816 411 s bpm;
#X floatatom 817 383 5 0 0 0 - - -;
#X obj 644 70 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
-1;
#X obj 644 88 s retrigger;
#X text 840 338 <-- tap bpm button;
#X text 181 50 <-- bang to open loop sample;
#X obj 756 336 r start;
#X text 755 262 comment;
#N canvas 356 56 521 421 silo 0;
#X obj 16 228 vsl 20 20 0 1 0 0 empty empty grain-position -10 -10
0 8 -260097 -258699 -143491 103 0;
#X obj 21 296 vsl 20 20 0 1 0 0 empty empty empty 20 8 0 8 -257985
-258699 -1 0 1;
#N canvas 694 22 568 482 autoplaycontrol 0;
#X obj 30 355 phasor~;
#X obj 30 331 /;
#X obj 30 377 snapshot~;
#X obj 132 195 /;
#X obj 132 265 * 1000;
#X obj 160 151 samplerate~;
#X obj 80 333 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
;
#X obj 146 173 *;
#X obj 132 309 /;
#X obj 132 287 t b f;
#X obj 88 311 != 0;
#X obj 30 438 outlet;
#X obj 132 242 /;
#X obj 132 218 t b f;
#X msg 68 210 0;
#X obj 132 330 abs;
#X obj 142 440 outlet;
#X obj 30 269 t b f;
#X text 157 341 <-- milliseconds per grain position update at the current
set of parameters;
#X obj 117 124 t b b;
#X obj 160 125 t b f;
#X obj 80 354 metro 100;
#X obj 70 54 r grainsize;
#X obj 124 31 r start;
#X obj 44 31 r samplesize;
#X obj 144 54 r playrate;
#X obj 176 31 r play-grain-density;
#X obj 215 54 r graintranspose;
#X obj 106 8 r retrigger;
#X obj 144 397 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
1;
#X obj 142 416 metro 100;
#X obj 152 375 == 0;
#X obj 30 398 spigot;
#X obj 254 193 /;
#X obj 254 263 * 1000;
#X obj 282 149 samplerate~;
#X obj 268 171 *;
#X obj 254 307 /;
#X obj 254 285 t b f;
#X obj 254 240 /;
#X obj 254 216 t b f;
#X obj 254 328 abs;
#X obj 245 122 t b b;
#X obj 282 123 t b f;
#X msg 281 100 1;
#X text 225 70 repeat of whole rate calculator for the stationary rate
(random grain play);
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 2 0 32 0;
#X connect 3 0 12 0;
#X connect 4 0 8 0;
#X connect 5 0 7 1;
#X connect 6 0 21 0;
#X connect 6 0 32 1;
#X connect 7 0 3 1;
#X connect 7 0 1 0;
#X connect 8 0 15 0;
#X connect 9 0 8 0;
#X connect 9 1 8 1;
#X connect 10 0 6 0;
#X connect 12 0 4 0;
#X connect 13 0 12 0;
#X connect 13 1 12 1;
#X connect 14 0 0 1;
#X connect 15 0 21 1;
#X connect 17 0 1 0;
#X connect 17 1 1 1;
#X connect 19 0 14 0;
#X connect 19 1 5 0;
#X connect 20 0 3 0;
#X connect 20 1 7 0;
#X connect 21 0 2 0;
#X connect 22 0 3 0;
#X connect 22 0 33 0;
#X connect 23 0 19 0;
#X connect 23 0 42 0;
#X connect 24 0 17 0;
#X connect 25 0 20 0;
#X connect 25 0 10 0;
#X connect 25 0 31 0;
#X connect 26 0 9 0;
#X connect 26 0 38 0;
#X connect 27 0 13 0;
#X connect 27 0 40 0;
#X connect 28 0 19 0;
#X connect 29 0 30 0;
#X connect 29 0 44 0;
#X connect 30 0 16 0;
#X connect 31 0 29 0;
#X connect 32 0 11 0;
#X connect 33 0 39 0;
#X connect 34 0 37 0;
#X connect 35 0 36 1;
#X connect 36 0 33 1;
#X connect 37 0 41 0;
#X connect 38 0 37 0;
#X connect 38 1 37 1;
#X connect 39 0 34 0;
#X connect 40 0 39 0;
#X connect 40 1 39 1;
#X connect 41 0 30 1;
#X connect 42 1 35 0;
#X connect 43 0 33 0;
#X connect 43 1 36 0;
#X connect 44 0 43 0;
#X restore 3 3 pd autoplaycontrol;
#N canvas 508 22 306 212 grainpos-calc 0;
#X obj 40 22 inlet;
#X obj 102 22 inlet;
#X obj 132 81 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1
;
#X obj 45 146 s grainposition;
#X obj 132 59 > 0;
#X obj 143 23 r random-rate;
#N canvas 0 22 454 216 rand-ms 0;
#X obj 90 30 inlet;
#X obj 144 32 inlet;
#X obj 24 168 outlet;
#X obj 11 66 noise~;
#X obj 19 144 snapshot~;
#X obj 91 68 metro 100;
#X obj 11 88 /~ 2;
#X obj 11 110 +~ 0.5;
#X text 102 112 produces a random number between o and 1 every x milliseconds
where x is on the second inlet. defaults to 100ms per random value
;
#X connect 0 0 5 0;
#X connect 1 0 5 1;
#X connect 3 0 6 0;
#X connect 4 0 2 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 4 0;
#X restore 132 100 pd rand-ms;
#N canvas 0 22 456 306 range 0;
#X obj 20 22 inlet;
#X obj 78 22 inlet;
#X obj 132 22 inlet;
#X obj 96 134 +;
#X obj 78 44 / 2;
#X obj 44 134 -;
#X obj 78 66 t b f;
#X obj 36 234 outlet;
#X text 121 183 takes a centre float and a range float and a position
(0 to 1) and outputs a number proportionately within the range from
the centre figure;
#N canvas 0 22 506 302 from-to 0;
#X obj 91 150 *;
#X obj 61 120 -;
#X obj 45 94 t b f;
#X obj 91 120 t b f;
#X obj 131 120 t;
#X obj 81 178 +;
#X obj 10 20 inlet;
#X obj 194 20 inlet;
#X obj 76 262 outlet;
#X obj 54 20 inlet;
#X text 131 161 takes a left limit and a right limit and a position
(0 to 1) and outputs a number proportionally distanced between the
left and right limits;
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 2 0 5 0;
#X connect 2 1 1 1;
#X connect 2 1 5 1;
#X connect 3 0 0 0;
#X connect 3 1 0 1;
#X connect 4 0 0 0;
#X connect 5 0 8 0;
#X connect 6 0 2 0;
#X connect 7 0 4 0;
#X connect 7 0 1 0;
#X connect 9 0 3 0;
#X restore 44 158 pd from-to;
#X connect 0 0 3 0;
#X connect 0 0 5 0;
#X connect 1 0 4 0;
#X connect 2 0 9 1;
#X connect 3 0 9 2;
#X connect 4 0 6 0;
#X connect 5 0 9 0;
#X connect 6 0 3 0;
#X connect 6 0 5 0;
#X connect 6 1 3 1;
#X connect 6 1 5 1;
#X connect 9 0 7 0;
#X restore 45 124 pd range;
#X connect 0 0 7 0;
#X connect 1 0 4 0;
#X connect 1 0 7 1;
#X connect 2 0 6 0;
#X connect 4 0 2 0;
#X connect 5 0 6 1;
#X connect 6 0 7 2;
#X connect 7 0 3 0;
#X restore 10 193 pd grainpos-calc;
#X obj 16 47 s random-rate;
#N canvas 536 24 454 304 bang-timer 0;
#X obj 47 26 inlet;
#X obj 45 68 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X obj 47 104 timer;
#X obj 67 154 mavg;
#X msg 91 105 3;
#X obj 51 247 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 1;
#X connect 1 0 2 0;
#X connect 1 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 3 1;
#X restore 16 25 pd bang-timer;
#X obj 51 293 vsl 20 20 0.0001 1 1 0 empty empty grain-size -12 -16
0 8 -260097 -258699 -143491 950 1;
#X obj 86 292 vsl 20 20 0 1 0 0 empty empty empty 20 8 0 8 -257985
-258699 -1 0 1;
#X obj 120 4 r start;
#N canvas 768 22 380 346 grainsize-calc 0;
#X obj 164 94 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1
;
#X obj 80 116 *;
#X obj 80 94 t b f;
#X obj 125 116 *;
#X obj 125 94 t b f;
#X obj 105 276 s grainsize;
#X obj 105 254 moses 1;
#X obj 164 72 > 0;
#X obj 80 27 inlet;
#X obj 136 25 inlet;
#X obj 18 25 inlet;
#X obj 106 65 / 2;
#X obj 185 27 r random-rate;
#N canvas 0 22 458 308 range 0;
#X obj 20 22 inlet;
#X obj 78 22 inlet;
#X obj 132 22 inlet;
#X obj 96 134 +;
#X obj 78 44 / 2;
#X obj 44 134 -;
#X obj 78 66 t b f;
#X obj 36 234 outlet;
#X text 121 183 takes a centre float and a range float and a position
(0 to 1) and outputs a number proportionately within the range from
the centre figure;
#N canvas 0 22 506 302 from-to 0;
#X obj 91 150 *;
#X obj 61 120 -;
#X obj 45 94 t b f;
#X obj 91 120 t b f;
#X obj 131 120 t;
#X obj 81 178 +;
#X obj 10 20 inlet;
#X obj 194 20 inlet;
#X obj 76 262 outlet;
#X obj 54 20 inlet;
#X text 131 161 takes a left limit and a right limit and a position
(0 to 1) and outputs a number proportionally distanced between the
left and right limits;
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 2 0 5 0;
#X connect 2 1 1 1;
#X connect 2 1 5 1;
#X connect 3 0 0 0;
#X connect 3 1 0 1;
#X connect 4 0 0 0;
#X connect 5 0 8 0;
#X connect 6 0 2 0;
#X connect 7 0 4 0;
#X connect 7 0 1 0;
#X connect 9 0 3 0;
#X restore 44 158 pd from-to;
#X connect 0 0 3 0;
#X connect 0 0 5 0;
#X connect 1 0 4 0;
#X connect 2 0 9 1;
#X connect 3 0 9 2;
#X connect 4 0 6 0;
#X connect 5 0 9 0;
#X connect 6 0 3 0;
#X connect 6 0 5 0;
#X connect 6 1 3 1;
#X connect 6 1 5 1;
#X connect 9 0 7 0;
#X restore 103 230 pd range;
#N canvas 0 22 452 214 rand-ms 0;
#X obj 90 30 inlet;
#X obj 144 32 inlet;
#X obj 24 168 outlet;
#X obj 11 66 noise~;
#X obj 19 144 snapshot~;
#X obj 91 68 metro 100;
#X obj 11 88 /~ 2;
#X obj 11 110 +~ 0.5;
#X text 102 112 produces a random number between o and 1 every x milliseconds
where x is on the second inlet. defaults to 100ms per random value
;
#X connect 0 0 5 0;
#X connect 1 0 5 1;
#X connect 3 0 6 0;
#X connect 4 0 2 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 4 0;
#X restore 166 112 pd rand-ms;
#X connect 0 0 14 0;
#X connect 1 0 13 0;
#X connect 2 0 1 0;
#X connect 2 1 1 1;
#X connect 3 0 13 1;
#X connect 4 0 3 0;
#X connect 4 1 3 1;
#X connect 6 1 5 0;
#X connect 7 0 0 0;
#X connect 8 0 2 0;
#X connect 9 0 4 0;
#X connect 9 0 7 0;
#X connect 10 0 11 0;
#X connect 10 0 1 0;
#X connect 11 0 3 0;
#X connect 12 0 14 1;
#X connect 13 0 6 0;
#X connect 14 0 13 2;
#X restore 6 151 pd grainsize-calc;
#X obj 91 103 r samplesize;
#X obj 93 123 / 2;
#X obj 184 289 vsl 20 20 -5 5 0 0 empty empty play-rate -24 -16 0 8
-260097 -258699 -143491 1140 0;
#X obj 215 289 vsl 20 20 0.01 30 1 0 empty empty grain-density -24
-32 0 8 -260097 -258699 -143491 1475 0;
#X obj 90 234 s playrate;
#X obj 158 233 s play-grain-density;
#X msg 276 91 1;
#X obj 120 291 vsl 20 20 0.01 20 1 0 empty empty grain-transpose -24
-32 0 8 -260097 -258699 -143491 1151 1;
#X obj 150 291 vsl 20 20 0.01 1 1 0 empty empty empty 20 8 0 8 -257985
-258699 -1 0 1;
#X obj 243 288 vsl 20 20 0 1 0 0 empty empty grain-pan -12 -24 0 8
-260097 -258699 -143491 950 1;
#X obj 51 231 vsl 30 30 0 1 0 0 empty empty empty 20 8 0 8 -257985
-258699 -1 0 1;
#X obj 289 260 r start;
#X obj 123 125 r start;
#X msg 288 281 0.5;
#N canvas 346 22 412 274 graintranspose-calc 0;
#X obj 32 15 inlet;
#X obj 158 17 inlet;
#X obj 192 104 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1
1;
#X obj 108 126 *;
#X obj 108 104 t b f;
#X obj 153 126 *;
#X obj 153 104 t b f;
#X obj 175 225 s graintranspose;
#X obj 175 203 moses 0.01;
#X obj 192 82 > 0;
#X obj 72 17 inlet;
#X obj 72 62 / 2;
#X obj 203 21 r random-rate;
#N canvas 0 22 454 216 rand-ms 0;
#X obj 90 30 inlet;
#X obj 144 32 inlet;
#X obj 24 168 outlet;
#X obj 11 66 noise~;
#X obj 19 144 snapshot~;
#X obj 91 68 metro 100;
#X obj 11 88 /~ 2;
#X obj 11 110 +~ 0.5;
#X text 102 112 produces a random number between o and 1 every x milliseconds
where x is on the second inlet. defaults to 100ms per random value
;
#X connect 0 0 5 0;
#X connect 1 0 5 1;
#X connect 3 0 6 0;
#X connect 4 0 2 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 4 0;
#X restore 192 124 pd rand-ms;
#N canvas 0 22 458 308 range 0;
#X obj 20 22 inlet;
#X obj 78 22 inlet;
#X obj 132 22 inlet;
#X obj 96 134 +;
#X obj 78 44 / 2;
#X obj 44 134 -;
#X obj 78 66 t b f;
#X obj 36 234 outlet;
#X text 121 183 takes a centre float and a range float and a position
(0 to 1) and outputs a number proportionately within the range from
the centre figure;
#N canvas 0 22 506 302 from-to 0;
#X obj 91 150 *;
#X obj 61 120 -;
#X obj 45 94 t b f;
#X obj 91 120 t b f;
#X obj 131 120 t;
#X obj 81 178 +;
#X obj 10 20 inlet;
#X obj 194 20 inlet;
#X obj 76 262 outlet;
#X obj 54 20 inlet;
#X text 131 161 takes a left limit and a right limit and a position
(0 to 1) and outputs a number proportionally distanced between the
left and right limits;
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 2 0 5 0;
#X connect 2 1 1 1;
#X connect 2 1 5 1;
#X connect 3 0 0 0;
#X connect 3 1 0 1;
#X connect 4 0 0 0;
#X connect 5 0 8 0;
#X connect 6 0 2 0;
#X connect 7 0 4 0;
#X connect 7 0 1 0;
#X connect 9 0 3 0;
#X restore 44 158 pd from-to;
#X connect 0 0 3 0;
#X connect 0 0 5 0;
#X connect 1 0 4 0;
#X connect 2 0 9 1;
#X connect 3 0 9 2;
#X connect 4 0 6 0;
#X connect 5 0 9 0;
#X connect 6 0 3 0;
#X connect 6 0 5 0;
#X connect 6 1 3 1;
#X connect 6 1 5 1;
#X connect 9 0 7 0;
#X restore 173 178 pd range;
#X connect 0 0 3 0;
#X connect 0 0 11 0;
#X connect 1 0 6 0;
#X connect 1 0 9 0;
#X connect 2 0 13 0;
#X connect 3 0 14 0;
#X connect 4 0 3 0;
#X connect 4 1 3 1;
#X connect 5 0 14 1;
#X connect 6 0 5 0;
#X connect 6 1 5 1;
#X connect 8 1 7 0;
#X connect 9 0 2 0;
#X connect 10 0 4 0;
#X connect 11 0 5 0;
#X connect 12 0 13 1;
#X connect 13 0 14 2;
#X connect 14 0 8 0;
#X restore 123 169 pd graintranspose-calc;
#N canvas 0 22 294 278 grainpan 0;
#X obj 88 87 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1
;
#X obj 73 232 s grainpan;
#X obj 88 65 > 0;
#X obj 22 20 inlet;
#X obj 70 18 inlet;
#X obj 117 19 r random-rate;
#N canvas 0 22 454 304 range 0;
#X obj 20 22 inlet;
#X obj 78 22 inlet;
#X obj 132 22 inlet;
#X obj 96 134 +;
#X obj 78 44 / 2;
#X obj 44 134 -;
#X obj 78 66 t b f;
#X obj 36 234 outlet;
#X text 121 183 takes a centre float and a range float and a position
(0 to 1) and outputs a number proportionately within the range from
the centre figure;
#N canvas 0 22 506 302 from-to 0;
#X obj 91 150 *;
#X obj 61 120 -;
#X obj 45 94 t b f;
#X obj 91 120 t b f;
#X obj 131 120 t;
#X obj 81 178 +;
#X obj 10 20 inlet;
#X obj 194 20 inlet;
#X obj 76 262 outlet;
#X obj 54 20 inlet;
#X text 131 161 takes a left limit and a right limit and a position
(0 to 1) and outputs a number proportionally distanced between the
left and right limits;
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 2 0 5 0;
#X connect 2 1 1 1;
#X connect 2 1 5 1;
#X connect 3 0 0 0;
#X connect 3 1 0 1;
#X connect 4 0 0 0;
#X connect 5 0 8 0;
#X connect 6 0 2 0;
#X connect 7 0 4 0;
#X connect 7 0 1 0;
#X connect 9 0 3 0;
#X restore 42 166 pd from-to;
#X connect 0 0 3 0;
#X connect 0 0 5 0;
#X connect 1 0 4 0;
#X connect 2 0 9 1;
#X connect 3 0 9 2;
#X connect 4 0 6 0;
#X connect 5 0 9 0;
#X connect 6 0 3 0;
#X connect 6 0 5 0;
#X connect 6 1 3 1;
#X connect 6 1 5 1;
#X connect 9 0 7 0;
#X restore 71 208 pd range;
#N canvas 0 22 452 214 rand-ms 0;
#X obj 90 30 inlet;
#X obj 144 32 inlet;
#X obj 24 168 outlet;
#X obj 11 66 noise~;
#X obj 19 144 snapshot~;
#X obj 91 68 metro 100;
#X obj 11 88 /~ 2;
#X obj 11 110 +~ 0.5;
#X text 102 112 produces a random number between o and 1 every x milliseconds
where x is on the second inlet. defaults to 100ms per random value
;
#X connect 0 0 5 0;
#X connect 1 0 5 1;
#X connect 3 0 6 0;
#X connect 4 0 2 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 4 0;
#X restore 90 108 pd rand-ms;
#X connect 0 0 7 0;
#X connect 2 0 0 0;
#X connect 3 0 6 0;
#X connect 4 0 2 0;
#X connect 4 0 6 1;
#X connect 5 0 7 1;
#X connect 6 0 1 0;
#X connect 7 0 6 2;
#X restore 270 303 pd grainpan;
#X obj 247 93 *;
#X obj 224 47 t b f;
#X obj 247 27 r grainposition;
#N canvas 0 22 414 318 up-or-dn 0;
#X obj 18 132 <;
#X obj 18 154 * -2;
#X obj 18 176 + 1;
#X obj 18 110 t f f;
#X obj 19 10 inlet;
#X obj 19 272 outlet;
#X text 56 39 this unit outputs a +1 if the current input is greater
than the previous input \, and outputs a -1 if the current input is
less than the previous input.;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 0 1;
#X connect 3 1 0 0;
#X connect 4 0 3 0;
#X restore 267 48 pd up-or-dn;
#X obj 169 25 r grainsize;
#N canvas 159 26 523 280 output 0;
#X obj 338 160 t b;
#X obj 338 110 f;
#X obj 338 60 inlet;
#X text 344 29 mute;
#X obj 338 185 f;
#X msg 425 178 0;
#X msg 338 85 bang;
#X obj 338 135 moses 1;
#X obj 425 153 t b f;
#X obj 397 114 moses 1;
#X obj 83 148 dbtorms;
#X obj 28 179 inlet~;
#X obj 199 41 inlet;
#X text 199 18 level;
#X msg 96 65 set \$1;
#X obj 96 90 outlet;
#X msg 214 65 \; pd dsp 1;
#X obj 83 198 line~;
#X obj 28 222 *~;
#X obj 83 173 pack 0 50;
#X text 96 114 show level;
#X obj -22 179 inlet~;
#X obj -22 222 *~;
#X obj -22 245 dac~;
#X text -22 156 left;
#X text 28 156 right;
#X obj 397 89 r \$0-master-lvl;
#X obj 338 210 s \$0-master-lvl;
#X obj 199 100 s \$0-master-lvl;
#X obj 83 42 r \$0-master-lvl;
#X connect 0 0 4 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 4 0 27 0;
#X connect 5 0 27 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 19 0;
#X connect 11 0 18 0;
#X connect 12 0 16 0;
#X connect 12 0 28 0;
#X connect 14 0 15 0;
#X connect 17 0 18 1;
#X connect 17 0 22 1;
#X connect 18 0 23 1;
#X connect 19 0 17 0;
#X connect 21 0 22 0;
#X connect 22 0 23 0;
#X connect 26 0 1 1;
#X connect 26 0 9 0;
#X connect 29 0 10 0;
#X connect 29 0 14 0;
#X restore 281 185 pd output;
#X msg 307 210 MUTE;
#X msg 304 143 94;
#X obj 273 3 r grainpan;
#X obj 169 3 r graintranspose;
#X obj 188 139 s samplesize;
#X obj 264 162 bng 15 250 50 0 empty empty empty 20 8 0 8 -24198 -258699
-42246;
#X obj 192 119 nm-poly-stereo-grain 15;
#X obj 132 24 inlet;
#X obj 286 210 bng 15 250 50 0 empty empty mute-unmute -16 24 0 8 -258699
-1 -143491;
#X obj 129 67 tgl 15 0 empty empty stop-start -16 -16 0 8 -241291 -258699
-143491 0 1;
#X obj 180 46 t b f;
#X msg 129 86 0;
#X msg 217 92 0;
#X msg 313 281 0;
#X msg 45 86 0;
#X obj 221 215 nbx 5 14 0.01 50 0 0 empty empty empty 0 -6 0 10 -241291
-1 -1 5.00431 256;
#X obj 285 162 nbx 5 14 0 110 0 0 empty empty output-level -32 -16
0 8 -24198 -1 -42246 94 256;
#X obj 27 67 bng 15 250 50 0 empty empty empty 0 -6 0 8 -241291 -1
-1;
#X obj 44 67 bng 15 250 50 0 empty empty empty 0 -6 0 8 -44926 -1 -1
;
#X obj 61 67 bng 15 250 50 0 empty empty empty 0 -6 0 8 -241291 -1
-1;
#X obj 78 67 bng 15 250 50 0 empty empty empty 0 -6 0 8 -44926 -1 -1
;
#X obj 105 47 s retrigger;
#X obj 95 67 bng 15 250 50 0 empty empty empty 0 -6 0 8 -241291 -1
-1;
#X obj 112 67 bng 15 250 50 0 empty empty empty 0 -6 0 8 -44926 -1
-1;
#X obj 146 67 bng 15 250 50 0 empty empty empty 0 -6 0 8 -241291 -1
-1;
#X obj 288 244 bng 15 250 50 0 empty empty empty 0 -6 0 8 -241291 -1
-1;
#X obj 314 244 bng 15 250 50 0 empty empty empty 0 -6 0 8 -44926 -1
-1;
#X obj 163 67 cnv 15 230 30 empty empty <--buttons-reset-default-values
8 16 0 8 -262144 -1 0;
#X obj 200 188 r grainsize;
#X obj 95 215 nbx 5 14 0.01 50 0 0 empty empty empty 0 -6 0 10 -241291
-1 -1 0.999377 256;
#X obj 127 191 nbx 5 14 1 96000 0 0 empty empty empty 0 -6 0 10 -241291
-1 -1 854.44 256;
#X msg 123 147 1;
#X msg 188 92 1;
#X msg 303 91 5;
#X msg 88 86 0.01;
#X obj 163 215 nbx 5 14 -50 50 0 0 empty empty empty 0 -6 0 10 -241291
-1 -1 1 256;
#X obj 3 84 t b f;
#X floatatom 12 126 5 0 0 0 - - -;
#X obj 9 107 * 100;
#X obj 6 173 ctlout 127 2;
#X connect 0 0 3 0;
#X connect 1 0 3 1;
#X connect 2 0 0 0;
#X connect 2 0 68 0;
#X connect 2 1 5 0;
#X connect 5 0 4 0;
#X connect 6 0 9 1;
#X connect 7 0 9 2;
#X connect 8 0 66 0;
#X connect 8 0 64 0;
#X connect 8 0 43 0;
#X connect 8 0 44 0;
#X connect 8 0 46 0;
#X connect 8 0 16 0;
#X connect 8 0 65 0;
#X connect 10 0 11 0;
#X connect 11 0 9 0;
#X connect 12 0 67 0;
#X connect 13 0 47 0;
#X connect 16 0 12 0;
#X connect 17 0 61 0;
#X connect 18 0 24 2;
#X connect 19 0 25 0;
#X connect 20 0 25 1;
#X connect 21 0 23 0;
#X connect 21 0 45 0;
#X connect 21 0 33 0;
#X connect 22 0 63 0;
#X connect 23 0 19 0;
#X connect 26 0 38 1;
#X connect 27 0 26 0;
#X connect 27 1 26 1;
#X connect 28 0 29 0;
#X connect 28 0 38 2;
#X connect 29 0 27 0;
#X connect 30 0 26 0;
#X connect 31 0 48 0;
#X connect 32 0 31 3;
#X connect 33 0 48 0;
#X connect 34 0 38 3;
#X connect 35 0 38 0;
#X connect 37 0 33 0;
#X connect 38 0 31 0;
#X connect 38 1 31 1;
#X connect 38 2 36 0;
#X connect 39 0 38 0;
#X connect 39 0 16 0;
#X connect 40 0 32 0;
#X connect 41 0 42 0;
#X connect 42 0 12 0;
#X connect 42 1 12 0;
#X connect 43 0 7 0;
#X connect 44 0 18 0;
#X connect 45 0 20 0;
#X connect 46 0 1 0;
#X connect 47 0 15 0;
#X connect 48 0 31 2;
#X connect 49 0 53 0;
#X connect 50 0 46 0;
#X connect 51 0 66 0;
#X connect 52 0 43 0;
#X connect 54 0 64 0;
#X connect 55 0 44 0;
#X connect 56 0 65 0;
#X connect 57 0 23 0;
#X connect 58 0 45 0;
#X connect 60 0 62 0;
#X connect 61 0 24 1;
#X connect 63 0 24 0;
#X connect 64 0 17 0;
#X connect 65 0 13 0;
#X connect 66 0 6 0;
#X connect 67 0 14 0;
#X connect 68 1 70 0;
#X connect 69 0 71 0;
#X connect 70 0 69 0;
#X coords 0 0 1 1 360 360 1 0 0;
#X restore 172 172 pd silo;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
#X connect 6 0 24 0;
#X connect 7 0 6 0;
#X connect 10 0 9 0;
#X connect 11 0 12 0;
#X connect 14 0 17 0;
#X connect 15 0 14 0;
#X connect 18 0 19 0;
#X connect 22 0 10 0;