#N canvas 10 20 762 475 10; #X obj 170 445 dac~; #X obj 7 369 phasor~; #X floatatom 7 347 5 0 0; #X obj 145 329 sig~; #X obj 190 329 sig~; #X obj 97 257 mtof; #X obj 97 120 vsl 15 128 16 135 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 0 1; #X obj 145 120 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 0 1; #X obj 190 119 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 0 1; #X obj 97 329 line~; #X msg 97 306 \$1 100; #X floatatom 200 281 5 0 0; #X floatatom 155 281 5 0 0; #X floatatom 97 281 7 0 0; #X msg 361 123 low; #X msg 361 147 high; #X msg 361 171 band; #X msg 361 195 notch; #X msg 361 219 peak; #X obj 7 303 loadbang; #N canvas 4 20 608 388 hanning-table 0; #X obj 92 206 phasor~; #X obj 92 234 cos~; #X obj 23 328 tabwrite~ hanning; #X obj 30 252 -~; #X obj 28 218 sig~ 1; #X msg 37 180 0; #X text 141 13 CALCULATE HANNING; #X text 141 27 WINDOW TABLE; #N canvas 0 0 450 300 graph1 0; #X array hanning 512 float 0; #X coords 0 1 511 0 256 128 1; #X restore 305 93 graph; #X obj 93 171 sig~; #X text 24 354 sample rate / window size; #X msg 23 144 bang; #X obj 66 269 sig~ 0.5; #X obj 49 300 *~; #X obj 67 96 samplerate~; #X obj 25 53 t b f; #X obj 25 8 loadbang; #X msg 25 31 512; #X obj 94 131 / 512; #X connect 0 0 1 0; #X connect 1 0 3 1; #X connect 3 0 13 0; #X connect 4 0 3 0; #X connect 5 0 0 1; #X connect 9 0 0 0; #X connect 11 0 2 0; #X connect 11 0 5 0; #X connect 12 0 13 1; #X connect 13 0 2 0; #X connect 14 0 18 0; #X connect 15 0 14 0; #X connect 15 0 11 0; #X connect 15 1 18 1; #X connect 16 0 17 0; #X connect 17 0 15 0; #X connect 18 0 9 0; #X restore 13 430 pd hanning-table; #N canvas 10 112 328 354 fft-analysis 0; #X obj 69 15 inlet~; #X obj 43 74 rfft~; #X obj 37 123 *~; #X obj 81 124 *~; #X obj 49 167 +~; #X obj 49 196 sqrt~; #X obj 27 297 tabsend~ response; #X obj 171 209 block~ 512 2; #X obj 182 61 tabreceive~ hanning; #X obj 164 99 *~; #X obj 69 36 /~ 8; #X obj 51 249 clip~ 0 1; #X connect 0 0 10 0; #X connect 1 0 2 0; #X connect 1 0 2 1; #X connect 1 1 3 0; #X connect 1 1 3 1; #X connect 2 0 4 0; #X connect 3 0 4 1; #X connect 4 0 5 0; #X connect 5 0 11 0; #X connect 8 0 9 1; #X connect 9 0 1 0; #X connect 10 0 9 0; #X connect 11 0 6 0; #X restore 216 421 pd fft-analysis; #N canvas 0 0 450 300 graph1 0; #X array response 256 float 0; #X coords 0 1 255 0 256 140 1; #X restore 478 10 graph; #X msg 7 325 110; #X text 5 1 svf~ - state-variable filter; #X text 146 99 q; #X text 171 100 resonance; #X text 67 100 frequency; #X text 331 100 filter type; #X obj 200 387 svf~ low; #X text 8 28 A port of Steve Harris' LADSPA plugin; #X text 6 45 (http://plugin.org.uk); #X text 325 313 Notes:; #X text 338 334 'q' controls the filter resonance. The resonance input is for 'extra' resonance.. :); #X text 400 171 <- keep q below 0.1; #X text 339 370 The filters don't use the same scale for frequency. Bandpass frequency seems to be in Hz. If the frequency is set too high \, LOUD aliasing is produced.; #X text 339 418 The bandpass filter is very sensitive to q - normal range is 0 to 0.1.; #X connect 1 0 29 0; #X connect 2 0 1 0; #X connect 3 0 29 2; #X connect 4 0 29 3; #X connect 5 0 13 0; #X connect 6 0 5 0; #X connect 7 0 3 0; #X connect 7 0 12 0; #X connect 8 0 4 0; #X connect 8 0 11 0; #X connect 9 0 29 1; #X connect 10 0 9 0; #X connect 13 0 10 0; #X connect 14 0 29 0; #X connect 15 0 29 0; #X connect 16 0 29 0; #X connect 17 0 29 0; #X connect 18 0 29 0; #X connect 19 0 23 0; #X connect 23 0 2 0; #X connect 29 0 0 0; #X connect 29 0 0 1; #X connect 29 0 21 0;