-
Notifications
You must be signed in to change notification settings - Fork 0
/
fx.omnifilter~.pd
1231 lines (1231 loc) · 28.5 KB
/
fx.omnifilter~.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 canvas 166 155 618 452 10;
#X obj 44 333 inlet~ signal;
#X obj 57 28 inlet~ frequency;
#X obj 103 54 inlet~ Q/BW/slope;
#X obj 150 78 inlet~ gain;
#N canvas 240 287 660 305 \$0-lowpass 0;
#X obj 141 24 r~ \$0-freq;
#X obj 126 70 sig~ 1;
#X obj 126 92 -~;
#X obj 126 144 /~ 2;
#X obj 140 171 throw~ \$0-b2;
#X obj 227 171 *~ -2;
#X obj 227 193 throw~ \$0-a1;
#X obj 431 117 max~ 0.01;
#X obj 431 139 *~ 2;
#X obj 319 156 /~;
#X text 346 158 alpha;
#X obj 319 178 +~ 1;
#X obj 319 200 throw~ \$0-a0;
#X obj 400 178 sig~ 1;
#X obj 400 200 -~;
#X obj 400 222 throw~ \$0-a2;
#X obj 504 27 r \$0-type;
#X obj 504 49 == 0;
#X obj 504 71 switch~;
#X obj 431 95 r~ \$0-slope;
#X obj 126 193 throw~ \$0-b0;
#X obj 143 118 throw~ \$0-b1;
#X obj 20 37 inlet~;
#X obj 20 66 outlet~;
#X obj 141 46 expr~ cos($v1);
#X obj 319 95 expr~ sin($v1);
#X connect 0 0 24 0;
#X connect 0 0 25 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 0 21 0;
#X connect 3 0 4 0;
#X connect 3 0 20 0;
#X connect 5 0 6 0;
#X connect 7 0 8 0;
#X connect 8 0 9 1;
#X connect 9 0 11 0;
#X connect 9 0 14 1;
#X connect 11 0 12 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 19 0 7 0;
#X connect 24 0 2 1;
#X connect 24 0 5 0;
#X connect 25 0 9 0;
#X restore 57 123 pd \$0-lowpass;
#N canvas 176 113 721 305 \$0-highpass 0;
#X obj 156 24 r~ \$0-freq;
#X obj 156 114 /~ 2;
#X obj 170 141 throw~ \$0-b2;
#X obj 535 117 max~ 0.01;
#X obj 535 139 *~ 2;
#X obj 439 156 /~;
#X text 466 158 alpha;
#X obj 439 178 +~ 1;
#X obj 439 200 throw~ \$0-a0;
#X obj 520 178 sig~ 1;
#X obj 520 200 -~;
#X obj 520 222 throw~ \$0-a2;
#X obj 624 27 r \$0-type;
#X obj 624 71 switch~;
#X obj 156 68 +~ 1;
#X obj 257 141 *~ -1;
#X obj 257 163 throw~ \$0-b1;
#X obj 347 141 *~ -2;
#X obj 347 163 throw~ \$0-a1;
#X obj 624 49 == 1;
#X obj 535 95 r~ \$0-slope;
#X obj 156 163 throw~ \$0-b0;
#X obj 39 35 inlet~;
#X obj 39 63 outlet~;
#X obj 156 46 expr~ cos($v1);
#X obj 439 95 expr~ sin($v1);
#X connect 0 0 24 0;
#X connect 0 0 25 0;
#X connect 1 0 2 0;
#X connect 1 0 21 0;
#X connect 3 0 4 0;
#X connect 4 0 5 1;
#X connect 5 0 7 0;
#X connect 5 0 10 1;
#X connect 7 0 8 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 12 0 19 0;
#X connect 14 0 1 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 17 0 18 0;
#X connect 19 0 13 0;
#X connect 20 0 3 0;
#X connect 24 0 14 0;
#X connect 24 0 17 0;
#X connect 25 0 5 0;
#X restore 57 146 pd \$0-highpass;
#N canvas 453 403 673 395 \$0-resonant 0;
#X obj 174 88 r~ \$0-freq;
#X obj 300 84 r~ \$0-slope;
#X obj 300 106 max~ 0.01;
#X obj 300 128 *~ 2;
#X obj 174 145 /~;
#X obj 174 195 *~;
#X obj 174 267 throw~ \$0-b0;
#X obj 189 219 *~ -1;
#X obj 189 241 throw~ \$0-b2;
#X obj 297 245 sig~ 0;
#X obj 297 267 throw~ \$0-b1;
#X obj 388 245 +~ 1;
#X obj 388 267 throw~ \$0-a0;
#X obj 476 244 sig~ 1;
#X obj 476 266 -~;
#X obj 476 288 throw~ \$0-a2;
#X obj 561 266 *~ -2;
#X obj 561 288 throw~ \$0-a1;
#X obj 530 82 r \$0-type;
#X obj 530 104 == 2;
#X obj 530 126 switch~;
#X obj 23 89 inlet~;
#X obj 23 114 outlet~;
#X obj 174 123 expr~ sin($v1);
#X obj 561 244 expr~ cos($v1);
#X connect 0 0 23 0;
#X connect 0 0 24 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 0 5 1;
#X connect 3 0 4 1;
#X connect 4 0 5 0;
#X connect 4 0 11 0;
#X connect 4 0 14 1;
#X connect 5 0 6 0;
#X connect 5 0 7 0;
#X connect 7 0 8 0;
#X connect 9 0 10 0;
#X connect 11 0 12 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 16 0 17 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 23 0 4 0;
#X connect 24 0 16 0;
#X restore 57 169 pd \$0-resonant;
#N canvas 291 427 673 395 \$0-bandpass 0;
#X obj 20 74 inlet~;
#X obj 20 99 outlet~;
#X obj 105 29 r~ \$0-freq;
#X obj 155 208 throw~ \$0-b2;
#X obj 142 96 max~ 0.01;
#X obj 142 118 *~ 2;
#X obj 105 135 /~;
#X text 132 137 alpha;
#X obj 105 234 +~ 1;
#X obj 105 256 throw~ \$0-a0;
#X obj 481 236 sig~ 1;
#X obj 481 258 -~;
#X obj 481 280 throw~ \$0-a2;
#X obj 585 85 r \$0-type;
#X obj 585 129 switch~;
#X obj 238 208 throw~ \$0-b1;
#X obj 308 160 *~ -2;
#X obj 308 182 throw~ \$0-a1;
#X obj 142 74 r~ \$0-slope;
#X obj 141 230 throw~ \$0-b0;
#X obj 585 107 == 3;
#X obj 105 51 expr~ sin($v1);
#X obj 308 137 expr~ cos($v1);
#X obj 238 181 sig~ 0;
#X obj 155 184 *~ -1;
#X connect 2 0 21 0;
#X connect 2 0 22 0;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 6 0 8 0;
#X connect 6 0 11 1;
#X connect 6 0 19 0;
#X connect 6 0 24 0;
#X connect 8 0 9 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 13 0 20 0;
#X connect 16 0 17 0;
#X connect 18 0 4 0;
#X connect 20 0 14 0;
#X connect 21 0 6 0;
#X connect 22 0 16 0;
#X connect 23 0 15 0;
#X connect 24 0 3 0;
#X restore 57 192 pd \$0-bandpass;
#N canvas 303 382 723 412 \$0-notch 0;
#X obj 358 46 r~ \$0-freq;
#X obj 392 95 sig~ 2;
#X obj 477 79 r~ \$0-slope;
#X obj 477 101 max~ 0.01;
#X obj 477 124 *~ 2;
#X obj 392 141 /~;
#X obj 392 192 /~;
#X obj 392 239 *~;
#X obj 392 261 +~ 1;
#X obj 392 283 throw~ \$0-a0;
#X obj 475 262 sig~ 1;
#X obj 475 284 -~;
#X obj 475 306 throw~ \$0-a2;
#X obj 150 161 sig~ 1;
#X obj 150 221 throw~ \$0-b0;
#X obj 170 193 throw~ \$0-b2;
#X obj 254 167 *~ -2;
#X obj 254 221 throw~ \$0-b1;
#X obj 270 193 throw~ \$0-a1;
#X obj 622 65 r \$0-type;
#X obj 622 87 == 4;
#X obj 622 109 switch~;
#X obj 16 63 inlet~;
#X obj 16 91 outlet~;
#X obj 358 73 expr~ sin($v1);
#X obj 392 217 expr~ sinh($v1);
#X obj 254 145 expr~ cos($v1);
#X obj 392 119 log~;
#X obj 392 163 *~;
#X connect 0 0 24 0;
#X connect 0 0 26 0;
#X connect 0 0 28 1;
#X connect 1 0 27 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 1;
#X connect 5 0 28 0;
#X connect 6 0 25 0;
#X connect 7 0 8 0;
#X connect 7 0 11 1;
#X connect 8 0 9 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 13 0 14 0;
#X connect 13 0 15 0;
#X connect 16 0 17 0;
#X connect 16 0 18 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 24 0 6 1;
#X connect 24 0 7 1;
#X connect 25 0 7 0;
#X connect 26 0 16 0;
#X connect 27 0 5 0;
#X connect 28 0 6 0;
#X restore 57 214 pd \$0-notch;
#N canvas 358 435 768 462 \$0-peaking 0;
#X obj 131 45 r~ \$0-freq;
#X obj 131 89 *~ -2;
#X obj 131 141 throw~ \$0-b1;
#X obj 149 116 throw~ \$0-a1;
#X obj 292 147 /~;
#X obj 401 86 r~ \$0-slope;
#X obj 401 108 max~ 0.01;
#X obj 401 130 *~ 2;
#X obj 526 83 r~ \$0-gain;
#X obj 526 105 /~ 40;
#X obj 505 130 sig~ 10;
#X obj 505 152 pow~;
#X obj 292 169 *~;
#X obj 292 234 +~ 1;
#X obj 292 256 throw~ \$0-b0;
#X obj 379 258 throw~ \$0-b2;
#X obj 379 213 sig~ 1;
#X obj 379 235 -~;
#X obj 490 192 /~;
#X obj 490 236 +~ 1;
#X obj 490 258 throw~ \$0-a0;
#X obj 579 213 sig~ 1;
#X obj 579 235 -~;
#X obj 579 258 throw~ \$0-a2;
#X obj 666 62 r \$0-type;
#X obj 666 106 switch~;
#X obj 666 84 == 5;
#X obj 18 66 inlet~;
#X obj 18 93 outlet~;
#X obj 131 67 expr~ cos($v1);
#X obj 292 125 expr~ sin($v1);
#X connect 0 0 29 0;
#X connect 0 0 30 0;
#X connect 1 0 2 0;
#X connect 1 0 3 0;
#X connect 4 0 12 0;
#X connect 4 0 18 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 4 1;
#X connect 8 0 9 0;
#X connect 9 0 11 1;
#X connect 10 0 11 0;
#X connect 11 0 12 1;
#X connect 11 0 18 1;
#X connect 12 0 13 0;
#X connect 12 0 17 1;
#X connect 13 0 14 0;
#X connect 16 0 17 0;
#X connect 17 0 15 0;
#X connect 18 0 19 0;
#X connect 18 0 22 1;
#X connect 19 0 20 0;
#X connect 21 0 22 0;
#X connect 22 0 23 0;
#X connect 24 0 26 0;
#X connect 26 0 25 0;
#X connect 29 0 1 0;
#X connect 30 0 4 0;
#X restore 57 237 pd \$0-peaking;
#N canvas 0 22 995 450 \$0-lowshelf 0;
#X obj 141 33 r~ \$0-freq;
#X obj 443 229 sqrt~;
#X obj 328 63 clip~ 0.001 1;
#X obj 464 42 r~ \$0-gain;
#X obj 464 64 /~ 40;
#X obj 443 86 sig~ 10;
#X obj 443 108 pow~;
#X obj 443 130 *~;
#X obj 443 152 +~ 1;
#X obj 500 135 /~;
#X obj 500 113 sig~ 1;
#X obj 500 157 -~ 1;
#X obj 443 174 *~;
#X obj 500 189 *~ 2;
#X obj 443 206 +~;
#X obj 428 252 *~;
#X text 454 250 alpha;
#X obj 257 225 +~ 1;
#X obj 302 225 -~ 1;
#X obj 302 247 *~;
#X obj 257 264 -~;
#X obj 257 286 +~;
#X text 283 308 first line of left [expr~];
#X obj 257 308 *~;
#X obj 141 242 *~;
#X obj 126 302 -~;
#X obj 126 324 *~;
#X obj 126 386 *~ 2;
#X text 159 387 2nd line of left [expr~];
#X obj 413 341 -~;
#X obj 385 341 -~;
#X obj 413 363 *~;
#X text 441 363 3rd line of left [expr~];
#X obj 257 330 throw~ \$0-b0;
#X obj 126 408 throw~ \$0-b1;
#X obj 413 385 throw~ \$0-b2;
#X obj 665 103 +~;
#X obj 665 125 +~;
#X text 694 122 1st line of right [expr~];
#X obj 665 171 +~;
#X text 695 172 2nd line of right [expr~];
#X obj 664 241 +~;
#X obj 664 263 -~;
#X obj 665 147 throw~ \$0-a0;
#X obj 665 216 throw~ \$0-a1;
#X obj 664 285 throw~ \$0-a2;
#X obj 906 126 r \$0-type;
#X obj 906 148 == 6;
#X obj 906 170 switch~;
#X obj 328 41 r~ \$0-slope;
#X obj 11 59 inlet~;
#X obj 11 85 outlet~;
#X obj 241 95 expr~ sin($v1);
#X obj 141 95 expr~ cos($v1);
#X obj 665 193 *~ -2;
#X connect 0 0 52 0;
#X connect 0 0 53 0;
#X connect 1 0 15 1;
#X connect 2 0 9 1;
#X connect 3 0 4 0;
#X connect 4 0 6 1;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 6 0 7 1;
#X connect 6 0 13 0;
#X connect 6 0 17 0;
#X connect 6 0 18 0;
#X connect 6 0 23 1;
#X connect 6 0 26 1;
#X connect 6 0 31 1;
#X connect 7 0 8 0;
#X connect 8 0 12 0;
#X connect 9 0 11 0;
#X connect 10 0 9 0;
#X connect 11 0 12 1;
#X connect 12 0 14 0;
#X connect 13 0 14 1;
#X connect 14 0 1 0;
#X connect 15 0 21 1;
#X connect 15 0 29 1;
#X connect 15 0 37 1;
#X connect 15 0 42 1;
#X connect 17 0 20 0;
#X connect 17 0 24 1;
#X connect 17 0 30 0;
#X connect 17 0 36 0;
#X connect 17 0 41 0;
#X connect 18 0 19 0;
#X connect 18 0 25 0;
#X connect 18 0 39 0;
#X connect 19 0 30 1;
#X connect 19 0 36 1;
#X connect 19 0 41 1;
#X connect 19 0 20 1;
#X connect 20 0 21 0;
#X connect 21 0 23 0;
#X connect 23 0 33 0;
#X connect 24 0 25 1;
#X connect 24 0 39 1;
#X connect 25 0 26 0;
#X connect 26 0 27 0;
#X connect 27 0 34 0;
#X connect 29 0 31 0;
#X connect 30 0 29 0;
#X connect 31 0 35 0;
#X connect 36 0 37 0;
#X connect 37 0 43 0;
#X connect 39 0 54 0;
#X connect 41 0 42 0;
#X connect 42 0 45 0;
#X connect 46 0 47 0;
#X connect 47 0 48 0;
#X connect 49 0 2 0;
#X connect 52 0 15 0;
#X connect 53 0 19 1;
#X connect 53 0 24 0;
#X connect 54 0 44 0;
#X restore 57 260 pd \$0-lowshelf;
#N canvas 278 313 995 450 \$0-highshelf 0;
#X obj 161 33 r~ \$0-freq;
#X obj 463 229 sqrt~;
#X obj 348 63 clip~ 0.001 1;
#X obj 484 42 r~ \$0-gain;
#X obj 484 64 /~ 40;
#X obj 463 86 sig~ 10;
#X obj 463 108 pow~;
#X obj 463 130 *~;
#X obj 463 152 +~ 1;
#X obj 520 135 /~;
#X obj 520 113 sig~ 1;
#X obj 520 157 -~ 1;
#X obj 463 174 *~;
#X obj 520 189 *~ 2;
#X obj 463 206 +~;
#X obj 448 252 *~;
#X text 474 250 alpha;
#X obj 277 225 +~ 1;
#X obj 322 225 -~ 1;
#X obj 322 247 *~;
#X obj 322 269 +~;
#X text 303 308 first line of left [expr~];
#X obj 277 308 *~;
#X obj 161 242 *~;
#X obj 146 324 *~;
#X text 189 387 2nd line of left [expr~];
#X obj 433 341 -~;
#X obj 433 363 *~;
#X text 461 363 3rd line of left [expr~];
#X obj 277 330 throw~ \$0-b0;
#X obj 146 408 throw~ \$0-b1;
#X obj 433 385 throw~ \$0-b2;
#X obj 685 125 +~;
#X text 714 122 1st line of right [expr~];
#X text 715 192 2nd line of right [expr~];
#X obj 684 283 -~;
#X obj 685 147 throw~ \$0-a0;
#X obj 685 236 throw~ \$0-a1;
#X obj 684 305 throw~ \$0-a2;
#X obj 926 126 r \$0-type;
#X obj 926 170 switch~;
#X obj 277 286 +~;
#X obj 146 302 +~;
#X obj 146 386 *~ -2;
#X obj 405 341 +~;
#X obj 685 103 -~;
#X obj 685 191 -~;
#X obj 684 261 -~;
#X obj 926 148 == 7;
#X obj 348 41 r~ \$0-slope;
#X obj 35 79 inlet~;
#X obj 35 104 outlet~;
#X obj 161 95 expr~ cos($v1);
#X obj 261 95 expr~ sin($v1);
#X obj 685 213 *~ 2;
#X connect 0 0 52 0;
#X connect 0 0 53 0;
#X connect 1 0 15 1;
#X connect 2 0 9 1;
#X connect 3 0 4 0;
#X connect 4 0 6 1;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 6 0 7 1;
#X connect 6 0 13 0;
#X connect 6 0 17 0;
#X connect 6 0 18 0;
#X connect 6 0 22 1;
#X connect 6 0 24 1;
#X connect 6 0 27 1;
#X connect 7 0 8 0;
#X connect 8 0 12 0;
#X connect 9 0 11 0;
#X connect 10 0 9 0;
#X connect 11 0 12 1;
#X connect 12 0 14 0;
#X connect 13 0 14 1;
#X connect 14 0 1 0;
#X connect 15 0 20 1;
#X connect 15 0 32 1;
#X connect 15 0 35 1;
#X connect 15 0 26 1;
#X connect 17 0 23 1;
#X connect 17 0 41 0;
#X connect 17 0 44 0;
#X connect 17 0 45 0;
#X connect 17 0 47 0;
#X connect 18 0 19 0;
#X connect 18 0 42 0;
#X connect 18 0 46 0;
#X connect 19 0 20 0;
#X connect 19 0 44 1;
#X connect 19 0 45 1;
#X connect 19 0 47 1;
#X connect 20 0 41 1;
#X connect 22 0 29 0;
#X connect 23 0 42 1;
#X connect 23 0 46 1;
#X connect 24 0 43 0;
#X connect 26 0 27 0;
#X connect 27 0 31 0;
#X connect 32 0 36 0;
#X connect 35 0 38 0;
#X connect 39 0 48 0;
#X connect 41 0 22 0;
#X connect 42 0 24 0;
#X connect 43 0 30 0;
#X connect 44 0 26 0;
#X connect 45 0 32 0;
#X connect 46 0 54 0;
#X connect 47 0 35 0;
#X connect 48 0 40 0;
#X connect 49 0 2 0;
#X connect 52 0 19 1;
#X connect 52 0 23 0;
#X connect 53 0 15 0;
#X connect 54 0 37 0;
#X restore 57 283 pd \$0-highshelf;
#N canvas 0 22 592 409 \$0-allpass 0;
#X obj 208 46 r~ \$0-freq;
#X obj 242 128 log~;
#X obj 242 104 sig~ 2;
#X obj 327 87 r~ \$0-slope;
#X obj 327 109 max~ 0.01;
#X obj 327 133 *~ 2;
#X obj 242 150 /~;
#X obj 242 200 /~;
#X obj 242 245 *~;
#X obj 242 267 +~ 1;
#X obj 242 329 throw~ \$0-a0;
#X obj 355 268 sig~ 1;
#X obj 355 290 -~;
#X obj 355 342 throw~ \$0-a2;
#X obj 368 317 throw~ \$0-b0;
#X obj 255 305 throw~ \$0-b2;
#X obj 104 167 *~ -2;
#X obj 104 221 throw~ \$0-b1;
#X obj 120 193 throw~ \$0-a1;
#X obj 472 65 r \$0-type;
#X obj 472 109 switch~;
#X obj 472 87 == 8;
#X obj 28 55 inlet~;
#X obj 28 80 outlet~;
#X obj 104 145 expr~ cos($v1);
#X obj 208 73 expr~ sin($v1);
#X obj 242 223 expr~ sinh($v1);
#X obj 242 172 *~;
#X connect 0 0 24 0;
#X connect 0 0 25 0;
#X connect 0 0 27 1;
#X connect 1 0 6 0;
#X connect 2 0 1 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 6 0 27 0;
#X connect 7 0 26 0;
#X connect 8 0 9 0;
#X connect 8 0 12 1;
#X connect 9 0 10 0;
#X connect 9 0 15 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 12 0 14 0;
#X connect 16 0 17 0;
#X connect 16 0 18 0;
#X connect 19 0 21 0;
#X connect 21 0 20 0;
#X connect 24 0 16 0;
#X connect 25 0 7 1;
#X connect 25 0 8 1;
#X connect 26 0 8 0;
#X connect 27 0 7 0;
#X restore 57 306 pd \$0-allpass;
#X obj 247 24 inlet type;
#N canvas 0 22 749 338 \$0-unpack_coeff 0;
#X obj 152 231 /~;
#X obj 582 102 catch~ \$0-a0;
#X obj 152 279 outlet~;
#X obj 232 231 /~;
#X obj 232 279 outlet~;
#X obj 312 102 catch~ \$0-b0;
#X obj 312 231 /~;
#X obj 312 279 outlet~;
#X obj 392 231 /~;
#X obj 392 279 outlet~;
#X obj 472 231 /~;
#X obj 472 279 outlet~;
#X obj 152 102 catch~ \$0-a1;
#X obj 232 102 catch~ \$0-a2;
#X obj 392 102 catch~ \$0-b1;
#X obj 472 102 catch~ \$0-b2;
#X obj 152 165 *~ -1;
#X obj 232 166 *~ -1;
#X obj 63 59 inlet~;
#X connect 0 0 2 0;
#X connect 1 0 0 1;
#X connect 1 0 3 1;
#X connect 1 0 6 1;
#X connect 1 0 8 1;
#X connect 1 0 10 1;
#X connect 3 0 4 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 8 0 9 0;
#X connect 10 0 11 0;
#X connect 12 0 16 0;
#X connect 13 0 17 0;
#X connect 14 0 8 0;
#X connect 15 0 10 0;
#X connect 16 0 0 0;
#X connect 17 0 3 0;
#X restore 57 357 pd \$0-unpack_coeff;
#N canvas 0 22 740 504 \$0-biquad 0;
#X obj 56 23 inlet~ sig;
#X obj 140 23 inlet~ a1;
#X obj 210 23 inlet~ a2;
#X obj 276 23 inlet~ b0;
#X obj 350 23 inlet~ b1;
#X obj 420 23 inlet~ b2;
#X obj 56 104 *~;
#X obj 56 216 czero~;
#X obj 56 248 czero~;
#X obj 56 320 cpole~;
#X obj 56 362 cpole~;
#X obj 56 384 outlet~;
#X text 456 182 y[n] = b0*x[n] + b1*x[n-1] + b2*x[n-2];
#X text 499 199 - a1*y[n-1] - a2*y[n-2];
#X text 399 154 Difference Equation:;
#X text 408 260 z-Transform:;
#X text 457 287 H(z) = b0 + b1*z^-1 + b2*z^-2;
#X text 499 296 ----------------------;
#X text 503 307 1 + a1*z^-1 + a2*z^-2;
#N canvas 245 129 664 509 get_pole_locations 0;
#X obj 125 76 inlet~;
#X obj 324 76 inlet~;
#X obj 121 336 outlet~;
#X obj 181 336 outlet~;
#X obj 241 336 outlet~;
#X obj 301 336 outlet~;
#N canvas 309 87 715 527 pole1 0;
#X obj 78 86 inlet~;
#X obj 243 86 inlet~;
#X obj 78 420 outlet~;
#X obj 171 420 outlet~;
#X obj 168 323 sig~ 2;
#X text 324 183 if sqrt(b^2-4ac) is less than 0 \, make it the imaginary
part of the numerator. Else \, add it to the real part (imaginary stays
zero).;
#X text 226 273 -b + ...;
#X obj 172 187 max~ 0;
#X obj 172 209 sqrt~;
#X obj 260 178 min~ 0;
#X obj 260 200 abs~;
#X obj 260 222 sqrt~;
#N canvas 0 22 450 300 complex_add~ 0;
#X obj 42 41 inlet~;
#X obj 122 41 inlet~;
#X obj 242 41 inlet~;
#X obj 322 41 inlet~;
#X obj 130 154 +~;
#X obj 250 154 +~;
#X obj 130 197 outlet~;
#X obj 250 197 outlet~;
#X connect 0 0 4 0;
#X connect 1 0 5 0;
#X connect 2 0 4 1;
#X connect 3 0 5 1;
#X connect 4 0 6 0;
#X connect 5 0 7 0;
#X restore 78 273 pd complex_add~;
#N canvas 0 22 623 430 complex_div~ 0;
#X obj 142 65 inlet~;
#X obj 193 65 inlet~;
#X obj 342 65 inlet~;
#X obj 393 65 inlet~;
#X obj 250 332 outlet~;
#X obj 301 332 outlet~;
#X obj 250 286 /~;
#X obj 301 286 /~;
#X obj 394 184 *~;
#X obj 434 184 *~;
#X obj 405 223 +~;
#X obj 165 182 *~;
#X obj 205 182 *~;
#X obj 180 212 +~;
#X obj 285 182 *~;
#X obj 325 182 *~;
#X obj 300 212 -~;
#X connect 0 0 11 0;
#X connect 0 0 15 0;
#X connect 1 0 12 0;
#X connect 1 0 14 0;
#X connect 2 0 8 0;
#X connect 2 0 8 1;
#X connect 2 0 11 1;
#X connect 2 0 14 1;
#X connect 3 0 9 0;
#X connect 3 0 9 1;
#X connect 3 0 12 1;
#X connect 3 0 15 1;
#X connect 6 0 4 0;
#X connect 7 0 5 0;
#X connect 8 0 10 0;
#X connect 9 0 10 1;
#X connect 10 0 7 1;
#X connect 10 0 6 1;
#X connect 11 0 13 0;
#X connect 12 0 13 1;
#X connect 13 0 6 0;
#X connect 14 0 16 0;
#X connect 15 0 16 1;
#X connect 16 0 7 0;
#X restore 78 366 pd complex_div~;
#X connect 0 0 12 0;
#X connect 1 0 7 0;
#X connect 1 0 9 0;
#X connect 4 0 13 2;
#X connect 7 0 8 0;
#X connect 8 0 12 2;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 3;
#X connect 12 0 13 0;
#X connect 12 1 13 1;
#X connect 13 0 2 0;
#X connect 13 1 3 0;
#X restore 125 242 pd pole1;
#N canvas 392 46 715 527 pole2 0;
#X obj 78 86 inlet~;
#X obj 243 86 inlet~;
#X obj 78 420 outlet~;
#X obj 171 420 outlet~;
#X obj 168 323 sig~ 2;
#X text 310 185 if sqrt(b^2-4ac) is less than 0 \, make it the imaginary
part of the numerator. Else \, add it to the real part (imaginary stays
zero).;
#X text 226 273 -b - ...;
#X obj 149 161 max~ 0;
#X obj 149 183 sqrt~;
#X obj 219 184 min~ 0;
#X obj 219 206 abs~;
#X obj 219 228 sqrt~;
#N canvas 0 22 450 300 complex_sub~ 0;
#X obj 42 41 inlet~;
#X obj 122 41 inlet~;
#X obj 242 41 inlet~;
#X obj 322 41 inlet~;
#X obj 130 197 outlet~;
#X obj 250 197 outlet~;
#X obj 130 154 -~;
#X obj 250 154 -~;
#X connect 0 0 6 0;
#X connect 1 0 7 0;
#X connect 2 0 6 1;
#X connect 3 0 7 1;
#X connect 6 0 4 0;
#X connect 7 0 5 0;
#X restore 78 273 pd complex_sub~;
#N canvas 0 22 607 457 complex_div~ 0;
#X obj 142 65 inlet~;
#X obj 193 65 inlet~;
#X obj 342 65 inlet~;
#X obj 393 65 inlet~;
#X obj 250 332 outlet~;
#X obj 301 332 outlet~;
#X obj 250 286 /~;
#X obj 301 286 /~;
#X obj 394 184 *~;
#X obj 434 184 *~;
#X obj 405 223 +~;
#X obj 165 182 *~;
#X obj 205 182 *~;
#X obj 180 212 +~;
#X obj 285 182 *~;
#X obj 325 182 *~;
#X obj 300 212 -~;
#X connect 0 0 11 0;
#X connect 0 0 15 0;
#X connect 1 0 12 0;
#X connect 1 0 14 0;
#X connect 2 0 8 0;
#X connect 2 0 8 1;
#X connect 2 0 11 1;
#X connect 2 0 14 1;
#X connect 3 0 9 0;
#X connect 3 0 9 1;
#X connect 3 0 12 1;
#X connect 3 0 15 1;
#X connect 6 0 4 0;
#X connect 7 0 5 0;
#X connect 8 0 10 0;
#X connect 9 0 10 1;
#X connect 10 0 7 1;
#X connect 10 0 6 1;
#X connect 11 0 13 0;
#X connect 12 0 13 1;
#X connect 13 0 6 0;
#X connect 14 0 16 0;
#X connect 15 0 16 1;
#X connect 16 0 7 0;
#X restore 78 366 pd complex_div~;
#X connect 0 0 12 0;
#X connect 1 0 7 0;
#X connect 1 0 9 0;
#X connect 4 0 13 2;
#X connect 7 0 8 0;
#X connect 8 0 12 2;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 3;
#X connect 12 0 13 0;
#X connect 12 1 13 1;
#X connect 13 0 2 0;
#X connect 13 1 3 0;
#X restore 197 243 pd pole2;
#X obj 125 159 *~ 1;
#X text 395 225 ---------------------;
#X text 440 236 2a;
#X text 349 211 roots = -b +/- sqrt(b^2 - 4ac);
#X text 285 253 Note: since a0 is assumed to be 1 \, a in the quadratic
will always be 1;
#X text 344 160 < - because it should be -a1 and -a2;
#X obj 203 148 *~;
#X obj 324 98 *~ 4;
#X obj 203 170 +~;
#X connect 0 0 8 0;
#X connect 0 0 14 1;
#X connect 0 0 14 0;
#X connect 1 0 15 0;
#X connect 6 0 2 0;
#X connect 6 1 3 0;
#X connect 7 0 4 0;
#X connect 7 1 5 0;
#X connect 8 0 6 0;
#X connect 8 0 7 0;
#X connect 14 0 16 0;
#X connect 15 0 16 1;
#X connect 16 0 6 1;
#X connect 16 0 7 1;
#X restore 141 276 pd get_pole_locations;
#N canvas 0 22 668 429 get_zero_locations 0;
#X obj 125 76 inlet~;
#X obj 254 76 inlet~;
#N canvas 193 58 715 527 zero1 0;
#X obj 78 86 inlet~;
#X obj 243 86 inlet~;
#X obj 78 420 outlet~;
#X obj 171 420 outlet~;
#X obj 168 323 sig~ 2;
#X text 310 185 if sqrt(b^2-4ac) is less than 0 \, make it the imaginary
part of the numerator. Else \, add it to the real part (imaginary stays
zero).;
#X text 226 273 -b + ...;
#X obj 139 166 max~ 0;
#X obj 139 188 sqrt~;
#X obj 214 152 min~ 0;
#X obj 214 174 abs~;
#X obj 214 196 sqrt~;
#N canvas 0 22 450 300 complex_add~ 0;
#X obj 42 41 inlet~;
#X obj 122 41 inlet~;
#X obj 242 41 inlet~;
#X obj 322 41 inlet~;
#X obj 130 154 +~;
#X obj 250 154 +~;
#X obj 130 197 outlet~;
#X obj 250 197 outlet~;
#X connect 0 0 4 0;
#X connect 1 0 5 0;
#X connect 2 0 4 1;
#X connect 3 0 5 1;
#X connect 4 0 6 0;
#X connect 5 0 7 0;
#X restore 78 273 pd complex_add~;
#N canvas 0 22 596 441 complex_div~ 0;
#X obj 142 65 inlet~;
#X obj 193 65 inlet~;
#X obj 342 65 inlet~;
#X obj 393 65 inlet~;
#X obj 250 332 outlet~;
#X obj 301 332 outlet~;
#X obj 250 286 /~;
#X obj 301 286 /~;
#X obj 394 184 *~;
#X obj 434 184 *~;
#X obj 405 223 +~;
#X obj 165 182 *~;
#X obj 205 182 *~;
#X obj 180 212 +~;
#X obj 285 182 *~;
#X obj 325 182 *~;
#X obj 300 212 -~;
#X connect 0 0 11 0;
#X connect 0 0 15 0;
#X connect 1 0 12 0;
#X connect 1 0 14 0;
#X connect 2 0 8 0;
#X connect 2 0 8 1;
#X connect 2 0 11 1;
#X connect 2 0 14 1;
#X connect 3 0 9 0;
#X connect 3 0 9 1;
#X connect 3 0 12 1;
#X connect 3 0 15 1;
#X connect 6 0 4 0;
#X connect 7 0 5 0;
#X connect 8 0 10 0;
#X connect 9 0 10 1;
#X connect 10 0 7 1;
#X connect 10 0 6 1;
#X connect 11 0 13 0;
#X connect 12 0 13 1;
#X connect 13 0 6 0;
#X connect 14 0 16 0;
#X connect 15 0 16 1;
#X connect 16 0 7 0;
#X restore 78 366 pd complex_div~;
#X connect 0 0 12 0;
#X connect 1 0 7 0;
#X connect 1 0 9 0;
#X connect 4 0 13 2;
#X connect 7 0 8 0;
#X connect 8 0 12 2;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 3;
#X connect 12 0 13 0;
#X connect 12 1 13 1;
#X connect 13 0 2 0;
#X connect 13 1 3 0;
#X restore 125 242 pd zero1;
#N canvas 250 55 715 527 zero2 0;
#X obj 78 86 inlet~;
#X obj 243 86 inlet~;
#X obj 78 420 outlet~;
#X obj 171 420 outlet~;
#X obj 136 340 sig~ 2;
#X text 310 185 if sqrt(b^2-4ac) is less than 0 \, make it the imaginary
part of the numerator. Else \, add it to the real part (imaginary stays
zero).;
#X text 226 273 -b - ...;
#X obj 177 166 max~ 0;
#X obj 177 188 sqrt~;
#X obj 264 125 min~ 0;
#X obj 264 147 abs~;
#X obj 264 169 sqrt~;
#N canvas 0 22 450 300 complex_sub~ 0;
#X obj 42 41 inlet~;
#X obj 122 41 inlet~;
#X obj 242 41 inlet~;
#X obj 322 41 inlet~;
#X obj 130 197 outlet~;
#X obj 250 197 outlet~;
#X obj 130 154 -~;
#X obj 250 154 -~;
#X connect 0 0 6 0;
#X connect 1 0 7 0;
#X connect 2 0 6 1;
#X connect 3 0 7 1;
#X connect 6 0 4 0;
#X connect 7 0 5 0;
#X restore 78 273 pd complex_sub~;
#N canvas 0 22 609 427 complex_div~ 0;
#X obj 142 65 inlet~;