#N canvas 265 105 961 540 10; #N canvas 0 22 450 300 (subpatch) 0; #X array src_re 100 float 0; #X coords 0 1 99 -1 199 100 1; #X restore 694 10 graph; #N canvas 0 22 450 300 (subpatch) 0; #X array dst_re 100 float 0; #X coords 0 1 99 -1 199 100 1; #X restore 694 239 graph; #X obj 24 47 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 24 122 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 62 371 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #N canvas 0 22 450 300 (subpatch) 0; #X array dst_im 100 float 0; #X coords 0 1 99 -1 199 100 1; #X restore 694 353 graph; #X msg 103 276 dst_re dst_re; #X msg 118 299 dst_im dst_im; #X msg 139 322 fftsize 64; #X floatatom 474 22 5 0 63 0 - - -; #X msg 546 341 \; dst_re const 0 \; dst_im const 0; #X text 102 464 IEM KUG; #X text 81 452 musil; #X text 116 452 @; #X text 124 452 iem.at; #X text 85 474 Graz \, Austria; #N canvas 0 22 478 328 generate_a_dirac 0; #X obj 61 62 clip 0 63; #X obj 61 32 inlet; #X msg 60 103 \; src_re const 0 \; src_re \$1 1; #X connect 0 0 2 0; #X connect 1 0 0 0; #X restore 474 41 pd generate_a_dirac; #X floatatom 514 22 5 -32 32 0 - - -; #N canvas 0 22 543 496 generate_a_cos 0; #X obj 120 18 inlet; #X obj 219 176 t f f; #X obj 219 211 / 32; #X obj 219 232 * 3.14159; #X obj 219 283 cos; #X obj 219 257 * 8; #X obj 219 127 t b f; #X obj 219 331 tabwrite src_re; #X obj 120 43 moses 0; #X obj 39 178 t f f; #X obj 39 213 / 32; #X obj 39 234 * 3.14159; #X obj 39 285 cos; #X obj 39 259 * 8; #X obj 39 129 t b f; #X obj 39 333 tabwrite src_re; #X obj 90 70 * -1; #N canvas 193 158 454 304 counter 0; #X obj 108 25 inlet; #X obj 109 163 outlet; #X obj 109 133 f; #X obj 142 133 + 1; #X obj 108 50 t b b; #X msg 154 76 0; #X msg 109 75 64; #X obj 110 98 until; #X connect 0 0 4 0; #X connect 2 0 3 0; #X connect 2 0 1 0; #X connect 3 0 2 1; #X connect 4 0 6 0; #X connect 4 1 5 0; #X connect 5 0 2 1; #X connect 6 0 7 0; #X connect 7 0 2 0; #X restore 219 151 pd counter; #N canvas 193 158 454 304 counter 0; #X obj 108 25 inlet; #X obj 109 163 outlet; #X obj 109 133 f; #X obj 142 133 + 1; #X obj 108 50 t b b; #X msg 154 76 0; #X msg 109 75 64; #X obj 110 98 until; #X connect 0 0 4 0; #X connect 2 0 3 0; #X connect 2 0 1 0; #X connect 3 0 2 1; #X connect 4 0 6 0; #X connect 4 1 5 0; #X connect 5 0 2 1; #X connect 6 0 7 0; #X connect 7 0 2 0; #X restore 38 154 pd counter; #X obj 39 310 * -1; #X obj 219 106 clip 0 32; #X obj 39 108 clip 0 32; #X connect 0 0 8 0; #X connect 1 0 2 0; #X connect 1 1 7 1; #X connect 2 0 3 0; #X connect 3 0 5 0; #X connect 4 0 7 0; #X connect 5 0 4 0; #X connect 6 0 17 0; #X connect 6 1 5 1; #X connect 8 0 16 0; #X connect 8 1 20 0; #X connect 9 0 10 0; #X connect 9 1 15 1; #X connect 10 0 11 0; #X connect 11 0 13 0; #X connect 12 0 19 0; #X connect 13 0 12 0; #X connect 14 0 18 0; #X connect 14 1 13 1; #X connect 16 0 21 0; #X connect 17 0 1 0; #X connect 18 0 9 0; #X connect 19 0 15 0; #X connect 20 0 6 0; #X connect 21 0 14 0; #X restore 514 61 pd generate_a_cos; #X floatatom 555 22 5 -31 31 0 - - -; #N canvas 0 22 499 423 generate_a_sin 0; #X obj 102 37 inlet; #X obj 246 182 t f f; #X obj 246 217 / 32; #X obj 246 238 * 3.14159; #X obj 246 263 * 8; #X obj 246 112 clip 0 31; #X obj 246 133 t b f; #X obj 246 337 tabwrite src_re; #X obj 246 289 sin; #X obj 54 180 t f f; #X obj 54 215 / 32; #X obj 54 236 * 3.14159; #X obj 54 261 * 8; #X obj 54 110 clip 0 31; #X obj 54 132 t b f; #X obj 54 335 tabwrite src_re; #X obj 54 287 sin; #X obj 102 60 moses 0; #X obj 54 88 * -1; #N canvas 193 158 454 304 counter 0; #X obj 108 25 inlet; #X obj 109 163 outlet; #X obj 109 133 f; #X obj 142 133 + 1; #X obj 108 50 t b b; #X msg 154 76 0; #X msg 109 75 64; #X obj 110 98 until; #X connect 0 0 4 0; #X connect 2 0 3 0; #X connect 2 0 1 0; #X connect 3 0 2 1; #X connect 4 0 6 0; #X connect 4 1 5 0; #X connect 5 0 2 1; #X connect 6 0 7 0; #X connect 7 0 2 0; #X restore 54 156 pd counter; #N canvas 193 158 454 304 counter 0; #X obj 108 25 inlet; #X obj 109 163 outlet; #X obj 109 133 f; #X obj 142 133 + 1; #X obj 108 50 t b b; #X msg 154 76 0; #X msg 109 75 64; #X obj 110 98 until; #X connect 0 0 4 0; #X connect 2 0 3 0; #X connect 2 0 1 0; #X connect 3 0 2 1; #X connect 4 0 6 0; #X connect 4 1 5 0; #X connect 5 0 2 1; #X connect 6 0 7 0; #X connect 7 0 2 0; #X restore 246 156 pd counter; #X obj 54 312 * -1; #X connect 0 0 17 0; #X connect 1 0 2 0; #X connect 1 1 7 1; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 4 0 8 0; #X connect 5 0 6 0; #X connect 6 0 20 0; #X connect 6 1 4 1; #X connect 8 0 7 0; #X connect 9 0 10 0; #X connect 9 1 15 1; #X connect 10 0 11 0; #X connect 11 0 12 0; #X connect 12 0 16 0; #X connect 13 0 14 0; #X connect 14 0 19 0; #X connect 14 1 12 1; #X connect 16 0 21 0; #X connect 17 0 18 0; #X connect 17 1 5 0; #X connect 18 0 13 0; #X connect 19 0 9 0; #X connect 20 0 1 0; #X connect 21 0 15 0; #X restore 555 82 pd generate_a_sin; #X text 299 365 initial arguments:; #X text 37 147 list of 4 floats:; #X text 49 178 3.) dst_re-onset; #X text 49 188 4.) dst_im-onset; #X text 49 158 1.) src_re-onset; #X text 49 168 2.) src_im-onset; #X msg 62 207 20 20 30 30; #X text 259 412 4.arg: imag_destination-name; #X text 259 400 3.arg: real_destination-name; #X text 259 389 2.arg: imag_source-name; #X text 259 378 1.arg: real_source-name; #N canvas 0 22 450 300 (subpatch) 0; #X array src_im 100 float 0; #X coords 0 1 99 -1 199 100 1; #X restore 694 124 graph; #X msg 76 230 src_re src_re; #X msg 90 253 src_im src_im; #X msg 546 283 \; src_re const 0 \; src_im const 0; #X floatatom 474 132 5 0 63 0 - - -; #N canvas 0 22 478 328 generate_a_dirac 0; #X obj 61 62 clip 0 63; #X obj 61 32 inlet; #X msg 61 99 \; src_im const 0 \; src_im \$1 1; #X connect 0 0 2 0; #X connect 1 0 0 0; #X restore 474 151 pd generate_a_dirac; #X floatatom 514 132 5 -32 32 0 - - -; #N canvas 0 22 499 423 generate_a_cos 0; #X obj 120 18 inlet; #X obj 219 176 t f f; #X obj 219 211 / 32; #X obj 219 232 * 3.14159; #X obj 219 283 cos; #X obj 219 257 * 8; #X obj 219 127 t b f; #X obj 120 43 moses 0; #X obj 39 178 t f f; #X obj 39 213 / 32; #X obj 39 234 * 3.14159; #X obj 39 285 cos; #X obj 39 259 * 8; #X obj 39 129 t b f; #X obj 90 70 * -1; #X obj 40 334 tabwrite src_im; #X obj 220 331 tabwrite src_im; #N canvas 193 158 454 304 counter 0; #X obj 108 25 inlet; #X obj 109 163 outlet; #X obj 109 133 f; #X obj 142 133 + 1; #X obj 108 50 t b b; #X msg 154 76 0; #X msg 109 75 64; #X obj 110 98 until; #X connect 0 0 4 0; #X connect 2 0 3 0; #X connect 2 0 1 0; #X connect 3 0 2 1; #X connect 4 0 6 0; #X connect 4 1 5 0; #X connect 5 0 2 1; #X connect 6 0 7 0; #X connect 7 0 2 0; #X restore 39 153 pd counter; #N canvas 193 158 454 304 counter 0; #X obj 108 25 inlet; #X obj 109 163 outlet; #X obj 109 133 f; #X obj 142 133 + 1; #X obj 108 50 t b b; #X msg 154 76 0; #X msg 109 75 64; #X obj 110 98 until; #X connect 0 0 4 0; #X connect 2 0 3 0; #X connect 2 0 1 0; #X connect 3 0 2 1; #X connect 4 0 6 0; #X connect 4 1 5 0; #X connect 5 0 2 1; #X connect 6 0 7 0; #X connect 7 0 2 0; #X restore 219 153 pd counter; #X obj 39 311 * -1; #X obj 219 106 clip 0 32; #X obj 39 108 clip 0 32; #X connect 0 0 7 0; #X connect 1 0 2 0; #X connect 1 1 16 1; #X connect 2 0 3 0; #X connect 3 0 5 0; #X connect 4 0 16 0; #X connect 5 0 4 0; #X connect 6 0 18 0; #X connect 6 1 5 1; #X connect 7 0 14 0; #X connect 7 1 20 0; #X connect 8 0 9 0; #X connect 8 1 15 1; #X connect 9 0 10 0; #X connect 10 0 12 0; #X connect 11 0 19 0; #X connect 12 0 11 0; #X connect 13 0 17 0; #X connect 13 1 12 1; #X connect 14 0 21 0; #X connect 17 0 8 0; #X connect 18 0 1 0; #X connect 19 0 15 0; #X connect 20 0 6 0; #X connect 21 0 13 0; #X restore 514 171 pd generate_a_cos; #X floatatom 555 132 5 -31 31 0 - - -; #N canvas 0 22 495 419 generate_a_sin 0; #X obj 102 37 inlet; #X obj 246 182 t f f; #X obj 246 217 / 32; #X obj 246 238 * 3.14159; #X obj 246 263 * 8; #X obj 246 112 clip 0 31; #X obj 246 133 t b f; #X obj 246 289 sin; #X obj 54 180 t f f; #X obj 54 215 / 32; #X obj 54 236 * 3.14159; #X obj 54 261 * 8; #X obj 54 110 clip 0 31; #X obj 54 131 t b f; #X obj 54 287 sin; #X obj 102 60 moses 0; #X obj 54 88 * -1; #X obj 246 337 tabwrite src_im; #X obj 54 336 tabwrite src_im; #N canvas 193 158 454 304 counter 0; #X obj 108 25 inlet; #X obj 109 163 outlet; #X obj 109 133 f; #X obj 142 133 + 1; #X obj 108 50 t b b; #X msg 154 76 0; #X msg 109 75 64; #X obj 110 98 until; #X connect 0 0 4 0; #X connect 2 0 3 0; #X connect 2 0 1 0; #X connect 3 0 2 1; #X connect 4 0 6 0; #X connect 4 1 5 0; #X connect 5 0 2 1; #X connect 6 0 7 0; #X connect 7 0 2 0; #X restore 54 156 pd counter; #N canvas 193 158 454 304 counter 0; #X obj 108 25 inlet; #X obj 109 163 outlet; #X obj 109 133 f; #X obj 142 133 + 1; #X obj 108 50 t b b; #X msg 154 76 0; #X msg 109 75 64; #X obj 110 98 until; #X connect 0 0 4 0; #X connect 2 0 3 0; #X connect 2 0 1 0; #X connect 3 0 2 1; #X connect 4 0 6 0; #X connect 4 1 5 0; #X connect 5 0 2 1; #X connect 6 0 7 0; #X connect 7 0 2 0; #X restore 246 156 pd counter; #X obj 53 312 * -1; #X connect 0 0 15 0; #X connect 1 0 2 0; #X connect 1 1 17 1; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 4 0 7 0; #X connect 5 0 6 0; #X connect 6 0 20 0; #X connect 6 1 4 1; #X connect 7 0 17 0; #X connect 8 0 9 0; #X connect 8 1 18 1; #X connect 9 0 10 0; #X connect 10 0 11 0; #X connect 11 0 14 0; #X connect 12 0 13 0; #X connect 13 0 19 0; #X connect 13 1 11 1; #X connect 14 0 21 0; #X connect 15 0 16 0; #X connect 15 1 5 0; #X connect 16 0 12 0; #X connect 19 0 8 0; #X connect 20 0 1 0; #X connect 21 0 18 0; #X restore 555 192 pd generate_a_sin; #X text 37 441 (c) Thomas Musil 2000 - 2009; #X text 10 0 tab_ifft; #X text 93 -1 complex inverse FTT with arrays; #X text 45 56 calculates a complex inverse fourier transformation of complex src-arrays to complex dst-arrays; #X obj 24 94 tab_ifft src_re src_im dst_re dst_im 64; #X obj 62 348 tab_ifft src_re src_im dst_re dst_im 64; #X text 259 424 5.arg: ifftsize; #X connect 2 0 46 0; #X connect 6 0 47 0; #X connect 7 0 47 0; #X connect 8 0 47 0; #X connect 9 0 16 0; #X connect 17 0 18 0; #X connect 19 0 20 0; #X connect 27 0 47 0; #X connect 33 0 47 0; #X connect 34 0 47 0; #X connect 36 0 37 0; #X connect 38 0 39 0; #X connect 40 0 41 0; #X connect 46 0 3 0; #X connect 47 0 4 0;