Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
258 changes: 85 additions & 173 deletions hv.filters/allpass.coeffs.pd
Original file line number Diff line number Diff line change
@@ -1,176 +1,88 @@
#N canvas 357 23 608 743 10;
#N canvas 0 22 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 382 53 w = 2 * pi * f / SR;
#X obj 194 207 * 8;
#X obj 194 137 t b a;
#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 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 7 0;
#X connect 6 0 3 0;
#X connect 6 1 7 1;
#X connect 7 0 9 1;
#X connect 9 0 11 0;
#X connect 10 0 9 0;
#X restore 41 336 pd hz2rad;
#X obj 41 366 t f f;
#X obj 109 396 sin;
#X obj 41 396 cos;
#X obj 109 436 s \$0-wsin;
#X obj 41 436 s \$0-wcos;
#X obj 41 276 clip 20 20000;
#X obj 213 276 clip 0.1 100;
#X obj 138 306 r \$0-wsin;
#X obj 198 436 s \$0-alpha;
#X msg 213 306 1 \$1;
#X obj 213 336 /;
#X obj 198 366 *;
#X obj 198 396 * 0.5;
#N canvas 0 22 450 300 a0 0;
#X obj 54 65 r \$0-wcos;
#X obj 124 65 r \$0-wsin;
#X obj 194 65 r \$0-alpha;
#X obj 194 200 outlet;
#X obj 194 139 + 1;
#X connect 2 0 4 0;
#X connect 4 0 3 0;
#X restore 37 476 pd a0;
#X text 305 139 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2);
#X obj 22 506 f;
#X msg 22 536 1 \$1;
#X obj 22 566 /;
#X obj 22 656 *;
#X obj 84 656 *;
#X obj 146 656 *;
#X obj 208 657 *;
#X obj 271 657 *;
#X text 280 414 w0 = 2*pi*f0*Fs;
#X text 280 434 alpha = sin(w0)/(2*Q);
#X obj 207 71 t b f;
#X obj 22 51 inlet freq;
#X obj 207 51 inlet q;
#X text 308 176 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2);
#X text 264 115 Audio-Cookbook:;
#X text 264 205 http://musicdsp.org/files/Audio-EQ-Cookbook.txt;
#X text 266 157 H(z) = -----------------------------------------;
#X obj 22 596 t f f f f f b;
#X obj 22 181 t b a b;
#X obj 22 698 outlet b0;
#X obj 84 698 outlet b1;
#X obj 146 698 outlet b2;
#X obj 208 698 outlet a1;
#X obj 271 698 outlet a2;
#X text 389 660 b0 = 1 - alpha;
#X text 389 600 a0 = 1 + alpha;
#X text 389 640 a2 = 1 - alpha;
#X text 389 620 a1 = -2*cos(w0);
#X text 389 680 b1 = -2*cos(w0);
#X text 389 700 b2 = 1 + alpha;
#N canvas 0 22 450 300 b0 0;
#X obj 54 65 r \$0-wcos;
#X obj 124 65 r \$0-wsin;
#X obj 194 65 r \$0-alpha;
#X obj 194 181 outlet;
#X msg 194 121 1 \$1;
#X obj 194 151 -;
#X connect 2 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 3 0;
#X restore 126 595 pd b0;
#N canvas 0 22 450 300 b1 0;
#X obj 54 65 r \$0-wcos;
#X obj 124 65 r \$0-wsin;
#X obj 194 65 r \$0-alpha;
#X obj 54 178 outlet;
#X obj 54 127 * -2;
#X connect 0 0 4 0;
#X connect 4 0 3 0;
#X restore 166 595 pd b1;
#N canvas 0 22 450 300 b2 0;
#X obj 54 65 r \$0-wcos;
#X obj 124 65 r \$0-wsin;
#X obj 194 65 r \$0-alpha;
#X obj 194 198 outlet;
#X obj 194 128 + 1;
#X connect 2 0 4 0;
#X connect 4 0 3 0;
#X restore 206 595 pd b2;
#N canvas 0 22 450 300 a1 0;
#X obj 54 65 r \$0-wcos;
#X obj 124 65 r \$0-wsin;
#X obj 194 65 r \$0-alpha;
#X obj 54 198 outlet;
#X obj 54 127 * -2;
#X connect 0 0 4 0;
#X connect 4 0 3 0;
#X restore 246 595 pd a1;
#N canvas 0 22 450 300 a2 0;
#X obj 54 65 r \$0-wcos;
#X obj 124 65 r \$0-wsin;
#X obj 196 65 r \$0-alpha;
#X obj 196 187 outlet;
#X msg 196 129 1 \$1;
#X obj 196 151 -;
#X connect 2 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 3 0;
#X restore 286 595 pd a2;
#X text 378 580 ALL:;
#X text 19 20 Allpass filter with Q - biquad filter coefficient generator
;
#X obj 113 51 loadbang;
#X obj 22 142 f \$1;
#X obj 213 239 f \$2;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 4 0;
#N canvas 827 239 527 327 12;
#X obj 39 51 clip~ 20 20000;
#X obj 291 51 clip~ 0.1 100;
#X obj 39 265 sig~ 1;
#X obj 39 325 /~;
#X obj 39 423 *~;
#X obj 209 423 *~;
#X obj 269 423 *~;
#X obj 280 299 +~ 1;
#X obj 329 423 *~;
#X obj 339 299 *~ -2;
#X obj 404 299 sig~ 1;
#X obj 404 321 -~;
#X obj 392 423 *~;
#X obj 84 270 +~ 1;
#X text 375 150 w0 = 2*pi*f0*Fs;
#X text 375 170 alpha = sin(w0)/(2*Q);
#X text 446 45 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2);
#X text 404 60 H(z) = -----------------------------------------;
#X text 446 75 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2);
#X text 404 20 Audio-Cookbook:;
#X text 404 100 http://musicdsp.org/files/Audio-EQ-Cookbook.txt;
#X obj 39 29 inlet~;
#X obj 291 29 inlet~;
#X obj 39 86 /~ 44100;
#X obj 149 29 loadbang;
#X obj 149 50 samplerate~;
#X text 39 465 (O1) b0;
#X text 209 465 (O2) b1;
#X text 269 465 (O3) b2;
#X text 329 465 (O4) a1;
#X text 392 465 (O5) a2;
#X obj 39 445 outlet~;
#X obj 209 445 outlet~;
#X obj 269 445 outlet~;
#X obj 329 445 outlet~;
#X obj 392 445 outlet~;
#X obj 291 86 *~ 2;
#X obj 280 186 /~;
#X obj 39 199 cos~;
#X obj 149 151 cos~;
#X obj 148 125 -~ 0.25;
#X text 553 246 b0 = 1 - alpha;
#X text 553 186 a0 = 1 + alpha;
#X text 553 226 a2 = 1 - alpha;
#X text 553 206 a1 = -2*cos(w0);
#X text 553 266 b1 = -2*cos(w0);
#X text 553 286 b2 = 1 + alpha;
#X text 542 166 ALL:;
#X obj 137 299 sig~ 1;
#X obj 137 325 -~;
#X obj 219 299 *~ -2;
#X connect 0 0 23 0;
#X connect 1 0 36 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 5 0;
#X connect 6 0 0 0;
#X connect 7 0 10 0;
#X connect 8 0 12 0;
#X connect 3 0 6 0;
#X connect 3 0 8 0;
#X connect 3 0 12 0;
#X connect 4 0 31 0;
#X connect 5 0 32 0;
#X connect 6 0 33 0;
#X connect 7 0 6 1;
#X connect 8 0 34 0;
#X connect 9 0 8 1;
#X connect 10 0 11 0;
#X connect 11 0 12 1;
#X connect 12 0 13 0;
#X connect 13 0 9 0;
#X connect 14 0 16 1;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 33 0;
#X connect 19 0 35 0;
#X connect 20 0 36 0;
#X connect 21 0 37 0;
#X connect 22 0 38 0;
#X connect 23 0 39 0;
#X connect 26 0 54 0;
#X connect 26 1 55 1;
#X connect 27 0 54 0;
#X connect 28 0 26 0;
#X connect 33 0 19 0;
#X connect 33 1 20 0;
#X connect 33 2 21 0;
#X connect 33 3 22 0;
#X connect 33 4 23 0;
#X connect 34 0 16 0;
#X connect 34 1 6 0;
#X connect 34 2 55 0;
#X connect 46 0 19 1;
#X connect 47 0 20 1;
#X connect 48 0 21 1;
#X connect 49 0 22 1;
#X connect 50 0 23 1;
#X connect 53 0 54 0;
#X connect 54 0 34 0;
#X connect 55 0 7 0;
#X connect 12 0 35 0;
#X connect 13 0 3 1;
#X connect 21 0 0 0;
#X connect 22 0 1 0;
#X connect 23 0 38 0;
#X connect 23 0 40 0;
#X connect 24 0 25 0;
#X connect 25 0 23 1;
#X connect 36 0 37 1;
#X connect 37 0 11 1;
#X connect 37 0 13 0;
#X connect 37 0 7 0;
#X connect 37 0 49 1;
#X connect 38 0 9 0;
#X connect 38 0 50 0;
#X connect 39 0 37 0;
#X connect 40 0 39 0;
#X connect 48 0 49 0;
#X connect 49 0 4 1;
#X connect 50 0 5 1;
66 changes: 8 additions & 58 deletions hv.filters/allpass.pd
Original file line number Diff line number Diff line change
Expand Up @@ -316,65 +316,15 @@
#X connect 10 0 8 2;
#X connect 11 0 8 3;
#X restore 35 153 pd @hv_obj biquad;
#X obj 94 43 inlet freq;
#X obj 217 44 inlet q;
#N canvas 0 22 173 173 s 0;
#X obj 37 46 inlet;
#X obj 37 90 line~;
#X obj 37 112 outlet~;
#X msg 37 68 \$1 10;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 1 0;
#X restore 94 110 pd s;
#N canvas 0 22 173 173 s 0;
#X obj 37 46 inlet;
#X obj 37 90 line~;
#X obj 37 112 outlet~;
#X msg 37 68 \$1 10;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 1 0;
#X restore 124 110 pd s;
#N canvas 0 22 173 173 s 0;
#X obj 37 46 inlet;
#X obj 37 90 line~;
#X obj 37 112 outlet~;
#X msg 37 68 \$1 10;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 1 0;
#X restore 155 110 pd s;
#N canvas 0 22 173 173 s 0;
#X obj 37 46 inlet;
#X obj 37 90 line~;
#X obj 37 112 outlet~;
#X msg 37 68 \$1 10;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 1 0;
#X restore 186 110 pd s;
#N canvas 0 22 173 173 s 0;
#X obj 37 46 inlet;
#X obj 37 90 line~;
#X obj 37 112 outlet~;
#X msg 37 68 \$1 10;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 1 0;
#X restore 217 110 pd s;
#X obj 94 43 inlet~ freq;
#X obj 217 44 inlet~ q;
#X obj 94 73 allpass.coeffs \$1 \$2;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 10 0;
#X connect 4 0 10 1;
#X connect 3 0 5 0;
#X connect 4 0 5 1;
#X connect 5 0 2 1;
#X connect 6 0 2 2;
#X connect 7 0 2 3;
#X connect 8 0 2 4;
#X connect 9 0 2 5;
#X connect 10 0 5 0;
#X connect 10 1 6 0;
#X connect 10 2 7 0;
#X connect 10 3 8 0;
#X connect 10 4 9 0;
#X connect 5 1 2 2;
#X connect 5 2 2 3;
#X connect 5 3 2 4;
#X connect 5 4 2 5;
Loading