-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathpp.dystort~.pd
More file actions
941 lines (941 loc) · 23.8 KB
/
pp.dystort~.pd
File metadata and controls
941 lines (941 loc) · 23.8 KB
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
#N canvas 44 260 1467 857 10;
#X obj 103 115 hsl 150 15 0 127 0 0 \$0-visbng \$0-visbngr empty 50 8 2 10 #e0e0e0 #e0e0e0 #000000 0 1;
#X obj 548 114 *~;
#X obj 469 418 *~;
#X obj 484 381 /~;
#X obj 548 160 sqrt~;
#X obj 447 818 outlet~;
#X obj 533 528 *~;
#X obj 471 73 inlet~;
#N canvas 650 73 417 705 func-display 0;
#X obj 104 74 r \$0-squash;
#X obj 132 477 pow 3;
#X obj 239 519 *;
#X obj 132 500 *;
#X obj 90 49 r \$0-squeeze;
#X obj 90 294 until;
#X obj 90 321 f;
#X obj 127 321 + 1;
#X msg 133 295 0;
#X obj 90 245 t b b;
#X obj 90 418 *;
#X obj 90 346 t f f, f 12;
#X obj 90 210 t b l;
#N canvas 628 329 450 300 speedlim 0;
#X obj 26 91 metro 50;
#X obj 26 37 r \$0-isvisible;
#X obj 126 70 inlet;
#X obj 111 183 outlet;
#X obj 111 128 list;
#X connect 0 0 4 0;
#X connect 1 0 0 0;
#X connect 2 0 4 1;
#X connect 4 0 3 0;
#X restore 90 185 pd speedlim;
#X obj 104 97 t b f;
#X obj 147 124 t b f;
#X obj 90 537 +;
#X obj 90 566 expr tanh($f1);
#X obj 90 601 tabwrite \$0-funct-display;
#X obj 90 394 - 1;
#X obj 90 510 +;
#X obj 239 493 pow 2;
#X obj 147 98 r \$0-squish;
#X obj 90 157 pack 0 0 0;
#X obj 269 282 unpack f f f, f 19;
#X obj 90 441 t f f f;
#X obj 141 415 + 1;
#X msg 90 269 130;
#X obj 90 371 / 65;
#X connect 0 0 14 0;
#X connect 1 0 3 0;
#X connect 2 0 16 1;
#X connect 3 0 20 1;
#X connect 4 0 23 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 6 0 11 0;
#X connect 7 0 6 1;
#X connect 8 0 6 1;
#X connect 9 0 27 0;
#X connect 9 1 8 0;
#X connect 10 0 25 0;
#X connect 11 0 28 0;
#X connect 11 1 18 1;
#X connect 12 0 9 0;
#X connect 12 1 24 0;
#X connect 13 0 12 0;
#X connect 14 0 23 0;
#X connect 14 1 23 1;
#X connect 15 0 23 0;
#X connect 15 1 23 2;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 19 0 10 0;
#X connect 20 0 16 0;
#X connect 21 0 2 0;
#X connect 22 0 15 0;
#X connect 23 0 13 0;
#X connect 24 0 26 0;
#X connect 24 1 3 1;
#X connect 24 2 2 1;
#X connect 25 0 20 0;
#X connect 25 1 1 0;
#X connect 25 2 21 0;
#X connect 26 0 10 1;
#X connect 27 0 5 0;
#X connect 28 0 19 0;
#X restore 1128 255 pd func-display;
#X text 1225 723 ps 2026;
#N canvas 606 348 450 300 xfade 0;
#X obj 175 95 inlet~;
#X obj 229 94 inlet~;
#X obj 245 167 *~;
#X obj 245 132 -~;
#X obj 229 199 +~;
#X obj 229 222 outlet~;
#X obj 309 98 inlet~;
#X connect 0 0 3 0;
#X connect 1 0 4 0;
#X connect 1 0 3 1;
#X connect 2 0 4 1;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 468 679 pd xfade;
#X obj 598 135 r \$0-responsiveness;
#X msg 540 654 \$1 50;
#X obj 540 677 line~;
#X obj 1139 726 outlet;
#N canvas 781 244 882 559 outlet-message 0;
#N canvas 105 314 986 300 bang_once....................................... 0;
#X obj 174 87 t b f;
#X obj 132 87 t b f;
#X obj 89 139 del 0;
#X obj 89 87 t b f;
#X obj 217 87 t b f;
#X obj 261 87 t b f;
#X obj 303 87 t b f;
#X obj 89 41 inlet;
#X obj 132 40 inlet;
#X obj 174 40 inlet;
#X obj 217 40 inlet;
#X obj 261 41 inlet;
#X obj 304 41 inlet;
#X obj 89 247 outlet;
#X obj 89 173 f;
#X obj 345 87 t b f;
#X obj 346 41 inlet;
#X obj 389 88 t b f;
#X obj 390 42 inlet;
#X obj 603 42 inlet;
#X obj 602 88 t b s;
#X obj 428 87 t b f;
#X obj 429 41 inlet;
#X obj 474 89 t b f;
#X obj 475 43 inlet;
#X obj 89 203 pack 0 0 0 0 0 0 0 0 0 0 0 s;
#X obj 522 88 t b f;
#X obj 523 42 inlet;
#X connect 0 0 2 0;
#X connect 0 1 25 2;
#X connect 1 0 2 0;
#X connect 1 1 25 1;
#X connect 2 0 14 0;
#X connect 3 0 2 0;
#X connect 3 1 14 1;
#X connect 4 0 2 0;
#X connect 4 1 25 3;
#X connect 5 0 2 0;
#X connect 5 1 25 4;
#X connect 6 0 2 0;
#X connect 6 1 25 5;
#X connect 7 0 3 0;
#X connect 8 0 1 0;
#X connect 9 0 0 0;
#X connect 10 0 4 0;
#X connect 11 0 5 0;
#X connect 12 0 6 0;
#X connect 14 0 25 0;
#X connect 15 0 2 0;
#X connect 15 1 25 6;
#X connect 16 0 15 0;
#X connect 17 0 2 0;
#X connect 17 1 25 7;
#X connect 18 0 17 0;
#X connect 19 0 20 0;
#X connect 20 0 2 0;
#X connect 20 1 25 11;
#X connect 21 0 2 0;
#X connect 21 1 25 8;
#X connect 22 0 21 0;
#X connect 23 0 2 0;
#X connect 23 1 25 9;
#X connect 24 0 23 0;
#X connect 25 0 13 0;
#X connect 26 0 2 0;
#X connect 26 1 25 10;
#X connect 27 0 26 0;
#X restore 143 229 pd bang_once.......................................;
#X obj 247 445 list trim;
#X msg 164 421 addcomma;
#X msg 101 416 set;
#X obj 247 422 list prepend add2;
#X obj 244 508 outlet;
#X obj 143 264 t b a b;
#X obj 198 368 t b a a;
#N canvas 497 319 297 264 save 0;
#X obj 48 16 inlet;
#N canvas 690 259 481 384 collect 0;
#X obj 47 60 inlet;
#X obj 47 274 outlet;
#X obj 98 180 list;
#X obj 166 181 t l;
#X obj 47 225 list;
#X obj 98 139 list append |;
#X obj 47 126 del 0;
#X obj 47 82 t b a;
#X text 119 75 hacky thing... replaycing " \, " with "|";
#X connect 0 0 7 0;
#X connect 2 0 3 0;
#X connect 2 0 4 1;
#X connect 3 0 2 1;
#X connect 4 0 1 0;
#X connect 5 0 2 0;
#X connect 6 0 2 1;
#X connect 6 0 4 0;
#X connect 7 0 6 0;
#X connect 7 1 5 0;
#X restore 48 38 pd collect;
#X obj 117 16 r \$0-save;
#X obj 27 130 text set \$0-savestates;
#X obj 27 104 list;
#X obj 117 62 t b f;
#X obj 117 39 clip 0 20;
#X connect 0 0 1 0;
#X connect 1 0 4 1;
#X connect 2 0 6 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 5 1 3 1;
#X connect 6 0 5 0;
#X restore 254 391 pd save;
#X obj 225 128 r \$0-oversample;
#X obj 143 59 r \$0-squeeze;
#X obj 170 82 r \$0-squash;
#X obj 198 106 r \$0-squish;
#X obj 308 198 r \$0-wet;
#X obj 253 150 r \$0-responsiveness;
#X obj 280 172 r \$0-explode;
#X msg 198 318 squeeze \$1 \, squash \$2 \, squish \$3 \, oversample \$4 \, responsiveness \$5 \, explode \$6 \, dry/wet \$7;
#X connect 0 0 6 0;
#X connect 1 0 5 0;
#X connect 2 0 5 0;
#X connect 3 0 5 0;
#X connect 4 0 1 0;
#X connect 6 0 5 0;
#X connect 6 1 16 0;
#X connect 6 2 3 0;
#X connect 7 0 2 0;
#X connect 7 1 4 0;
#X connect 7 2 8 0;
#X connect 9 0 0 3;
#X connect 10 0 0 0;
#X connect 11 0 0 1;
#X connect 12 0 0 2;
#X connect 13 0 0 6;
#X connect 14 0 0 4;
#X connect 15 0 0 5;
#X connect 16 0 7 0;
#X restore 1139 698 pd outlet-message;
#N canvas 190 114 780 398 workings 0;
#X obj 77 189 *~;
#X obj 62 242 +~;
#X obj 184 207 *~;
#X obj 78 123 *~;
#X obj 78 146 *~;
#X obj 183 104 *~;
#N canvas 281 251 641 287 tanh 0;
#X obj 81 200 outlet~;
#X obj 139 81 exp~;
#X obj 140 57 *~ -2;
#X obj 139 104 +~ 1;
#X obj 82 82 sig~ 2;
#X obj 82 105 /~;
#X obj 82 128 -~ 1;
#X obj 139 30 inlet~;
#X connect 1 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 5 1;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 0 0;
#X connect 7 0 2 0;
#X restore 62 272 pd tanh;
#X obj 62 363 outlet~;
#X obj 62 31 inlet~ lin;
#X obj 517 122 block~ 64 1 1;
#X obj 517 61 r \$0-oversample;
#X msg 517 92 set 64 1 \$1;
#N canvas 132 192 727 530 hicut 0;
#X obj 100 396 *~ 0.125;
#X obj 100 421 rzero~ -1;
#X obj 100 446 rzero~ -1;
#X obj 100 471 rzero~ -1;
#X obj 100 250 *~ 0.115705;
#X obj 100 302 *~ 0.0141602;
#X obj 100 329 cpole~ 0.935322 0.0998846;
#X obj 100 365 cpole~ 0.935322 -0.0998846;
#X obj 100 276 rpole~ 0.884295;
#N canvas 0 0 800 653 buttercoef3 0;
#X obj 119 96 inlet;
#X floatatom 582 159 5 0 0 0 - - - 0;
#X obj 159 199 t f f, f 7;
#X msg 159 151 0.667;
#X msg 139 329 0;
#X obj 575 316 loadbang;
#X obj 586 344 inlet;
#X obj 575 368 f;
#X obj 575 392 expr 1 - 2*$f1;
#X obj 119 124 t b b b f;
#X obj 266 277 * -1;
#X obj 221 277 t f f;
#X obj 119 437 f;
#X obj 66 533 outlet;
#X text 573 283 1 to normalize at Nyquist;
#X text 115 75 characteristic frequency \, 0(DC) to 1(Nyquist);
#X obj 341 533 outlet;
#X obj 497 533 outlet;
#X text 497 557 imag2a;
#X text 341 557 real1;
#X text 432 557 real2;
#X obj 558 533 outlet;
#X text 558 557 imag2b;
#X obj 431 533 outlet;
#X text 52 557 normalizer1;
#X obj 231 533 outlet;
#X text 209 557 normalizer2;
#X obj 231 482 expr (($f2-$f1)*($f2-$f1)+$f3*$f3);
#X obj 119 458 t f f;
#X obj 159 222 expr (1 - $f2*$f2) / (1 + $f2*$f2 + 2*$f2*cos($f1));
#X obj 221 250 expr 2*$f2*sin($f1) / (1 + $f2*$f2 + 2*$f2*cos($f1));
#X obj 139 353 expr (1 - $f2*$f2) / (1 + $f2*$f2 + 2*$f2*cos($f1));
#X obj 582 114 clip 0 1;
#X obj 582 136 expr tan($f1*1.57);
#X obj 159 176 expr $f1*1.5708;
#X text 573 297 0 to normalize at DC;
#X text 175 23 3-pole (or zero) Butterworth filter coefficient calculator;
#X text 203 152 "theta" in units of pi/2;
#X text 269 183 conjugate pair of pole/zero locations:;
#X text 255 200 real part: (1-r*r)/(1+r*r-2rcos(th));
#X text 306 275 imaginary part: 2rsin(th)/(...);
#X text 328 328 real-valued one \, theta=0;
#X obj 66 505 expr abs($f1-$f2);
#X connect 0 0 9 0;
#X connect 1 0 29 1;
#X connect 1 0 30 1;
#X connect 1 0 31 1;
#X connect 2 0 29 0;
#X connect 2 1 30 0;
#X connect 3 0 34 0;
#X connect 4 0 31 0;
#X connect 5 0 7 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 12 1;
#X connect 9 0 12 0;
#X connect 9 1 4 0;
#X connect 9 2 3 0;
#X connect 9 3 32 0;
#X connect 10 0 21 0;
#X connect 11 0 17 0;
#X connect 11 0 27 2;
#X connect 11 1 10 0;
#X connect 12 0 28 0;
#X connect 27 0 25 0;
#X connect 28 0 42 0;
#X connect 28 1 27 0;
#X connect 29 0 23 0;
#X connect 29 0 27 1;
#X connect 30 0 11 0;
#X connect 31 0 16 0;
#X connect 31 0 42 1;
#X connect 32 0 33 0;
#X connect 33 0 1 0;
#X connect 34 0 2 0;
#X connect 42 0 13 0;
#X restore 250 219 pd buttercoef3;
#X obj 99 214 inlet~;
#X obj 100 494 outlet~;
#X obj 250 193 / 1;
#X obj 376 59 r \$0-oversample;
#X obj 376 82 t b f;
#X text 137 139 cutoff frequency;
#X msg 250 139 15000;
#X obj 250 163 / 24000;
#X obj 307 165 r \$0-nyq;
#X obj 403 109 > 1;
#X obj 403 132 switch~;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 11 0;
#X connect 4 0 8 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 6 1 7 1;
#X connect 7 0 0 0;
#X connect 8 0 5 0;
#X connect 9 0 4 1;
#X connect 9 1 5 1;
#X connect 9 2 8 1;
#X connect 9 3 6 2;
#X connect 9 3 7 2;
#X connect 9 4 6 3;
#X connect 9 5 7 3;
#X connect 10 0 4 0;
#X connect 12 0 9 0;
#X connect 13 0 14 0;
#X connect 14 0 16 0;
#X connect 14 1 12 1;
#X connect 14 1 19 0;
#X connect 16 0 17 0;
#X connect 17 0 12 0;
#X connect 18 0 17 1;
#X connect 19 0 20 0;
#X restore 146 311 pd hicut;
#N canvas 700 363 450 300 through 0;
#X obj 102 44 inlet~;
#X obj 102 110 outlet~;
#X obj 231 42 r \$0-oversample;
#X obj 231 68 == 1;
#X obj 265 75 loadbang;
#X msg 265 98 1;
#X obj 231 129 switch~;
#X connect 0 0 1 0;
#X connect 2 0 3 0;
#X connect 3 0 6 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X restore 62 309 pd through;
#X obj 147 31 inlet~;
#X obj 216 33 inlet~;
#X connect 0 0 1 1;
#X connect 1 0 6 0;
#X connect 2 0 1 1;
#X connect 3 0 4 0;
#X connect 4 0 0 0;
#X connect 5 0 2 0;
#X connect 6 0 13 0;
#X connect 6 0 12 0;
#X connect 8 0 1 0;
#X connect 8 0 3 0;
#X connect 8 0 3 1;
#X connect 8 0 4 1;
#X connect 8 0 5 0;
#X connect 8 0 5 1;
#X connect 10 0 11 0;
#X connect 11 0 9 0;
#X connect 12 0 7 0;
#X connect 13 0 7 0;
#X connect 14 0 0 1;
#X connect 15 0 2 1;
#X restore 469 457 pd workings;
#X f 87;
#X msg 769 179 \$1 50;
#X obj 769 202 line~;
#X obj 769 156 r \$0-squeeze;
#X obj 739 232 +~;
#X obj 739 78 inlet~;
#X msg 901 174 \$1 50;
#X obj 901 197 line~;
#X obj 871 227 +~;
#X obj 872 74 inlet~;
#X msg 1020 169 \$1 50;
#X obj 1020 192 line~;
#X obj 990 227 +~;
#X obj 991 75 inlet~;
#X obj 901 151 r \$0-squash;
#X obj 1020 146 r \$0-squish;
#N canvas 340 312 450 300 del2samps 0;
#X obj 183 105 rzero_rev~;
#X obj 183 130 rzero_rev~;
#X obj 183 153 outlet~;
#X obj 182 79 inlet~;
#X obj 296 99 > 1;
#X obj 296 122 switch~;
#X obj 296 76 r \$0-oversample;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 3 0 0 0;
#X connect 4 0 5 0;
#X connect 6 0 4 0;
#X restore 329 428 pd del2samps;
#N canvas 700 363 450 300 through 0;
#X obj 102 44 inlet~;
#X obj 102 110 outlet~;
#X obj 231 42 r \$0-oversample;
#X obj 231 68 == 1;
#X obj 265 75 loadbang;
#X msg 265 98 1;
#X obj 231 129 switch~;
#X connect 0 0 1 0;
#X connect 2 0 3 0;
#X connect 3 0 6 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X restore 250 428 pd through;
#X text 271 406 del 2 samp when oversampled;
#N canvas 606 348 450 300 xfade 0;
#X obj 245 62 inlet~;
#X obj 189 63 inlet~;
#X obj 245 167 *~;
#X obj 245 132 -~;
#X obj 229 199 +~;
#X obj 229 222 outlet~;
#X obj 309 98 inlet~;
#X connect 0 0 3 0;
#X connect 1 0 4 0;
#X connect 1 0 3 1;
#X connect 2 0 4 1;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 6 0 2 1;
#X restore 447 784 pd xfade;
#X msg 507 756 \$1 50;
#X obj 507 779 line~;
#X obj 507 707 r \$0-wet;
#X obj 508 732 / 100;
#X obj 513 379 +~ 1e-12;
#X obj 540 631 pow 2;
#X obj 548 135 lop~ 10;
#X obj 540 584 r \$0-explode;
#N canvas 50 60 500 170 \$0-dystort~ 0;
#N canvas 814 130 922 524 mask 0;
#X obj 100 100 cnv 15 489 159 empty empty empty 20 12 0 14 #ffffff #404040 0;
#X obj 270 115 cnv 15 132 132 empty empty empty 20 12 0 14 #606060 #404040 0;
#X obj 114 169 hsl 100 12 0.1 10.1 1 0 \$0-squeeze-gui \$0-squeeze-guir Squeeze -2 -6 2 10 #ffe3c6 #000000 #000000 0 1;
#X obj 220 169 nbx 4 12 -1e+37 1e+37 0 0 \$0-squeeze \$0-squeezer empty 41 8 2 10 #ffe3c6 #000000 #000000 0 256;
#N canvas 894 411 700 420 maskgraf 0;
#X obj 18 10 cnv 15 100 60 empty empty empty 20 12 0 14 #e0e0e0 #404040 0;
#X obj 101 101 cnv 15 128 128 empty empty empty 20 12 0 14 #dfdfdf #404040 0;
#N canvas 0 50 450 250 (subpatch) 0;
#X array \$0-funct-display 130 float 8;
#A resize 130;
#A color 0;
#A width 1;
#X coords 0 1.1 129 -1.1 130 130 1 0 0;
#X restore 100 100 graph;
#X coords 0 -1 1 1 130 130 2 100 100;
#X restore 271 116 pd maskgraf;
#X obj 182 121 cnv 10 10 10 empty empty dystort~ 0 5 2 17 #fcfcfc #b8b8b8 0;
#X msg 720 45 isvisible;
#X obj 720 68 pdcontrol;
#X obj 720 91 s \$0-isvisible;
#X obj 720 23 r \$0-isvisible-check;
#X obj 114 201 hsl 100 12 0 5 0 0 \$0-squash-gui \$0-squash-guir Squash -2 -6 2 10 #ffe3c6 #000000 #000000 0 1;
#X obj 220 201 nbx 4 12 -1e+37 1e+37 0 0 \$0-squash \$0-squashr empty 41 8 2 10 #ffe3c6 #000000 #000000 0 256;
#X msg 28 196 set \$1;
#X obj 114 233 hsl 100 12 0 2 0 0 \$0-squish-gui \$0-squish-guir Squish -2 -6 2 10 #ffe3c6 #000000 #000000 0 1;
#X obj 220 233 nbx 4 12 -1e+37 1e+37 0 0 \$0-squish \$0-squishr empty 41 8 2 10 #ffe3c6 #000000 #000000 0 256;
#X msg 28 227 set \$1;
#N canvas 1104 31 549 423 map 0;
#X obj 133 64 inlet;
#X text 177 63 hsl;
#X obj 291 64 inlet;
#X text 331 62 nbx;
#X obj 133 255 outlet;
#X text 178 258 hsl;
#X obj 293 256 outlet;
#X text 338 260 nbx;
#X obj 141 112 - 0.1;
#X obj 253 115 + 0.1;
#X msg 133 220 set \$1;
#X connect 0 0 8 0;
#X connect 2 0 9 0;
#X connect 8 0 6 0;
#X connect 9 0 10 0;
#X connect 10 0 4 0;
#X restore 28 169 pd map;
#X obj 420 233 hsl 100 12 0 100 0 0 \$0-wet-gui \$0-wet-guir Dry/Wet -2 -6 2 10 #ffffff #000000 #000000 0 1;
#X obj 526 233 nbx 4 12 0 100 0 0 \$0-wet \$0-wetr % 41 8 2 10 #ffffff #000000 #000000 0 256;
#X msg 605 230 set \$1;
#X obj 420 159 hsl 100 12 1 100 0 0 \$0-resp-gui \$0-resp-guir Responsiveness -2 -6 2 10 #ffe3c6 #000000 #000000 0 1;
#X obj 526 159 nbx 4 12 0 1e+37 0 0 \$0-responsiveness \$0-responsivenessr empty 41 8 2 10 #ffe3c6 #000000 #000000 0 256;
#X msg 598 152 set \$1;
#X obj 420 189 hsl 100 12 0 100 0 0 \$0-squish-gui \$0-squish-guir Explode -2 -6 2 10 #ffffff #000000 #000000 0 1;
#X obj 526 189 nbx 4 12 0 100 0 0 \$0-explode \$0-exploder empty 41 8 2 10 #ffffff #000000 #000000 0 256;
#X msg 600 183 set \$1;
#X obj 112 140 cnv 10 10 10 empty empty function 0 5 2 14 #fcfcfc #606060 0;
#X obj 418 130 cnv 10 10 10 empty empty envelope\ follower 0 5 2 14 #fcfcfc #606060 0;
#X connect 2 0 16 0;
#X connect 3 0 16 1;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 9 0 6 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 10 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 13 0;
#X connect 16 0 2 0;
#X connect 16 1 3 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 17 0;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 22 0 20 0;
#X connect 23 0 24 0;
#X connect 24 0 25 0;
#X connect 25 0 23 0;
#X coords 0 -1 1 1 490 160 2 100 100;
#X restore 3 3 pd mask;
#X restore 1128 200 pd \$0-dystort~;
#X obj 484 356 sig~ 1;
#X obj 470 218 *~;
#X obj 486 191 +~ 1;
#X obj 533 554 /~ 0.707107;
#X obj 581 245 pow 2;
#X msg 581 313 \$1 50;
#X obj 581 336 line~;
#X obj 581 268 / 2;
#X obj 581 291 + 0.5;
#X obj 549 334 pow~;
#N canvas 139 241 1082 434 init+stuff 0;
#X obj 78 172 s \$0-visbngr;
#X obj 60 67 r \$0-visbng;
#X msg 58 144 color 0 0;
#X msg 142 144 color 10 10;
#X obj 60 89 t b;
#X obj 140 119 del 250;
#N canvas 89 132 345 180 isvisible 0;
#X obj 48 43 loadbang;
#X obj 48 85 metro 300;
#X obj 48 65 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 48 108 s \$0-isvisible-check;
#X connect 0 0 2 0;
#X connect 1 0 3 0;
#X connect 2 0 1 0;
#X restore 48 18 pd isvisible;
#X obj 337 23 loadbang;
#X obj 337 73 s \$0-funct-display;
#X msg 337 46 visname 0 \, edit 0;
#X obj 802 127 samplerate~;
#X obj 802 150 / 2;
#X obj 802 104 r pd-dsp-started;
#X obj 802 173 s \$0-nyq;
#X obj 506 27 loadbang;
#X msg 615 333 no method for \$1;
#X text 780 196 nyquist to calculate oversample cutoff freq;
#X obj 608 112 f \$0;
#X obj 615 367 print pp.dystort~;
#X obj 26 219 s pd-\$0-dystort~;
#X msg 608 135 \; \$1-squeezer 0 \; \$1-squashr 0 \; \$1-squishr 0 \; \$1-responsivenessr 5 \; \$1-exploder 0 \; \$1-wetr 100 \;;
#N canvas 0 0 450 357 check_pow 0;
#X obj 80 74 log 2;
#X obj 107 122 i;
#X obj 80 149 -;
#X obj 80 188 != 0;
#X obj 80 211 sel 1;
#X obj 147 157 swap 2;
#X obj 147 180 pow;
#X obj 80 21 inlet;
#X obj 80 309 outlet;
#X obj 80 262 pack;
#X obj 80 98 t f f;
#X obj 80 42 t f f;
#X obj 80 234 f;
#X msg 80 285 oversample \$1 is not a power of 2: using \$2;
#X obj 12 285 outlet;
#X connect 0 0 10 0;
#X connect 1 0 2 1;
#X connect 1 0 5 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 12 0;
#X connect 5 0 6 0;
#X connect 5 1 6 1;
#X connect 6 0 9 1;
#X connect 6 0 14 0;
#X connect 7 0 11 0;
#X connect 9 0 13 0;
#X connect 10 0 2 0;
#X connect 10 1 1 0;
#X connect 11 0 0 0;
#X connect 11 1 12 1;
#X connect 12 0 9 0;
#X connect 13 0 8 0;
#X restore 506 306 pd check_pow;
#X obj 506 49 t b b b;
#X obj 506 365 s \$0-oversample;
#X obj 506 278 max 1;
#X obj 506 255 route float;
#X msg 545 279 1;
#X obj 506 227 list append \$1;
#X msg 24 195 relocate 500x170+1+1 1x1+50+60 \, vis 1 \, editmode 0;
#X connect 1 0 4 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 2 0;
#X connect 4 0 5 0;
#X connect 4 0 28 0;
#X connect 5 0 3 0;
#X connect 7 0 9 0;
#X connect 9 0 8 0;
#X connect 10 0 11 0;
#X connect 11 0 13 0;
#X connect 12 0 10 0;
#X connect 14 0 22 0;
#X connect 15 0 18 0;
#X connect 17 0 20 0;
#X connect 21 0 23 0;
#X connect 21 1 18 0;
#X connect 22 0 27 0;
#X connect 22 1 17 0;
#X connect 22 2 10 0;
#X connect 24 0 21 0;
#X connect 25 0 24 0;
#X connect 25 1 26 0;
#X connect 25 1 15 0;
#X connect 26 0 21 0;
#X connect 27 0 25 0;
#X connect 28 0 19 0;
#X restore 1128 226 pd init+stuff;
#X obj 1128 74 inlet;
#N canvas -52 375 885 421 in 0;
#X obj 212 26 inlet;
#N canvas 698 546 200 251 route 0;
#X obj 20 20 inlet;
#X obj 30 60 route save recall;
#X obj 30 85 route float;
#X obj 97 111 route float;
#X obj 30 136 s \$0-save;
#X obj 30 108 i;
#X obj 98 133 i;
#X obj 98 161 s \$0-recall;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X connect 2 0 5 0;
#X connect 3 0 6 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X restore 230 49 pd route save-recall;
#N canvas 362 125 450 479 recall 0;
#X obj 49 145 outlet;
#N canvas 3 54 450 600 listsplit 0;
#X obj 158 23 inlet;
#X obj 220 87 list length;
#X obj 220 113 until;
#X obj 182 150 f;
#X obj 278 150 + 1;
#X msg 265 111 0;
#X obj 182 226 list store;
#X msg 182 202 get \$1 1;
#X obj 154 367 list split;
#X obj 222 342 f;
#X obj 154 334 list;
#X obj 98 124 list;
#X obj 182 389 list split 1;
#X obj 154 274 t bang bang bang;
#X obj 182 179 t f f;
#X obj 158 48 t l l l b;
#X obj 154 473 outlet;
#X obj 154 440 list trim;
#X obj 163 248 sel |;
#X text 275 197 hacky split list at "|";
#X connect 0 0 15 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 14 0;
#X connect 4 0 3 1;
#X connect 5 0 3 1;
#X connect 6 0 18 0;
#X connect 7 0 6 0;
#X connect 8 0 17 0;
#X connect 8 1 12 0;
#X connect 9 0 8 1;
#X connect 10 0 8 0;
#X connect 11 0 15 0;
#X connect 12 1 11 0;
#X connect 13 0 10 0;
#X connect 13 1 9 0;
#X connect 13 2 2 1;
#X connect 14 0 7 0;
#X connect 14 1 9 1;
#X connect 15 0 1 0;
#X connect 15 1 10 1;
#X connect 15 2 6 1;
#X connect 15 3 5 0;
#X connect 17 0 16 0;
#X connect 18 0 13 0;
#X restore 49 117 pd listsplit;
#X obj 49 24 r \$0-recall;
#X obj 49 54 pipe 1;
#X obj 221 409 text fromlist \$0-savestates;
#X obj 49 77 text get \$0-savestates;
#X msg 253 246 21;
#X obj 253 269 until;
#X obj 253 292 f;
#X obj 300 295 + 1;
#X obj 253 315 t b f;
#X obj 253 367 text set \$0-savestates;
#X obj 221 114 text tolist \$0-savestates;
#X msg 253 342 list empty_slot;
#X obj 221 160 t a b;
#X obj 151 166 loadbang;
#X obj 221 137 savestate;
#X obj 221 33 text define \$0-savestates;
#X obj 151 189 del 0;
#X msg 298 199 0;
#X obj 253 220 spigot 1;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 5 0 1 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 8 0 10 0;
#X connect 9 0 8 1;
#X connect 10 0 13 0;
#X connect 10 1 11 1;
#X connect 12 0 16 0;
#X connect 13 0 11 0;
#X connect 14 0 4 0;
#X connect 14 1 19 0;
#X connect 15 0 18 0;
#X connect 16 0 14 0;
#X connect 16 1 12 0;
#X connect 18 0 20 0;
#X connect 19 0 20 1;
#X connect 20 0 6 0;
#X restore 298 72 pd recall;
#X obj 212 251 s \$0-squeezer;
#X obj 264 275 s \$0-squashr;
#X obj 317 301 s \$0-squishr;
#X obj 485 348 s \$0-wetr;
#X obj 485 321 clip 0 100;
#X obj 394 249 s \$0-responsivenessr;
#X obj 212 104 route squeeze squash squish oversample responsiveness explode dry/wet;
#X obj 393 226 clip 0 10000;
#X obj 438 295 s \$0-exploder;
#N canvas 0 0 450 357 check_pow 0;
#X obj 80 74 log 2;
#X obj 107 122 i;
#X obj 80 149 -;
#X obj 80 188 != 0;
#X obj 80 211 sel 1;
#X obj 147 157 swap 2;
#X obj 147 180 pow;
#X obj 80 21 inlet;
#X obj 80 309 outlet;
#X obj 80 262 pack;
#X obj 80 98 t f f;
#X obj 80 42 t f f;
#X obj 80 234 f;
#X msg 80 285 oversample \$1 is not a power of 2: using \$2;
#X obj 12 285 outlet;
#X connect 0 0 10 0;
#X connect 1 0 2 1;
#X connect 1 0 5 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 12 0;
#X connect 5 0 6 0;
#X connect 5 1 6 1;
#X connect 6 0 9 1;
#X connect 6 0 14 0;
#X connect 7 0 11 0;
#X connect 9 0 13 0;
#X connect 10 0 2 0;
#X connect 10 1 1 0;
#X connect 11 0 0 0;
#X connect 11 1 12 1;
#X connect 12 0 9 0;
#X connect 13 0 8 0;
#X restore 347 145 pd check_pow;
#X obj 347 169 s \$0-oversample;
#X obj 416 192 print pp.dystort~;
#X obj 438 273 clip 0 100;
#X connect 0 0 1 0;
#X connect 0 0 9 0;
#X connect 2 0 9 0;
#X connect 7 0 6 0;
#X connect 9 0 3 0;
#X connect 9 1 4 0;
#X connect 9 2 5 0;
#X connect 9 3 12 0;
#X connect 9 4 10 0;
#X connect 9 5 15 0;
#X connect 9 6 7 0;
#X connect 10 0 8 0;
#X connect 12 0 13 0;
#X connect 12 1 14 0;
#X connect 15 0 11 0;
#X restore 1128 96 pd in;
#X obj 540 606 / 100;
#X obj 581 199 r \$0-explode;
#X obj 581 221 / 100;
#X connect 1 0 42 0;
#X connect 2 0 16 0;
#X connect 3 0 2 1;
#X connect 4 0 54 0;
#X connect 6 0 48 0;
#X connect 7 0 1 0;
#X connect 7 0 1 1;
#X connect 7 0 32 0;
#X connect 7 0 33 0;
#X connect 7 0 46 0;
#X connect 10 0 35 1;
#X connect 11 0 42 1;
#X connect 12 0 13 0;
#X connect 13 0 10 2;
#X connect 15 0 14 0;
#X connect 16 0 6 0;
#X connect 16 0 10 0;
#X connect 17 0 18 0;
#X connect 18 0 20 1;
#X connect 19 0 17 0;
#X connect 20 0 47 0;
#X connect 21 0 20 0;
#X connect 22 0 23 0;
#X connect 23 0 24 1;
#X connect 24 0 16 1;
#X connect 25 0 24 0;
#X connect 26 0 27 0;
#X connect 27 0 28 1;
#X connect 28 0 16 2;
#X connect 29 0 28 0;
#X connect 30 0 22 0;
#X connect 31 0 26 0;
#X connect 32 0 35 0;
#X connect 33 0 35 0;
#X connect 35 0 5 0;
#X connect 36 0 37 0;
#X connect 37 0 35 2;
#X connect 38 0 39 0;
#X connect 39 0 36 0;
#X connect 40 0 3 1;
#X connect 41 0 12 0;
#X connect 42 0 4 0;
#X connect 43 0 58 0;
#X connect 45 0 3 0;
#X connect 46 0 2 0;
#X connect 47 0 46 1;
#X connect 48 0 10 1;
#X connect 49 0 52 0;
#X connect 50 0 51 0;
#X connect 51 0 54 1;
#X connect 52 0 53 0;
#X connect 53 0 50 0;
#X connect 54 0 6 1;
#X connect 54 0 40 0;
#X connect 56 0 57 0;
#X connect 58 0 41 0;
#X connect 59 0 60 0;
#X connect 60 0 49 0;
#X coords 0 -1 1 1 155 33 1 100 100;