-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbiquad calculation patch.pd
More file actions
231 lines (231 loc) · 5.55 KB
/
biquad calculation patch.pd
File metadata and controls
231 lines (231 loc) · 5.55 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
#N canvas 0 23 450 300 10;
#N canvas 868 536 706 476 calculate_biquad_coefficients 0;
#X obj 131 15 inlet;
#X obj 353 10 inlet;
#X obj 486 98 expr pow(10 \, abs(1/20));
#X text 631 98 V;
#X obj 141 377 print;
#X obj 380 67 f 1;
#N canvas 1009 506 605 495 lowpass 0;
#X obj 37 37 inlet;
#X obj 57 98 expr tan(3.14159265 * $f1);
#X text 223 94 K;
#X obj 297 32 t f f;
#X text 28 154 norm;
#X obj 46 312 pack f f f f f;
#X obj 62 124 t f f;
#X text 103 226 lp_a0;
#X obj 69 267 * 2;
#X obj 49 225 t f f f;
#X obj 63 174 t f f;
#X obj 196 202 expr 2 * $f1 * (($f2*$f2) - 1);
#X obj 299 9 inlet;
#X obj 46 333 outlet;
#X obj 214 244 expr (1 - ($f2 / $f3) + ($f2*$f2)) * $f1;
#X obj 63 153 expr 1 / (1 + ($f1/$f2) + ($f1*$f1));
#X obj 49 204 expr $f2 * $f2 * $f1;
#X connect 0 0 1 0;
#X connect 1 0 6 0;
#X connect 3 0 14 2;
#X connect 3 0 15 1;
#X connect 5 0 13 0;
#X connect 6 0 15 0;
#X connect 6 1 11 1;
#X connect 6 1 14 1;
#X connect 6 1 16 1;
#X connect 8 0 5 1;
#X connect 9 0 5 0;
#X connect 9 1 8 0;
#X connect 9 2 5 2;
#X connect 10 0 16 0;
#X connect 10 1 11 0;
#X connect 10 1 14 0;
#X connect 11 0 5 3;
#X connect 12 0 3 0;
#X connect 14 0 5 4;
#X connect 15 0 10 0;
#X connect 16 0 9 0;
#X restore 172 173 pd lowpass;
#X obj 443 7 loadbang;
#X obj 185 60 loadbang;
#X obj 174 311 outlet;
#X obj 353 31 t b f;
#X obj 131 36 / 44100;
#X text 72 162 a0 a1 a2 b1 b2;
#N canvas 0 23 450 300 convert_to_pd_biquad 0;
#X obj 24 18 inlet;
#X obj 52 69 unpack f f f f f;
#X obj 121 112 * -1;
#X obj 155 113 * -1;
#X obj 61 175 pack f f f f f;
#X obj 49 141 f 0;
#X obj 24 39 t b l;
#X obj 61 196 outlet;
#X connect 0 0 6 0;
#X connect 1 0 4 2;
#X connect 1 1 4 3;
#X connect 1 2 4 4;
#X connect 1 3 2 0;
#X connect 1 4 3 0;
#X connect 2 0 5 1;
#X connect 3 0 4 1;
#X connect 4 0 7 0;
#X connect 5 0 4 0;
#X connect 6 0 5 0;
#X connect 6 1 1 0;
#X restore 172 194 pd convert_to_pd_biquad;
#X obj 170 103 f 0.01;
#X text 68 216 -b1 -b2 a0 a1 a2;
#N canvas 0 23 450 300 convert_to_pd_biquad 0;
#X obj 24 18 inlet;
#X obj 52 69 unpack f f f f f;
#X obj 121 112 * -1;
#X obj 155 113 * -1;
#X obj 61 175 pack f f f f f;
#X obj 49 141 f 0;
#X obj 24 39 t b l;
#X obj 61 196 outlet;
#X connect 0 0 6 0;
#X connect 1 0 4 2;
#X connect 1 1 4 3;
#X connect 1 2 4 4;
#X connect 1 3 2 0;
#X connect 1 4 3 0;
#X connect 2 0 5 1;
#X connect 3 0 4 1;
#X connect 4 0 7 0;
#X connect 5 0 4 0;
#X connect 6 0 5 0;
#X connect 6 1 1 0;
#X restore 348 196 pd convert_to_pd_biquad;
#N canvas 1009 506 605 495 highpass 0;
#X obj 37 37 inlet;
#X obj 57 98 expr tan(3.14159265 * $f1);
#X text 223 94 K;
#X obj 297 32 t f f;
#X text 28 154 norm;
#X obj 46 312 pack f f f f f;
#X obj 62 124 t f f;
#X obj 49 225 t f f f, f 12;
#X obj 63 174 t f f;
#X obj 196 202 expr 2 * $f1 * (($f2*$f2) - 1);
#X obj 299 9 inlet;
#X obj 46 333 outlet;
#X obj 214 244 expr (1 - ($f2 / $f3) + ($f2*$f2)) * $f1;
#X obj 63 153 expr 1 / (1 + ($f1/$f2) + ($f1*$f1));
#X obj 69 267 * -2;
#X connect 0 0 1 0;
#X connect 1 0 6 0;
#X connect 3 0 12 2;
#X connect 3 0 13 1;
#X connect 5 0 11 0;
#X connect 6 0 13 0;
#X connect 6 1 9 1;
#X connect 6 1 12 1;
#X connect 7 0 5 0;
#X connect 7 1 14 0;
#X connect 7 2 5 2;
#X connect 8 0 7 0;
#X connect 8 1 9 0;
#X connect 8 1 12 0;
#X connect 9 0 5 3;
#X connect 10 0 3 0;
#X connect 12 0 5 4;
#X connect 13 0 8 0;
#X connect 14 0 5 1;
#X restore 348 175 pd highpass;
#X obj 170 15 samplerate~;
#X obj 347 309 outlet;
#X obj 527 308 outlet;
#N canvas 1003 702 450 300 convert_to_pd_biquad 0;
#X obj 24 18 inlet;
#X obj 52 69 unpack f f f f f;
#X obj 121 112 * -1;
#X obj 155 113 * -1;
#X obj 61 175 pack f f f f f;
#X obj 49 141 f 0;
#X obj 24 39 t b l;
#X obj 61 196 outlet;
#X connect 0 0 6 0;
#X connect 1 0 4 2;
#X connect 1 1 4 3;
#X connect 1 2 4 4;
#X connect 1 3 2 0;
#X connect 1 4 3 0;
#X connect 2 0 5 1;
#X connect 3 0 4 1;
#X connect 4 0 7 0;
#X connect 5 0 4 0;
#X connect 6 0 5 0;
#X connect 6 1 1 0;
#X restore 522 200 pd convert_to_pd_biquad;
#N canvas 1009 506 605 495 bandpass 0;
#X obj 37 37 inlet;
#X obj 57 98 expr tan(3.14159265 * $f1);
#X text 223 94 K;
#X obj 297 32 t f f;
#X text 28 154 norm;
#X obj 62 124 t f f;
#X obj 49 225 t f f f;
#X obj 63 174 t f f;
#X obj 196 202 expr 2 * $f1 * (($f2*$f2) - 1);
#X obj 299 9 inlet;
#X obj 46 333 outlet;
#X obj 214 244 expr (1 - ($f2 / $f3) + ($f2*$f2)) * $f1;
#X obj 63 153 expr 1 / (1 + ($f1/$f2) + ($f1*$f1));
#X obj 49 204 expr $f2 / ($f3 * $f1);
#X obj 46 312 pack f 0 f f f;
#X obj 88 269 * -1;
#X connect 0 0 1 0;
#X connect 1 0 5 0;
#X connect 3 0 11 2;
#X connect 3 0 12 1;
#X connect 3 0 13 2;
#X connect 5 0 12 0;
#X connect 5 1 8 1;
#X connect 5 1 11 1;
#X connect 5 1 13 1;
#X connect 6 0 14 0;
#X connect 6 2 15 0;
#X connect 7 0 13 0;
#X connect 7 1 8 0;
#X connect 7 1 11 0;
#X connect 8 0 14 3;
#X connect 9 0 3 0;
#X connect 11 0 14 4;
#X connect 12 0 7 0;
#X connect 13 0 6 0;
#X connect 14 0 10 0;
#X connect 15 0 14 2;
#X restore 523 177 pd bandpass;
#X connect 0 0 11 0;
#X connect 1 0 10 0;
#X connect 5 0 6 1;
#X connect 5 0 17 1;
#X connect 5 0 22 1;
#X connect 6 0 13 0;
#X connect 7 0 5 0;
#X connect 8 0 14 0;
#X connect 10 0 14 0;
#X connect 10 1 5 0;
#X connect 11 0 14 0;
#X connect 13 0 9 0;
#X connect 14 0 6 0;
#X connect 14 0 17 0;
#X connect 14 0 22 0;
#X connect 16 0 19 0;
#X connect 17 0 16 0;
#X connect 18 0 11 1;
#X connect 21 0 20 0;
#X connect 22 0 21 0;
#X restore 44 72 pd calculate_biquad_coefficients;
#X floatatom 44 48 5 0 0 1 cutoff - -;
#X floatatom 233 50 5 0 0 1 resonance - -;
#X obj 44 99 print lowpass;
#X obj 138 99 print highpass;
#X obj 233 99 print bandpass;
#X connect 0 0 3 0;
#X connect 0 1 4 0;
#X connect 0 2 5 0;
#X connect 1 0 0 0;
#X connect 2 0 0 1;