Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
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
Next Next commit
start porting pd-mkmr filters for signal rate modulation of filter co…
…efficients
  • Loading branch information
dromer committed Apr 1, 2024
commit 69f8c90c433edce15d3c9785921cb12c94c4f2dd
231 changes: 80 additions & 151 deletions hv.filters/bandpass1.coeffs.pd
Original file line number Diff line number Diff line change
@@ -1,155 +1,84 @@
#N canvas 356 22 613 703 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 346 pd hz2rad;
#X obj 41 376 t f f;
#X obj 109 406 sin;
#X obj 41 406 cos;
#X obj 109 446 s \$0-wsin;
#X obj 41 446 s \$0-wcos;
#X obj 41 286 clip 20 20000;
#X obj 203 286 clip 0.1 100;
#X obj 138 316 r \$0-wsin;
#X obj 188 446 s \$0-alpha;
#X msg 203 316 1 \$1;
#X obj 203 346 /;
#X obj 188 376 *;
#X obj 188 406 * 0.5;
#N canvas 346 735 450 300 b0 0;
#X obj 124 65 r \$0-wsin;
#X obj 124 99 * 0.5;
#X obj 124 131 outlet;
#X obj 38 264 sig~ 1;
#X obj 38 332 /~;
#X obj 150 457 *~;
#X obj 290 457 *~;
#X obj 375 457 *~;
#X obj 389 347 *~ -2;
#X obj 458 315 sig~ 1;
#X obj 458 347 -~;
#X obj 445 457 *~;
#X text 389 165 w0 = 2*pi*f0*Fs;
#X text 389 185 alpha = sin(w0)/(2*Q);
#X text 418 75 H(z) = -----------------------------------------;
#X text 418 35 Audio-Cookbook:;
#X text 418 115 http://musicdsp.org/files/Audio-EQ-Cookbook.txt;
#X text 460 90 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2);
#X text 460 60 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2);
#X obj 220 457 sig~ 0;
#X text 514 231 a0 = 1 + alpha;
#X text 514 311 b1 = 0;
#X text 514 271 a2 = 1 - alpha;
#X text 514 251 a1 = -2*cos(w0);
#X text 514 291 b0 = sin(w0)/2 = Q*alpha;
#X text 514 331 b2 = -sin(w0)/2 = -Q*alpha;
#X text 503 211 BPF: (constant skirt gain);
#X obj 163 347 *~ 0.5;
#X obj 303 347 *~ -0.5;
#X obj 88 272 +~ 1;
#X obj 320 58 max~ 0.1;
#X obj 38 99 *~ 6.28319;
#X obj 38 78 /~ 44100;
#X obj 38 57 clip~ 20 20000;
#X obj 154 36 loadbang;
#X obj 154 57 samplerate~;
#X obj 38 36 inlet~;
#X obj 320 36 inlet~;
#X text 220 499 b1;
#X text 290 499 b2;
#X text 375 499 a1;
#X text 445 499 a2;
#X obj 150 479 outlet~;
#X obj 220 479 outlet~;
#X obj 290 479 outlet~;
#X obj 375 479 outlet~;
#X obj 445 479 outlet~;
#X text 149 499 b0;
#X obj 38 206 cos~;
#X obj 163 179 cos~;
#X obj 306 232 /~;
#X obj 163 155 -~ 0.25;
#X obj 320 86 *~ 2;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 118 606 pd b0;
#N canvas 864 719 450 300 b2 0;
#X obj 124 119 outlet;
#X obj 124 65 r \$0-wsin;
#X obj 124 87 * -0.5;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X restore 202 606 pd b2;
#N canvas 0 22 450 300 a0 0;
#X obj 194 65 r \$0-alpha;
#X obj 194 200 outlet;
#X obj 194 139 + 1;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 37 486 pd a0;
#N canvas 616 345 450 300 a1 0;
#X obj 194 109 outlet;
#X obj 194 65 r \$0-wcos;
#X obj 194 87 * -2;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X restore 244 606 pd a1;
#N canvas 0 22 450 300 a2 0;
#X obj 196 65 r \$0-alpha;
#X obj 196 187 outlet;
#X msg 196 129 1 \$1;
#X obj 196 151 -;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X restore 286 606 pd a2;
#X text 308 83 (b0/a0) + (b1/a0)*z^(-1) + (b2/a0)*z^(-2);
#X obj 22 516 f;
#X msg 22 546 1 \$1;
#X obj 22 576 /;
#X obj 22 666 *;
#X obj 146 666 *;
#X obj 208 667 *;
#X obj 271 667 *;
#X text 270 424 w0 = 2*pi*f0*Fs;
#X text 270 444 alpha = sin(w0)/(2*Q);
#X obj 197 81 t b f;
#X obj 22 61 inlet freq;
#X obj 197 61 inlet q;
#X obj 103 61 loadbang;
#X text 379 610 a0 = 1 + alpha;
#X text 311 120 1 + (a1/a0)*z^(-1) + (a2/a0)*z^(-2);
#X text 267 59 Audio-Cookbook:;
#X text 267 149 http://musicdsp.org/files/Audio-EQ-Cookbook.txt;
#X text 269 101 H(z) = -----------------------------------------;
#X obj 22 191 t b a b;
#X obj 84 708 outlet b1;
#X obj 146 708 outlet b2;
#X obj 208 708 outlet a1;
#X obj 271 708 outlet a2;
#X text 19 10 Bandpass filter with Q - biquad filter coefficient generator
;
#X text 379 690 b1 = 0;
#X obj 22 606 t f f f f;
#X obj 22 708 outlet b0;
#X obj 22 152 f \$1;
#X obj 203 249 f \$2;
#X text 19 32 constant skirt gain \, peak gain = Q;
#X text 341 288 BPF: H(s) = s / (s^2 + s/Q + 1) (constant skirt gain
\, peak gain = Q) b0 = sin(w0)/2 = Q*alpha b1 = 0 b2 = -sin(w0)/2 =
-Q*alpha a0 = 1 + alpha a1 = -2*cos(w0) a2 = 1 - alpha;
#X text 379 650 a2 = 1 - alpha;
#X text 379 630 a1 = -2*cos(w0);
#X text 379 670 b0 = sin(w0)/2 = Q*alpha;
#X text 379 710 b2 = -sin(w0)/2 = -Q*alpha;
#X text 368 590 BPF: (constant skirt gain);
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 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 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 23 1;
#X connect 15 0 24 1;
#X connect 16 0 20 1;
#X connect 17 0 25 1;
#X connect 18 0 26 1;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 22 0 45 0;
#X connect 23 0 46 0;
#X connect 24 0 40 0;
#X connect 25 0 41 0;
#X connect 26 0 42 0;
#X connect 29 0 47 0;
#X connect 29 1 48 1;
#X connect 30 0 47 0;
#X connect 31 0 29 0;
#X connect 32 0 47 0;
#X connect 38 0 20 0;
#X connect 38 1 6 0;
#X connect 38 2 48 0;
#X connect 45 0 23 0;
#X connect 45 1 24 0;
#X connect 45 2 25 0;
#X connect 45 3 26 0;
#X connect 47 0 38 0;
#X connect 48 0 7 0;
#X connect 1 0 4 0;
#X connect 1 0 8 0;
#X connect 2 0 39 0;
#X connect 3 0 41 0;
#X connect 4 0 42 0;
#X connect 5 0 4 1;
#X connect 6 0 7 0;
#X connect 7 0 8 1;
#X connect 8 0 43 0;
#X connect 16 0 40 0;
#X connect 24 0 2 1;
#X connect 25 0 3 1;
#X connect 26 0 1 1;
#X connect 27 0 49 0;
#X connect 28 0 45 0;
#X connect 28 0 48 0;
#X connect 29 0 28 0;
#X connect 30 0 29 0;
#X connect 31 0 32 0;
#X connect 32 0 29 1;
#X connect 33 0 30 0;
#X connect 34 0 27 0;
#X connect 45 0 5 0;
#X connect 46 0 24 0;
#X connect 46 0 25 0;
#X connect 46 0 47 0;
#X connect 47 0 7 1;
#X connect 47 0 26 0;
#X connect 48 0 46 0;
#X connect 49 0 47 1;
59 changes: 9 additions & 50 deletions hv.filters/bandpass1.pd
Original file line number Diff line number Diff line change
Expand Up @@ -316,56 +316,15 @@
#X connect 10 0 8 2;
#X connect 11 0 8 3;
#X restore 35 183 pd @hv_obj biquad;
#X obj 94 43 inlet freq;
#X obj 223 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 170 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 202 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 234 110 pd s;
#X obj 94 83 bandpass1.coeffs \$1 \$2;
#X obj 126 110 sig~ 0;
#X obj 94 43 inlet~ freq;
#X obj 223 44 inlet~ q;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 9 0;
#X connect 4 0 9 1;
#X connect 5 0 2 1;
#X connect 6 0 2 3;
#X connect 7 0 2 4;
#X connect 8 0 2 5;
#X connect 9 0 5 0;
#X connect 9 2 6 0;
#X connect 9 3 7 0;
#X connect 9 4 8 0;
#X connect 10 0 2 2;
#X connect 3 0 2 1;
#X connect 3 1 2 2;
#X connect 3 2 2 3;
#X connect 3 3 2 4;
#X connect 3 4 2 5;
#X connect 4 0 3 0;
#X connect 5 0 3 1;
Loading