forked from solipd/AudioLab
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpp.grainer~.pd
2185 lines (2185 loc) · 60.6 KB
/
pp.grainer~.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
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#N struct 2325-template float x float y float c float s float th float
stretch array 2325-plus 2325-template-y array 2325-minus 2325-template-y
;
#N struct 2325-template-y float y;
#N canvas 92 81 629 549 10;
#X obj 522 235 table \$0-sf;
#X obj 100 213 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 100 325 metro 50;
#X msg 99 405 next bang;
#X obj 100 454 outlet~;
#X obj 294 452 outlet~;
#N canvas 206 109 1057 586 stuff 0;
#X obj 28 41 r \$0-samplelength;
#X obj 62 63 r \$0-samplerate;
#X obj 62 86 / 1000;
#X obj 28 84 /;
#X obj 44 142 s \$0-postionguir;
#X obj 152 315 r \$0-trigger-speed;
#X obj 152 337 * 128;
#X obj 139 457 * -1;
#X obj 147 478 pack;
#X msg 147 500 range \$1 \$2;
#X obj 147 531 s \$0-sizer;
#X obj 43 166 s \$0-positionr;
#X obj 225 427 r \$0-size;
#X obj 207 454 <;
#X obj 253 460 f;
#X obj 152 428 t f f f f;
#X obj 207 476 sel 1;
#X obj 253 503 s \$0-size;
#X obj 28 187 s \$0-random-positionr;
#X obj 496 401 s \$0-playguicnv;
#X obj 461 325 sel 0 1;
#X obj 461 297 r \$0-playbacktgl;
#X msg 496 375 color 16;
#X msg 461 352 color 11;
#X obj 580 8 r \$0-grainposition;
#X obj 598 46 r \$0-samplelength;
#X obj 580 108 /;
#X obj 598 89 /;
#X obj 633 90 / 1000;
#X obj 580 148 * 498;
#X obj 562 255 s \$0-zeiger;
#X obj 633 68 r \$0-samplerate;
#X msg 562 232 pos \$1 1;
#X obj 562 169 f;
#X obj 502 142 metro 50;
#X obj 562 211 change;
#X obj 301 13 r \$0-visbng;
#X obj 321 144 s \$0-visbngr;
#X msg 301 116 color 0 0;
#X msg 385 116 color 10 10;
#X obj 383 91 del 250;
#X obj 301 35 t b;
#X obj 214 89 s pd-\$0-grainer~;
#X text 13 296 grainsize should not exceed grain-distance * 128 (number
of max. active grains);
#X obj 822 75 r \$0-trigger-speed;
#X obj 793 4 r \$0-size;
#X obj 793 193 min 128;
#X obj 793 119 /;
#X obj 822 97 t b f;
#X obj 793 72 +;
#X obj 807 25 r \$0-random-size;
#X obj 807 47 t b f;
#X obj 793 140 i;
#X obj 856 173 r \$0-int_triggeronoff;
#X obj 792 298 spigot;
#X obj 856 195 t f f;
#X obj 804 214 sel 1;
#X obj 793 234 f;
#X obj 791 374 s \$0-active-grains;
#X msg 791 352 label \$1;
#X obj 869 231 loadbang;
#X msg 869 253 0;
#X obj 791 333 makefilename %d;
#X obj 775 274 f;
#X obj 562 191 mod 498;
#X obj 580 129 wrap;
#X obj 406 142 s \$0-namecnv;
#X obj 705 234 metro 100;
#X obj 793 167 abs;
#N canvas 343 276 853 414 normalize 0;
#X obj 111 205 expr if($f1<$f2 \, $f2 \, $f1);
#X obj 207 181 abs;
#X msg 415 364 normalize \$1;
#X obj 528 19 r \$0-normalize;
#X obj 529 60 del 100;
#X obj 370 315 f;
#X obj 529 41 t b;
#X obj 351 152 r \$0-normalize;
#X obj 297 25 t b;
#X obj 351 172 change;
#X obj 351 194 pipe 20;
#X msg 357 55 0;
#X obj 357 76 s \$0-normalizer;
#X obj 415 385 s \$0-sf;
#X obj 529 89 s waveform/\$0-sf;
#X obj 350 213 sel 0;
#X obj 276 73 t b b;
#X obj 111 128 array max \$0-sf;
#X obj 207 160 array min \$0-sf;
#X obj 276 3 r \$0-sf-path;
#X obj 286 49 del 10;
#X connect 0 0 5 1;
#X connect 1 0 0 1;
#X connect 2 0 13 0;
#X connect 3 0 6 0;
#X connect 4 0 14 0;
#X connect 5 0 2 0;
#X connect 6 0 4 0;
#X connect 7 0 9 0;
#X connect 8 0 20 0;
#X connect 8 0 11 0;
#X connect 9 0 10 0;
#X connect 10 0 15 0;
#X connect 11 0 12 0;
#X connect 15 0 5 0;
#X connect 15 1 2 0;
#X connect 16 0 17 0;
#X connect 16 1 18 0;
#X connect 17 0 0 0;
#X connect 18 0 1 0;
#X connect 19 0 8 0;
#X connect 20 0 16 0;
#X restore 323 226 pd normalize;
#X obj 502 98 r \$0-visbng;
#X obj 705 192 r \$0-visbng;
#X obj 502 119 t b;
#X obj 705 213 t b;
#X msg 214 65 relocate 540x340+1+1 1x1+50+60 \, vis 1 \, editmode 0
;
#X msg 28 114 range 0 \$1;
#X msg 463 538 set \$1 \, bang;
#X obj 463 562 s waveform/\$0-sf;
#X obj 463 438 r \$0-visbng;
#X obj 559 443 r \$0-set;
#X obj 463 461 t b;
#X obj 463 514 symbol \$0-sf;
#X obj 559 466 t b a;
#X obj 152 398 spigot;
#X obj 196 340 r \$0-int_triggeronoff;
#X obj 196 363 t f f;
#X obj 8 407 sel 0;
#X msg 8 430 range -1e+06 1e+06;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 3 1;
#X connect 3 0 75 0;
#X connect 5 0 6 0;
#X connect 6 0 83 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 12 0 13 1;
#X connect 13 0 16 0;
#X connect 14 0 17 0;
#X connect 15 0 7 0;
#X connect 15 1 8 1;
#X connect 15 2 13 0;
#X connect 15 3 14 1;
#X connect 16 0 14 0;
#X connect 20 0 23 0;
#X connect 20 1 22 0;
#X connect 21 0 20 0;
#X connect 22 0 19 0;
#X connect 23 0 19 0;
#X connect 24 0 26 0;
#X connect 25 0 27 0;
#X connect 26 0 65 0;
#X connect 27 0 26 1;
#X connect 28 0 27 1;
#X connect 29 0 33 1;
#X connect 31 0 28 0;
#X connect 32 0 30 0;
#X connect 33 0 64 0;
#X connect 34 0 33 0;
#X connect 35 0 32 0;
#X connect 36 0 41 0;
#X connect 38 0 37 0;
#X connect 38 0 66 0;
#X connect 39 0 37 0;
#X connect 39 0 66 0;
#X connect 40 0 39 0;
#X connect 41 0 74 0;
#X connect 41 0 40 0;
#X connect 41 0 38 0;
#X connect 44 0 48 0;
#X connect 45 0 49 0;
#X connect 46 0 57 0;
#X connect 47 0 52 0;
#X connect 48 0 47 0;
#X connect 48 1 47 1;
#X connect 49 0 47 0;
#X connect 50 0 51 0;
#X connect 51 0 49 0;
#X connect 51 1 49 1;
#X connect 52 0 68 0;
#X connect 53 0 55 0;
#X connect 54 0 62 0;
#X connect 55 0 56 0;
#X connect 55 1 54 1;
#X connect 56 0 57 0;
#X connect 56 1 62 0;
#X connect 57 0 63 1;
#X connect 59 0 58 0;
#X connect 60 0 61 0;
#X connect 61 0 62 0;
#X connect 62 0 59 0;
#X connect 63 0 54 0;
#X connect 64 0 35 0;
#X connect 65 0 29 0;
#X connect 67 0 63 0;
#X connect 68 0 46 0;
#X connect 70 0 72 0;
#X connect 71 0 73 0;
#X connect 72 0 34 0;
#X connect 73 0 67 0;
#X connect 74 0 42 0;
#X connect 75 0 4 0;
#X connect 75 0 11 0;
#X connect 75 0 18 0;
#X connect 76 0 77 0;
#X connect 78 0 80 0;
#X connect 79 0 82 0;
#X connect 80 0 81 0;
#X connect 81 0 76 0;
#X connect 82 0 81 0;
#X connect 82 1 81 1;
#X connect 83 0 15 0;
#X connect 84 0 85 0;
#X connect 85 0 86 0;
#X connect 85 1 83 1;
#X connect 86 0 87 0;
#X connect 87 0 10 0;
#X restore 435 255 pd stuff;
#X obj 100 348 s \$0-trigger;
#X obj 100 169 r \$0-int_triggeronoff;
#X obj 153 196 r \$0-trigger-speed;
#X obj 212 241 r \$0-random-trigger-speed;
#X obj 153 286 +;
#X obj 163 219 r \$0-trigger;
#X obj 163 241 random;
#X obj 163 263 t b f;
#N canvas 244 109 924 538 map 0;
#X obj 39 258 s \$0-grainpitch;
#X obj 59 193 r \$0-pitch;
#X obj 39 236 +;
#X obj 58 213 t b f;
#X obj 39 83 r \$0-trigger;
#X obj 39 172 -;
#X obj 39 150 random;
#X obj 78 106 r \$0-random-pitch;
#X obj 78 129 * 2;
#X obj 464 243 s \$0-grainpan;
#X obj 464 194 / 100;
#X obj 493 44 r \$0-trigger;
#X obj 464 22 r \$0-pan;
#X obj 464 221 clip -1 1;
#X obj 533 64 r \$0-random-pan;
#X obj 532 84 * 2;
#X obj 493 126 -;
#X obj 493 104 random;
#X obj 461 277 r \$0-amp;
#X obj 461 422 + 100;
#X obj 461 444 dbtorms;
#X obj 471 368 t b f;
#X obj 472 303 r \$0-trigger;
#X obj 472 346 random;
#X obj 511 324 r \$0-random-amp;
#X obj 461 465 s \$0-grainamp;
#X obj 461 396 -;
#X obj 493 148 t b f;
#X obj 464 171 +;
#X obj 705 48 r \$0-trigger;
#X obj 673 148 s \$0-freq;
#X obj 673 297 s \$0-q;
#X obj 705 70 random;
#X obj 705 92 t b f;
#X obj 673 122 +;
#X obj 690 207 r \$0-trigger;
#X obj 690 229 random;
#X obj 690 251 t b f;
#X obj 673 276 +;
#X obj 673 25 r \$0-filter-freq;
#X obj 755 69 r \$0-random-filter-freq;
#X obj 673 174 r \$0-filter-q;
#X obj 739 228 r \$0-random-filter-q;
#X obj 217 399 s \$0-grainsize;
#X obj 217 36 r \$0-size;
#X obj 264 85 r \$0-random-size;
#X obj 231 118 random;
#X obj 231 62 r \$0-trigger;
#X obj 217 168 +;
#X obj 231 141 t b f;
#X obj 298 174 r \$0-int_triggeronoff;
#X obj 217 195 list prepend 0;
#X obj 254 275 r \$0-trigger-speed;
#X obj 254 340 * -1;
#X obj 254 298 * 128;
#X obj 254 319 t f f;
#X obj 242 361 clip;
#X obj 217 218 list trim;
#X obj 217 241 route 0 1;
#X connect 1 0 3 0;
#X connect 2 0 0 0;
#X connect 3 0 2 0;
#X connect 3 1 2 1;
#X connect 4 0 6 0;
#X connect 5 0 2 0;
#X connect 6 0 5 0;
#X connect 7 0 5 1;
#X connect 7 0 8 0;
#X connect 8 0 6 1;
#X connect 10 0 13 0;
#X connect 11 0 17 0;
#X connect 12 0 28 0;
#X connect 13 0 9 0;
#X connect 14 0 15 0;
#X connect 14 0 16 1;
#X connect 15 0 17 1;
#X connect 16 0 27 0;
#X connect 17 0 16 0;
#X connect 18 0 26 0;
#X connect 19 0 20 0;
#X connect 20 0 25 0;
#X connect 21 0 26 0;
#X connect 21 1 26 1;
#X connect 22 0 23 0;
#X connect 23 0 21 0;
#X connect 24 0 23 1;
#X connect 26 0 19 0;
#X connect 27 0 28 0;
#X connect 27 1 28 1;
#X connect 28 0 10 0;
#X connect 29 0 32 0;
#X connect 32 0 33 0;
#X connect 33 0 34 0;
#X connect 33 1 34 1;
#X connect 34 0 30 0;
#X connect 35 0 36 0;
#X connect 36 0 37 0;
#X connect 37 0 38 0;
#X connect 37 1 38 1;
#X connect 38 0 31 0;
#X connect 39 0 34 0;
#X connect 40 0 32 1;
#X connect 41 0 38 0;
#X connect 42 0 36 1;
#X connect 44 0 48 0;
#X connect 45 0 46 1;
#X connect 46 0 49 0;
#X connect 47 0 46 0;
#X connect 48 0 51 0;
#X connect 49 0 48 0;
#X connect 49 1 48 1;
#X connect 50 0 51 1;
#X connect 51 0 57 0;
#X connect 52 0 54 0;
#X connect 53 0 56 1;
#X connect 54 0 55 0;
#X connect 55 0 53 0;
#X connect 55 1 56 2;
#X connect 56 0 43 0;
#X connect 57 0 58 0;
#X connect 58 0 43 0;
#X connect 58 1 56 0;
#X restore 435 276 pd map;
#N canvas 537 50 560 555 envelope 0;
#N canvas 284 50 661 699 hann 0;
#X obj 102 334 until;
#X obj 102 355 f;
#X obj 129 361 + 1;
#X msg 167 330 0;
#X obj 154 205 t b b;
#X obj 103 382 t f f;
#X obj 99 499 expr -cos($f1*3.14159)*.5+.5;
#X obj 322 526 expr -cos($f1*3.14159)*.5+.5;
#X obj 322 551 * -1;
#X obj 323 573 + 1;
#X obj 181 421 moses;
#X obj 169 612 pow 1;
#X obj 445 120 exp;
#X obj 445 8 inlet shape;
#X obj 445 28 / 100;
#X obj 291 8 inlet x;
#X obj 101 468 /;
#X obj 102 292 f 1024;
#X obj 206 658 tabwrite \$0-window;
#X obj 322 497 expr ($f1-$f2)/(1024-$f2-1);
#X obj 444 143 t b f;
#X obj 290 135 t b f;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 5 0;
#X connect 2 0 1 1;
#X connect 3 0 1 1;
#X connect 4 0 17 0;
#X connect 4 1 3 0;
#X connect 5 0 10 0;
#X connect 5 1 18 1;
#X connect 6 0 11 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 11 0;
#X connect 10 0 16 0;
#X connect 10 1 19 0;
#X connect 11 0 18 0;
#X connect 12 0 20 0;
#X connect 13 0 14 0;
#X connect 14 0 12 0;
#X connect 15 0 21 0;
#X connect 16 0 6 0;
#X connect 17 0 0 0;
#X connect 19 0 7 0;
#X connect 20 0 4 0;
#X connect 20 1 11 1;
#X connect 21 0 4 0;
#X connect 21 1 10 1;
#X connect 21 1 16 1;
#X connect 21 1 19 1;
#X restore 87 503 pd hann;
#N canvas 702 50 631 726 trapez 0;
#X obj 43 374 until;
#X obj 43 395 f;
#X obj 70 401 + 1;
#X msg 161 344 0;
#X obj 120 480 moses;
#X obj 134 280 t b b;
#X obj 119 439 t f f;
#X obj 118 608 clip 0 1;
#X obj 120 583 *;
#X obj 238 12 inlet x;
#X obj 435 15 inlet shape;
#X obj 435 82 / 100;
#X obj 435 107 + 1;
#X obj 435 173 max 1;
#X obj 43 347 f 1024;
#X obj 213 505 expr -($f1-$f2)/(1024-$f2-1)+1;
#X obj 435 195 t b f;
#X obj 238 164 t b f f f;
#X obj 148 640 tabwrite \$0-window;
#X obj 120 531 / 1024;
#X obj 435 58 + 200;
#X obj 435 151 -;
#X msg 435 129 6 \$1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 6 0;
#X connect 2 0 1 1;
#X connect 3 0 1 1;
#X connect 4 0 19 0;
#X connect 4 1 15 0;
#X connect 5 0 14 0;
#X connect 5 1 3 0;
#X connect 6 0 4 0;
#X connect 6 1 18 1;
#X connect 7 0 18 0;
#X connect 8 0 7 0;
#X connect 9 0 17 0;
#X connect 10 0 20 0;
#X connect 11 0 12 0;
#X connect 12 0 22 0;
#X connect 13 0 16 0;
#X connect 14 0 0 0;
#X connect 15 0 8 0;
#X connect 16 0 5 0;
#X connect 16 1 8 1;
#X connect 17 0 5 0;
#X connect 17 1 4 1;
#X connect 17 2 19 1;
#X connect 17 3 15 1;
#X connect 19 0 8 0;
#X connect 20 0 11 0;
#X connect 21 0 13 0;
#X connect 22 0 21 0;
#X restore 296 501 pd trapez;
#X obj 125 175 f;
#X obj 241 117 t b f;
#X obj 401 114 t b f;
#N canvas 633 50 680 699 curved2 0;
#X obj 64 415 until;
#X obj 64 436 f;
#X obj 91 442 + 1;
#X msg 139 412 0;
#X obj 113 328 t b b;
#X obj 63 472 t f f;
#X obj 53 586 expr if($f2<=0 \, -pow((1-$f1) \, (-$f2+1))+1 \, pow($f1
\, $f2+1));
#X obj 127 631 expr if($f2<=0 \, -pow((1-$f1) \, (-$f2+1))+1 \, pow($f1
\, $f2+1));
#X obj 128 654 * -1;
#X obj 129 676 + 1;
#X obj 63 509 moses;
#X obj 576 171 exp;
#X obj 478 86 moses 0;
#X obj 478 168 * -1;
#X obj 479 209 exp;
#X obj 480 230 * -1;
#X obj 478 123 + 1;
#X obj 478 146 moses -1;
#X obj 479 190 - 1;
#X obj 479 62 - 1;
#X obj 63 551 /;
#X obj 302 21 inlet x;
#X obj 479 18 inlet shape;
#X obj 479 38 / 100;
#X obj 493 265 t b b f f;
#X obj 478 608 * -1;
#X obj 64 381 f 1024;
#X obj 141 729 tabwrite \$0-window;
#X obj 189 546 expr ($f1-$f2)/(1024-$f2-1);
#X obj 302 211 t b f f f;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 5 0;
#X connect 2 0 1 1;
#X connect 3 0 1 1;
#X connect 4 0 26 0;
#X connect 4 1 3 0;
#X connect 5 0 10 0;
#X connect 5 1 27 1;
#X connect 6 0 27 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 27 0;
#X connect 10 0 20 0;
#X connect 10 1 28 0;
#X connect 11 0 24 0;
#X connect 12 0 16 0;
#X connect 12 1 11 0;
#X connect 13 0 18 0;
#X connect 14 0 15 0;
#X connect 15 0 24 0;
#X connect 16 0 17 0;
#X connect 17 0 13 0;
#X connect 17 1 24 0;
#X connect 18 0 14 0;
#X connect 19 0 12 0;
#X connect 20 0 6 0;
#X connect 21 0 29 0;
#X connect 22 0 23 0;
#X connect 23 0 19 0;
#X connect 24 0 4 0;
#X connect 24 2 6 1;
#X connect 24 3 25 0;
#X connect 25 0 7 1;
#X connect 26 0 0 0;
#X connect 28 0 7 0;
#X connect 29 0 4 0;
#X connect 29 1 10 1;
#X connect 29 2 20 1;
#X connect 29 3 28 1;
#X restore 219 501 pd curved2;
#N canvas 633 50 680 699 curved 0;
#X obj 66 424 until;
#X obj 66 445 f;
#X obj 93 451 + 1;
#X msg 141 421 0;
#X obj 115 337 t b b;
#X obj 65 481 t f f;
#X obj 55 595 expr if($f2<=0 \, -pow((1-$f1) \, (-$f2+1))+1 \, pow($f1
\, $f2+1));
#X obj 129 640 expr if($f2<=0 \, -pow((1-$f1) \, (-$f2+1))+1 \, pow($f1
\, $f2+1));
#X obj 130 663 * -1;
#X obj 131 685 + 1;
#X obj 65 518 moses;
#X obj 578 180 exp;
#X obj 480 95 moses 0;
#X obj 480 177 * -1;
#X obj 481 218 exp;
#X obj 482 239 * -1;
#X obj 480 132 + 1;
#X obj 480 155 moses -1;
#X obj 481 199 - 1;
#X obj 481 71 - 1;
#X obj 65 560 /;
#X obj 304 30 inlet x;
#X obj 481 27 inlet shape;
#X obj 481 47 / 100;
#X obj 495 274 t b b f f;
#X obj 66 397 f 1024;
#X obj 143 741 tabwrite \$0-window;
#X obj 191 555 expr ($f1-$f2)/(1024-$f2-1);
#X obj 304 220 t b f f f;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 5 0;
#X connect 2 0 1 1;
#X connect 3 0 1 1;
#X connect 4 0 25 0;
#X connect 4 1 3 0;
#X connect 5 0 10 0;
#X connect 5 1 26 1;
#X connect 6 0 26 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 26 0;
#X connect 10 0 20 0;
#X connect 10 1 27 0;
#X connect 11 0 24 0;
#X connect 12 0 16 0;
#X connect 12 1 11 0;
#X connect 13 0 18 0;
#X connect 14 0 15 0;
#X connect 15 0 24 0;
#X connect 16 0 17 0;
#X connect 17 0 13 0;
#X connect 17 1 24 0;
#X connect 18 0 14 0;
#X connect 19 0 12 0;
#X connect 20 0 6 0;
#X connect 21 0 28 0;
#X connect 22 0 23 0;
#X connect 23 0 19 0;
#X connect 24 0 4 0;
#X connect 24 2 6 1;
#X connect 24 3 7 1;
#X connect 25 0 0 0;
#X connect 27 0 7 0;
#X connect 28 0 4 0;
#X connect 28 1 10 1;
#X connect 28 2 20 1;
#X connect 28 3 27 1;
#X restore 148 501 pd curved;
#X obj 124 375 pack 0 512;
#X obj 248 375 pack 0 0;
#X obj 124 200 t f f;
#N canvas 227 104 947 699 complex 0;
#X obj 190 316 until;
#X obj 190 337 f;
#X obj 217 343 + 1;
#X msg 265 302 0;
#X obj 211 240 t b b;
#X obj 460 630 expr -cos($f1*3.14159)*.5+.5;
#X obj 282 512 moses;
#X obj 235 741 pow 1;
#X obj 680 199 t b f;
#X obj 254 674 expr -cos($f1*3.14159)*.5+.5;
#X obj 324 774 *;
#X obj 460 653 * -1;
#X obj 461 675 + 1;
#X obj 190 612 expr -cos($f1*18.8496)*.5+.5;
#X obj 679 36 inlet vsl;
#X obj 399 28 inlet hsl;
#X obj 399 143 t b f f f;
#X obj 190 482 t float float;
#X obj 190 367 t float float;
#X obj 189 291 f 1024;
#X obj 190 588 / 1024;
#X obj 460 602 expr ($f1-$f2)/(1024-$f2-1);
#X obj 324 797 tabwrite \$0-window;
#X obj 254 651 / 512;
#X obj 680 71 + 200;
#X obj 680 93 / 400;
#X obj 680 137 + 0.2;
#X obj 680 115 * 2.5;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 18 0;
#X connect 2 0 1 1;
#X connect 3 0 1 1;
#X connect 4 0 19 0;
#X connect 4 1 3 0;
#X connect 5 0 11 0;
#X connect 6 0 23 0;
#X connect 6 1 21 0;
#X connect 7 0 10 0;
#X connect 8 0 4 0;
#X connect 8 1 7 1;
#X connect 9 0 10 1;
#X connect 10 0 22 0;
#X connect 11 0 12 0;
#X connect 12 0 10 1;
#X connect 13 0 7 0;
#X connect 14 0 24 0;
#X connect 15 0 16 0;
#X connect 16 0 4 0;
#X connect 16 1 6 1;
#X connect 16 2 23 1;
#X connect 16 3 21 1;
#X connect 17 0 20 0;
#X connect 17 1 6 0;
#X connect 18 0 17 0;
#X connect 18 1 22 1;
#X connect 19 0 0 0;
#X connect 20 0 13 0;
#X connect 21 0 5 0;
#X connect 23 0 9 0;
#X connect 24 0 25 0;
#X connect 25 0 27 0;
#X connect 26 0 8 0;
#X connect 27 0 26 0;
#X restore 373 501 pd complex;
#X obj 124 401 route 0 1 2 3 4;
#X obj 246 400 route 0 1 2 3 4;
#X obj 241 50 r \$0-env-bias;
#X obj 401 44 r \$0-env-shape;
#X text 78 520 well \, i think some of the math in this subpatches
is redundant;
#X obj 401 68 * 400;
#X obj 401 90 - 200;
#X obj 241 71 * 974;
#X obj 241 93 + 25;
#X obj 125 60 r \$0-env-type;
#X connect 2 0 9 0;
#X connect 3 0 2 0;
#X connect 3 1 7 1;
#X connect 4 0 2 0;
#X connect 4 1 8 1;
#X connect 7 0 11 0;
#X connect 8 0 12 0;
#X connect 9 0 7 0;
#X connect 9 1 8 0;
#X connect 11 0 0 0;
#X connect 11 1 6 0;
#X connect 11 2 5 0;
#X connect 11 3 1 0;
#X connect 11 4 10 0;
#X connect 12 0 0 1;
#X connect 12 1 6 1;
#X connect 12 2 5 1;
#X connect 12 3 1 1;
#X connect 12 4 10 1;
#X connect 13 0 18 0;
#X connect 14 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 4 0;
#X connect 18 0 19 0;
#X connect 19 0 3 0;
#X connect 20 0 2 0;
#X restore 435 297 pd envelope;
#X obj 457 103 inlet;
#X obj 318 101 inlet~;
#N canvas 280 97 888 439 record 0;
#X msg 243 237 start;
#X obj 443 82 sel 0 1;
#X obj 481 227 timer;
#X obj 481 265 * 44.1;
#X obj 535 221 samplerate~;
#X obj 535 246 / 1000;
#X msg 156 239 stop;
#X obj 416 57 t f f;
#X obj 298 108 sel 1 0;
#X msg 715 247 resize 1.67772e+07;
#X msg 481 332 resize \$1;
#X obj 416 9 r \$0-record;
#X obj 136 66 inlet~;
#X obj 301 205 del 10;
#X obj 416 34 > 0;
#X obj 595 246 s \$0-samplerate;
#N canvas 343 67 797 561 info 0;
#X obj 172 519 s \$0-wfbg;
#X obj 107 138 /;
#X obj 57 202 / 60;
#X obj 57 222 i;
#X obj 182 193 mod 60;
#X obj 214 265 < 10;
#X obj 187 346 makefilename 0%d;
#X obj 182 245 t f f;
#X obj 157 287 list prepend;
#X obj 157 306 route 0 1;
#X obj 156 326 makefilename %d;
#X obj 107 158 t f f;
#X obj 114 261 < 10;
#X obj 36 350 makefilename 0%d;
#X obj 57 242 t f f;
#X obj 35 282 list prepend;
#X obj 35 301 route 0 1;
#X obj 2 330 makefilename %d;
#X msg 172 495 label Recorded___\$1:\$2___\$3Hz;
#X obj 172 473 pack s s f;
#X obj 423 42 inlet;
#X obj 107 36 inlet;
#X msg 137 543 Recorded \$1:\$2 \$3Hz;
#X msg 11 540 label Recorded;
#X obj 138 563 print grainer~;
#X obj 11 562 s \$0-namecnv;
#X connect 1 0 11 0;
#X connect 2 0 3 0;
#X connect 3 0 14 0;
#X connect 4 0 7 0;
#X connect 5 0 8 1;
#X connect 6 0 19 1;
#X connect 7 0 8 0;
#X connect 7 1 5 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 9 1 6 0;
#X connect 10 0 19 1;
#X connect 11 0 2 0;
#X connect 11 1 4 0;
#X connect 12 0 15 1;
#X connect 13 0 19 0;
#X connect 14 0 15 0;
#X connect 14 1 12 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 16 1 13 0;
#X connect 17 0 19 0;
#X connect 18 0 0 0;
#X connect 19 0 18 0;
#X connect 19 0 22 0;
#X connect 19 0 23 0;
#X connect 20 0 19 2;
#X connect 20 0 1 1;
#X connect 21 0 1 0;
#X connect 22 0 24 0;
#X connect 23 0 25 0;
#X restore 631 303 pd info;
#X obj 136 313 tabwrite~ \$0-sf;
#X obj 301 236 s waveform/\$0-sf;
#X obj 715 381 s \$0-sf;
#X obj 494 303 s \$0-samplelength;
#X obj 136 87 hip~ 10;
#X obj 137 153 *~;
#X msg 173 135 0 \, 1 5;
#X obj 173 157 line~;
#X msg 212 159 0 5;
#X obj 157 219 del 5;
#X obj 443 359 f \$0;
#X msg 443 382 \; \$1-set symbol \$1-sf;
#X obj 498 120 t b b b;
#X connect 0 0 17 0;
#X connect 1 0 2 1;
#X connect 1 0 27 0;
#X connect 1 1 29 0;
#X connect 2 0 3 0;
#X connect 3 0 10 0;
#X connect 3 0 16 0;
#X connect 3 0 20 0;
#X connect 4 0 5 0;
#X connect 4 0 15 0;
#X connect 4 0 16 1;
#X connect 5 0 3 1;
#X connect 6 0 17 0;
#X connect 7 0 8 0;
#X connect 7 1 1 0;
#X connect 8 0 0 0;
#X connect 8 0 23 0;
#X connect 8 1 13 0;
#X connect 8 1 25 0;
#X connect 8 1 26 0;
#X connect 9 0 19 0;
#X connect 10 0 19 0;
#X connect 11 0 14 0;
#X connect 12 0 21 0;
#X connect 13 0 18 0;
#X connect 14 0 7 0;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X connect 23 0 24 0;
#X connect 24 0 22 1;
#X connect 25 0 24 0;
#X connect 26 0 6 0;
#X connect 27 0 28 0;
#X connect 29 0 2 0;
#X connect 29 1 4 0;
#X connect 29 2 9 0;
#X restore 319 129 pd record;
#X obj 99 383 r \$0-trigger;
#X obj 436 473 outlet;
#N canvas 241 155 754 542 open-sf 0;
#X obj 219 10 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 217 150 pack s \$0;
#X obj 146 297 t b;
#X obj 146 319 s waveform/\$0-sf;
#X obj 242 10 r \$0-open-sf;
#X obj 219 71 s \$0-sf-path;
#X obj 315 52 r \$0-sf-path;
#N canvas 423 90 797 561 sondfile-info 0;
#X obj 172 519 s \$0-wfbg;
#X msg 199 116 \$1;
#X obj 107 138 /;
#X obj 57 202 / 60;
#X obj 57 222 i;
#X obj 182 193 mod 60;
#X obj 214 265 < 10;
#X obj 187 346 makefilename 0%d;
#X obj 182 245 t f f;
#X obj 157 287 list prepend;
#X obj 157 306 route 0 1;
#X obj 156 326 makefilename %d;
#X msg 31 473 label empty..;
#X obj 107 158 t f f;
#X obj 341 43 inlet path;
#X obj 53 35 inlet samp.length;
#X obj 199 36 inlet sfinfo;
#X obj 114 261 < 10;
#X obj 36 350 makefilename 0%d;
#X obj 57 242 t f f;
#X obj 35 282 list prepend;
#X obj 35 301 route 0 1;
#X obj 2 330 makefilename %d;
#X obj 53 57 pipe 1;
#X msg 11 540 label \$4;
#X msg 172 495 label \$4___\$1:\$2___\$3Hz;
#X msg 107 543 \$4 \$1:\$2 \$3Hz;
#X obj 105 563 print grainer~;
#X obj 172 473 pack s s f s;
#X obj 31 450 loadbang;
#X obj 11 562 s \$0-namecnv;
#N canvas 426 89 883 671 splitfilename 0;
#X obj 425 37 list fromsymbol;
#X obj 425 59 trigger list list bang;
#X obj 425 81 list length;
#X obj 310 169 until;
#X obj 310 195 f;
#X obj 325 218 - 1;
#X obj 457 339 t f f;
#X obj 425 104 t f f;
#X obj 488 414 t l;
#X obj 363 491 list;
#X obj 574 355 sel;
#X obj 363 513 list tosymbol;
#X obj 632 275 loadbang;
#X obj 632 297 symbol /;
#X obj 632 319 list fromsymbol;
#X obj 425 15 inlet symbol path;
#X obj 457 414 list;
#X obj 457 312 list store;
#X msg 457 287 get \$1 1;
#X obj 185 487 list tosymbol;
#X obj 185 463 list store;
#X msg 185 438 get 0 \$1;
#X obj 185 413 f;
#X obj 363 535 outlet;
#X text 407 538 filename;
#X obj 185 532 outlet;
#X text 226 532 path;
#X obj 617 383 t b b b;
#X obj 312 240 t f f f;
#X obj 363 353 sel 0;
#X obj 310 145 + 1;
#X obj 363 376 t b b;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 17 1;
#X connect 1 1 20 1;
#X connect 1 2 16 1;
#X connect 2 0 7 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 4 0 28 0;
#X connect 5 0 4 1;
#X connect 6 0 16 0;
#X connect 6 1 10 0;
#X connect 7 0 30 0;
#X connect 7 1 4 1;
#X connect 8 0 16 1;
#X connect 9 0 11 0;
#X connect 10 0 27 0;
#X connect 11 0 23 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 10 1;
#X connect 15 0 0 0;
#X connect 16 0 8 0;
#X connect 16 0 9 1;
#X connect 17 0 6 0;
#X connect 18 0 17 0;
#X connect 19 0 25 0;
#X connect 20 0 19 0;
#X connect 21 0 20 0;
#X connect 22 0 21 0;
#X connect 27 0 22 0;
#X connect 27 1 9 0;
#X connect 27 2 3 1;
#X connect 28 0 22 1;
#X connect 28 1 29 0;
#X connect 28 2 18 0;
#X connect 29 0 31 0;
#X connect 30 0 3 0;
#X connect 31 0 9 0;
#X connect 31 1 3 1;
#X restore 341 67 pd splitfilename;
#X connect 1 0 2 1;
#X connect 1 0 28 2;
#X connect 2 0 13 0;
#X connect 3 0 4 0;
#X connect 4 0 19 0;
#X connect 5 0 8 0;
#X connect 6 0 9 1;
#X connect 7 0 28 1;
#X connect 8 0 9 0;
#X connect 8 1 6 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 10 1 7 0;
#X connect 11 0 28 1;
#X connect 12 0 0 0;
#X connect 12 0 30 0;
#X connect 13 0 3 0;
#X connect 13 1 5 0;
#X connect 14 0 31 0;
#X connect 15 0 23 0;
#X connect 16 0 1 0;