#N canvas 84 222 646 423 12; #X obj 60 241 bng 50 250 50 0 start_bang empty start 0 -6 128 8 -24198 -1 -1; #X text 15 77 load/save/play etc.; #X obj 364 125 nbx 8 16 0 1e+008 0 0 len_src empty empty 0 -8 128 12 -225271 -1 -1 0 256; #X text 367 142 (defines the size of the result); #X obj 362 179 nbx 8 16 0 1e+008 0 0 len_arg empty empty 0 -8 128 12 -225271 -1 -1 0 256; #X obj 24 122 wedit buf_src; #X obj 23 176 wedit buf_arg; #X obj 33 350 wedit buf_res; #X text 122 255 start convolution; #X obj 177 356 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 -1; #X obj 201 357 nbx 8 16 0 1e+008 0 0 len_arg empty empty 0 -8 128 12 -261689 -1 -1 1.04858e+006 256; #X obj 11 10 cnv 15 600 50 empty empty convolve 10 22 0 24 -260818 -1 0; #X text 202 41 http://www.parasitaere-kapazitaeten.net; #X text 203 10 fft-based convolution \, (C)2003 Thomas Grill; #X text 203 25 needs vasp and wedit; #X text 32 329 result buffer; #X text 140 121 source buffer; #X text 137 175 argument buffer; #N canvas 225 110 484 406 do 0; #X obj 27 255 vasp.u; #N canvas 406 75 413 555 convolve 0; #X obj 217 202 vasp.!; #X obj 116 163 vasp.f?; #X obj 216 173 vasp; #X obj 28 69 vasp; #N canvas 0 0 458 308 sf 0; #X obj 39 178 outlet; #X obj 38 43 inlet; #X obj 41 79 vasp.s; #X obj 120 43 inlet; #X obj 39 118 vasp.f; #X connect 1 0 2 0; #X connect 2 0 4 0; #X connect 3 0 2 1; #X connect 3 0 4 1; #X connect 4 0 0 0; #X restore 215 273 pd sf; #X obj 53 452 vasp.opt; #X obj 54 207 vasp; #X obj 29 39 inlet; #X obj 132 51 inlet; #X obj 221 50 inlet; #X obj 313 50 inlet; #X obj 43 520 outlet; #X text 26 15 bang; #X text 126 21 src1; #X text 218 20 src2; #X text 313 22 dst; #X text 214 220 copy to temp; #X text 100 519 dst; #N canvas 0 0 454 304 sf 0; #X obj 39 178 outlet; #X obj 38 43 inlet; #X obj 41 79 vasp.s; #X obj 120 43 inlet; #X obj 39 118 vasp.f; #X connect 1 0 2 0; #X connect 2 0 4 0; #X connect 3 0 2 1; #X connect 3 0 4 1; #X connect 4 0 0 0; #X restore 55 235 pd sf; #X obj 29 298 vasp.->; #X obj 27 482 vasp.radio; #X obj 29 94 t a b a; #X obj 54 393 vasp.cconv; #X obj 56 259 vasp.= 0; #N canvas 0 0 452 302 im0 0; #X obj 32 51 inlet; #X obj 31 250 outlet; #X obj 32 83 t a b a; #X obj 102 121 vasp.f?; #X obj 60 153 vasp.!; #X obj 32 210 vasp.join; #X text 31 10 make empty imaginary part; #X text 115 153 temporary buffer of same size; #X text 115 171 (initialized to 0); #X connect 0 0 2 0; #X connect 2 0 5 0; #X connect 2 1 4 0; #X connect 2 2 3 0; #X connect 3 0 4 1; #X connect 4 0 5 1; #X connect 5 0 1 0; #X restore 54 363 pd im0; #N canvas 0 0 452 302 im0 0; #X obj 32 51 inlet; #X obj 31 250 outlet; #X obj 32 83 t a b a; #X obj 102 121 vasp.f?; #X obj 60 153 vasp.!; #X obj 32 210 vasp.join; #X text 31 10 make empty imaginary part; #X text 115 153 temporary buffer of same size; #X text 115 171 (initialized to 0); #X connect 0 0 2 0; #X connect 2 0 5 0; #X connect 2 1 4 0; #X connect 2 2 3 0; #X connect 3 0 4 1; #X connect 4 0 5 1; #X connect 5 0 1 0; #X restore 129 363 pd im0; #X obj 53 424 vasp.re; #X obj 116 192 rndup2; #X obj 54 329 vasp.f; #X text 186 365 make imaginary parts; #X text 116 423 need only real part; #X text 124 451 "normalize"; #X text 116 482 filter eventual radio msgs; #X connect 0 0 4 0; #X connect 1 0 27 0; #X connect 2 0 0 0; #X connect 3 0 21 0; #X connect 4 0 25 0; #X connect 5 0 20 0; #X connect 6 0 18 0; #X connect 7 0 3 0; #X connect 8 0 3 1; #X connect 9 0 2 1; #X connect 10 0 6 1; #X connect 18 0 23 0; #X connect 19 1 28 0; #X connect 20 1 11 0; #X connect 21 0 19 0; #X connect 21 1 2 0; #X connect 21 1 6 0; #X connect 21 2 1 0; #X connect 22 0 26 0; #X connect 23 0 19 1; #X connect 24 0 22 0; #X connect 25 0 22 1; #X connect 26 0 5 0; #X connect 27 0 18 1; #X connect 27 0 4 1; #X connect 27 0 28 1; #X connect 28 0 24 0; #X restore 26 226 pd convolve; #X obj 26 52 t b b; #X msg 154 93 vasp buf_arg; #X msg 267 92 vasp buf_res; #X obj 306 220 table buf_src 10; #X obj 307 242 table buf_arg 10; #X obj 307 264 table buf_res 10; #X obj 26 23 r start_bang; #X obj 143 21 r len_src; #X obj 229 24 r len_arg; #X obj 25 318 outlet; #X obj 27 291 vasp.f?; #X text 83 255 update buffer; #X obj 147 159 vasp.f; #X obj 43 157 vasp.f; #X msg 45 93 vasp buf_src; #X obj 141 51 r off_src; #X obj 227 54 r off_arg; #X obj 43 125 vasp.o; #X obj 147 127 vasp.o; #X text 123 225 convolve; #X connect 0 0 12 0; #X connect 1 0 0 0; #X connect 2 0 1 0; #X connect 2 1 3 0; #X connect 2 1 4 0; #X connect 2 1 16 0; #X connect 3 0 20 0; #X connect 4 0 1 3; #X connect 8 0 2 0; #X connect 9 0 15 1; #X connect 10 0 14 1; #X connect 12 0 11 0; #X connect 14 0 1 2; #X connect 15 0 1 1; #X connect 16 0 19 0; #X connect 17 0 19 1; #X connect 18 0 20 1; #X connect 19 0 15 0; #X connect 20 0 14 0; #X restore 177 324 pd do; #X obj 267 125 nbx 8 16 0 1e+008 0 0 off_src empty empty 0 -8 128 12 -225271 -1 -1 0 256; #X obj 265 179 nbx 8 16 0 1e+008 0 0 off_arg empty empty 0 -8 128 12 -225271 -1 -1 0 256; #X text 383 103 length; #X text 288 100 offset; #X text 286 78 range in samples; #X connect 18 0 9 0; #X connect 18 0 10 0;