/
u_highpass.pd
440 lines (440 loc) · 10.6 KB
/
u_highpass.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
#N canvas 186 118 956 732 10;
#N canvas 0 0 786 513 b0 0;
#X obj 101 245 outlet;
#X obj 424 96 r \$0-Q;
#X obj 320 95 r \$0-alpha;
#X obj 69 92 r \$0-w;
#X obj 232 94 r \$0-wsin;
#X obj 131 182 * 0.5;
#X obj 131 94 r \$0-wcos;
#X obj 131 159 + 1;
#X connect 5 0 0 0;
#X connect 6 0 7 0;
#X connect 7 0 5 0;
#X restore 167 444 pd b0;
#N canvas 0 0 786 513 b1 0;
#X obj 101 245 outlet;
#X obj 424 96 r \$0-Q;
#X obj 320 95 r \$0-alpha;
#X obj 69 92 r \$0-w;
#X obj 232 94 r \$0-wsin;
#X obj 131 94 r \$0-wcos;
#X obj 131 139 + 1;
#X obj 131 159 * -1;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 0 0;
#X restore 187 473 pd b1;
#N canvas 0 0 786 513 b2 0;
#X obj 101 245 outlet;
#X obj 424 96 r \$0-Q;
#X obj 320 95 r \$0-alpha;
#X obj 69 92 r \$0-w;
#X obj 232 94 r \$0-wsin;
#X obj 131 182 * 0.5;
#X obj 131 94 r \$0-wcos;
#X obj 131 159 + 1;
#X connect 5 0 0 0;
#X connect 6 0 7 0;
#X connect 7 0 5 0;
#X restore 208 497 pd b2;
#N canvas 236 89 786 513 a0 0;
#X obj 219 280 outlet;
#X obj 424 96 r \$0-Q;
#X obj 320 95 r \$0-alpha;
#X obj 69 92 r \$0-w;
#X obj 232 94 r \$0-wsin;
#X obj 320 138 + 1;
#X obj 131 94 r \$0-wcos;
#X connect 2 0 5 0;
#X connect 5 0 0 0;
#X restore 105 377 pd a0;
#N canvas 0 0 786 513 a1 0;
#X obj 101 245 outlet;
#X obj 424 96 r \$0-Q;
#X obj 320 95 r \$0-alpha;
#X obj 69 92 r \$0-w;
#X obj 232 94 r \$0-wsin;
#X obj 131 128 * -2;
#X obj 131 94 r \$0-wcos;
#X connect 5 0 0 0;
#X connect 6 0 5 0;
#X restore 126 398 pd a1;
#N canvas 0 0 786 513 a2 0;
#X obj 101 245 outlet;
#X obj 424 96 r \$0-Q;
#X obj 320 95 r \$0-alpha;
#X obj 69 92 r \$0-w;
#X obj 232 94 r \$0-wsin;
#X msg 320 140 1 \$1;
#X obj 320 164 -;
#X obj 131 94 r \$0-wcos;
#X connect 2 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 0 0;
#X restore 146 419 pd a2;
#N canvas 0 0 1060 735 biquad6 0;
#X obj 351 302 pack 0 0 0 0 0;
#X msg 351 327 fb1 fb2 ff1 ff2 ff3;
#X msg 625 327 p p z z z;
#X text 561 430 H = -----------------------------;
#X text 590 414 ff1 + ff2*z^(-1) + ff3*z^(-2);
#X text 591 450 1 - fb1*z^(-1) - fb2*z^(-2);
#X text 560 488 Audio-Cookbook:;
#X text 592 557 1 + (-a1/a0)*z^(-1) + (-a2/a0)*z^(-2);
#X text 562 537 H = -----------------------------------------;
#X obj 333 103 inlet;
#X obj 390 103 inlet;
#X obj 449 103 inlet;
#X obj 511 103 inlet;
#X obj 572 103 inlet;
#X obj 630 103 inlet;
#X text 333 80 a0;
#X text 390 80 a1;
#X text 449 80 a2;
#X text 511 80 b0;
#X text 572 80 b1;
#X text 630 80 b2;
#X text 591 524 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2);
#N canvas 0 0 450 300 /a0 0;
#X obj 88 49 inlet;
#X obj 88 164 outlet;
#X obj 88 137 / 1;
#X obj 127 69 inlet;
#X obj 88 106 swap 1;
#X connect 0 0 4 0;
#X connect 2 0 1 0;
#X connect 3 0 4 1;
#X connect 4 0 2 0;
#X connect 4 1 2 1;
#X restore 591 206 pd /a0;
#X obj 116 107 inlet;
#X obj 116 226 list;
#X obj 141 259 print biquad;
#X obj 116 201 b;
#X obj 116 289 outlet;
#X obj 116 154 route print bang;
#X obj 315 157 f;
#N canvas 0 0 450 300 /a0 0;
#X obj 88 49 inlet;
#X obj 88 164 outlet;
#X obj 88 137 / 1;
#X obj 127 69 inlet;
#X obj 88 106 swap 1;
#X connect 0 0 4 0;
#X connect 2 0 1 0;
#X connect 3 0 4 1;
#X connect 4 0 2 0;
#X connect 4 1 2 1;
#X restore 472 206 pd /a0;
#N canvas 0 0 450 300 /a0 0;
#X obj 88 49 inlet;
#X obj 88 164 outlet;
#X obj 88 137 / 1;
#X obj 127 69 inlet;
#X obj 88 106 swap 1;
#X connect 0 0 4 0;
#X connect 2 0 1 0;
#X connect 3 0 4 1;
#X connect 4 0 2 0;
#X connect 4 1 2 1;
#X restore 533 206 pd /a0;
#N canvas 0 0 450 300 /a0 0;
#X obj 88 49 inlet;
#X obj 88 164 outlet;
#X obj 88 137 / 1;
#X obj 127 69 inlet;
#X obj 88 106 swap 1;
#X connect 0 0 4 0;
#X connect 2 0 1 0;
#X connect 3 0 4 1;
#X connect 4 0 2 0;
#X connect 4 1 2 1;
#X restore 410 206 pd /a0;
#N canvas 0 0 450 300 /a0 0;
#X obj 88 49 inlet;
#X obj 88 164 outlet;
#X obj 88 137 / 1;
#X obj 127 69 inlet;
#X obj 88 106 swap 1;
#X connect 0 0 4 0;
#X connect 2 0 1 0;
#X connect 3 0 4 1;
#X connect 4 0 2 0;
#X connect 4 1 2 1;
#X restore 351 206 pd /a0;
#X obj 351 157 t a a a a a;
#X obj 283 132 t b b;
#X text 329 46 all coefficient inlets are cold inlets. Activate them
with a bang into first inlet.;
#X obj 351 247 * -1;
#X obj 410 247 * -1;
#X connect 0 0 24 1;
#X connect 9 0 29 1;
#X connect 10 0 33 1;
#X connect 11 0 32 1;
#X connect 12 0 30 1;
#X connect 13 0 31 1;
#X connect 14 0 22 1;
#X connect 22 0 0 4;
#X connect 23 0 28 0;
#X connect 24 0 27 0;
#X connect 26 0 24 0;
#X connect 28 0 26 0;
#X connect 28 1 35 0;
#X connect 29 0 34 0;
#X connect 30 0 0 2;
#X connect 31 0 0 3;
#X connect 32 0 38 0;
#X connect 33 0 37 0;
#X connect 34 0 33 0;
#X connect 34 1 32 0;
#X connect 34 2 30 0;
#X connect 34 3 31 0;
#X connect 34 4 22 0;
#X connect 35 0 26 0;
#X connect 35 1 29 0;
#X connect 37 0 0 0;
#X connect 38 0 0 1;
#X restore 85 541 pd biquad6 -------;
#X obj 668 262 hradio 15 1 0 2 empty empty bw/Q 0 -8 1 10 -262144 -1
-1 0;
#X floatatom 494 230 5 0 0 2 BW - -;
#X floatatom 602 256 5 0 0 2 Q - -;
#X floatatom 437 257 5 0 0 0 freq - -;
#X text 717 256 <(default: BW);
#X obj 602 276 t b a;
#X obj 493 249 t b a;
#X obj 668 285 t b a;
#X obj 525 282 * 0.01;
#X obj 437 342 f;
#X obj 85 579 outlet;
#X obj 84 85 inlet;
#X obj 363 39 loadbang;
#X obj 363 136 f \$1;
#X obj 395 103 f \$2;
#X obj 363 65 t b b b;
#X obj 147 85 inlet;
#X text 147 61 BW;
#X text 82 59 freq;
#N canvas 0 0 1185 531 compute-stuff 0;
#X obj 947 343 / 1;
#X obj 965 293 * 2;
#X obj 524 145 s \$0-Q;
#X obj 142 159 s \$0-w;
#X obj 947 386 s \$0-alpha;
#X obj 965 270 r \$0-Q;
#X obj 205 316 s \$0-wsin;
#X obj 947 238 r \$0-wsin;
#X obj 205 294 sin;
#X obj 118 295 cos;
#X obj 118 229 r \$0-w;
#X obj 205 232 r \$0-w;
#X obj 635 150 / 2;
#X obj 617 174 *;
#X obj 617 238 *;
#X obj 647 184 r \$0-w;
#X obj 653 244 r \$0-wsin;
#X obj 617 294 /;
#N canvas 217 313 450 300 sinh 0;
#X obj 88 37 inlet;
#X obj 88 87 t a a;
#X obj 88 223 outlet;
#X obj 120 116 * -1;
#X obj 120 136 exp;
#X obj 88 136 exp;
#X obj 88 174 -;
#X obj 88 199 * 0.5;
#X text 313 133 2;
#X text 272 105 exp(x) - exp(-x);
#X text 223 117 sinh = ----------------;
#X obj 88 64 f;
#X connect 0 0 11 0;
#X connect 1 0 5 0;
#X connect 1 1 3 0;
#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 7 0 2 0;
#X connect 11 0 1 0;
#X restore 617 335 pd sinh;
#X obj 617 369 *;
#X obj 617 65 r \$0-BW;
#X obj 617 422 s \$0-alpha;
#X obj 947 365 spigot 0;
#X obj 1000 341 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
0 1;
#X obj 670 374 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 635 130 log;
#X msg 635 109 2;
#X obj 635 87 loadbang;
#X obj 439 91 select 0;
#X obj 397 91 moses;
#X obj 273 101 select 0;
#X obj 231 101 moses;
#X obj 492 119 t b a;
#X obj 326 125 t b a;
#X obj 358 147 s \$0-BW;
#X obj 118 317 s \$0-wcos;
#N canvas 0 0 783 567 hz2rad 0;
#X obj 194 113 samplerate~;
#X obj 194 71 loadbang;
#X obj 194 185 atan;
#X msg 194 160 1;
#X text 412 62 w = 2 * pi * f / SR;
#X obj 194 207 * 8;
#X obj 194 137 t b a;
#X msg 205 90 bang;
#X obj 194 230 / 44100;
#X text 260 232 2 * pi / SR;
#X obj 119 269 *;
#X obj 119 35 inlet;
#X obj 119 298 outlet;
#X text 175 300 w(rad);
#X text 167 35 freq(Hz);
#X obj 285 35 r pd;
#X obj 285 55 route dsp;
#X obj 285 78 select 1;
#X connect 0 0 6 0;
#X connect 1 0 0 0;
#X connect 2 0 5 0;
#X connect 3 0 2 0;
#X connect 5 0 8 0;
#X connect 6 0 3 0;
#X connect 6 1 8 1;
#X connect 7 0 0 0;
#X connect 8 0 10 1;
#X connect 10 0 12 0;
#X connect 11 0 10 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 0 0;
#X restore 110 111 pd hz2rad;
#X obj 110 77 inlet;
#X text 108 56 frequency;
#X obj 397 68 inlet;
#X text 396 49 Q;
#X obj 231 78 inlet;
#X text 227 57 BW;
#X obj 786 74 inlet;
#X obj 786 102 select 0 1;
#X obj 786 169 unpack 0 0;
#X msg 786 136 1 0;
#X msg 819 136 0 1;
#X text 785 43 Bandwith or Q;
#X obj 617 398 spigot 1;
#X floatatom 552 459 8 0 0 0 - - -;
#X text 721 452 alpha = sin(w0)*sinh( ln(2)/2 * BW * w0/sin(w0) ) (case:
BW);
#X obj 205 267 spigot 1;
#X obj 110 132 t b a;
#X obj 965 317 t b a;
#X obj 653 267 t b a a;
#X obj 647 204 t b a;
#X obj 118 266 spigot 1;
#X connect 0 0 22 0;
#X connect 1 0 54 0;
#X connect 5 0 1 0;
#X connect 7 0 0 0;
#X connect 8 0 6 0;
#X connect 9 0 35 0;
#X connect 10 0 57 0;
#X connect 11 0 52 0;
#X connect 12 0 13 1;
#X connect 13 0 14 0;
#X connect 14 0 17 0;
#X connect 15 0 56 0;
#X connect 16 0 55 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 49 0;
#X connect 20 0 13 0;
#X connect 22 0 4 0;
#X connect 23 0 22 1;
#X connect 24 0 49 1;
#X connect 25 0 12 0;
#X connect 26 0 25 0;
#X connect 27 0 26 0;
#X connect 28 1 32 0;
#X connect 29 1 28 0;
#X connect 30 1 33 0;
#X connect 31 1 30 0;
#X connect 32 1 2 0;
#X connect 33 1 34 0;
#X connect 36 0 53 0;
#X connect 37 0 36 0;
#X connect 39 0 29 0;
#X connect 41 0 31 0;
#X connect 43 0 44 0;
#X connect 44 0 46 0;
#X connect 44 1 47 0;
#X connect 45 0 24 0;
#X connect 45 1 23 0;
#X connect 46 0 45 0;
#X connect 47 0 45 0;
#X connect 49 0 21 0;
#X connect 49 0 50 0;
#X connect 52 0 8 0;
#X connect 53 1 3 0;
#X connect 54 0 0 0;
#X connect 54 1 0 1;
#X connect 55 0 17 0;
#X connect 55 1 17 1;
#X connect 55 2 19 1;
#X connect 56 0 14 0;
#X connect 56 1 14 1;
#X connect 57 0 9 0;
#X restore 437 377 pd compute-stuff;
#X msg 668 217 0;
#X obj 84 116 t b a;
#X obj 147 119 t b a;
#N canvas 172 83 586 377 LICENSE-GPL 0;
#X text 57 88 This program is free software: you can redistribute it
and/or modify it under the terms of the GNU General Public License
as published by the Free Software Foundation \, either version 3 of
the License \, or (at your option) any later version.;
#X text 58 168 This program is distributed in the hope that it will
be useful \, but WITHOUT ANY WARRANTY \; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.;
#X text 57 261 You should have received a copy of the GNU General Public
License along with this program. If not \, see <http://www.gnu.org/licenses/>.
;
#X text 61 54 Copyright (C) 2009 \, Reality Jockey Ltd.;
#X text 60 325 See the file LICENSE.txt for the full license text.
;
#X restore 522 59 pd LICENSE-GPL;
#X connect 0 0 6 4;
#X connect 1 0 6 5;
#X connect 2 0 6 6;
#X connect 3 0 6 1;
#X connect 4 0 6 2;
#X connect 5 0 6 3;
#X connect 6 0 17 0;
#X connect 7 0 14 0;
#X connect 8 0 13 0;
#X connect 9 0 12 0;
#X connect 10 0 16 0;
#X connect 12 0 16 0;
#X connect 12 1 26 2;
#X connect 13 0 16 0;
#X connect 13 1 15 0;
#X connect 14 0 16 0;
#X connect 14 1 26 3;
#X connect 15 0 26 1;
#X connect 16 0 26 0;
#X connect 18 0 28 0;
#X connect 19 0 22 0;
#X connect 20 0 16 0;
#X connect 21 0 13 0;
#X connect 22 0 20 0;
#X connect 22 1 21 0;
#X connect 22 2 27 0;
#X connect 23 0 29 0;
#X connect 27 0 7 0;
#X connect 28 0 6 0;
#X connect 28 1 16 0;
#X connect 29 0 6 0;
#X connect 29 1 13 0;