#N canvas 0 0 1040 573 10; #X obj 376 122 block~ 8; #X msg 411 189 bang; #X obj 71 175 rfft~; #X obj 71 110 tabreceive~ \$0-8; #X msg 390 75 bang; #N canvas 0 0 450 300 (subpatch) 0; #X array \$0-8 8 float 0; #X coords 0 1 7 -1 200 140 1; #X restore 546 48 graph; #X obj 376 95 tabwrite~ \$0-8; #X obj 376 51 osc~ 1000; #X obj 411 219 print~ orig; #X msg 408 302 bang; #X obj 408 332 print~ re; #X msg 410 246 bang; #X obj 410 276 print~ img; #X msg 405 488 bang; #X obj 71 324 rifft~; #X obj 405 521 print~ after-fft; #X obj 72 360 /~ 8; #X obj 164 279 *~; #X obj 193 279 *~; #X obj 163 309 sqrt~; #X msg 404 370 bang; #X obj 404 407 print~ amp; #X msg 547 241 0 0.13004 0.26951 0.40352 0.52934 0.64446 0.74649 0.83341 0.90344; #X obj 547 278 s \$0-8; #X obj 547 215 loadbang; #X text 543 195 Test data:; #X msg 547 303 8; #X msg 406 431 bang; #X obj 406 454 print~ amp-normal; #X text 251 382 2*BS!; #X obj 205 386 /~ 8; #X obj 205 362 /~ 2; #N canvas 0 0 461 387 make-sine 0; #X obj 39 135 f 0; #X obj 69 135 + 1; #X msg 77 101 0; #X obj 39 100 until; #X obj 39 218 sin; #X obj 39 176 / 8; #X obj 135 137 expr 8*atan(1); #X obj 39 198 *; #X obj 39 242 tabwrite \$0-8; #X obj 39 156 t a a; #X obj 39 65 t a b a b; #X obj 39 42 inlet; #X connect 0 0 1 0; #X connect 0 0 9 0; #X connect 1 0 0 1; #X connect 2 0 0 1; #X connect 3 0 0 0; #X connect 4 0 8 0; #X connect 5 0 7 0; #X connect 6 0 7 1; #X connect 7 0 4 0; #X connect 9 0 5 0; #X connect 9 1 8 1; #X connect 10 0 3 0; #X connect 10 1 2 0; #X connect 10 2 5 1; #X connect 10 3 6 0; #X connect 11 0 10 0; #X restore 547 323 pd make-sine; #X text 545 451 normalizing the amplitude has to be done with [/~ 2*blocksize] because we have added re and im \, and both are to big by 1*blocksize! ; #X connect 1 0 8 0; #X connect 2 0 10 0; #X connect 2 0 14 0; #X connect 2 0 17 0; #X connect 2 0 17 1; #X connect 2 1 12 0; #X connect 2 1 14 1; #X connect 2 1 18 1; #X connect 2 1 18 0; #X connect 3 0 2 0; #X connect 3 0 8 0; #X connect 4 0 6 0; #X connect 7 0 6 0; #X connect 9 0 10 0; #X connect 11 0 12 0; #X connect 13 0 15 0; #X connect 14 0 16 0; #X connect 16 0 15 0; #X connect 17 0 19 0; #X connect 18 0 19 0; #X connect 19 0 21 0; #X connect 19 0 31 0; #X connect 20 0 21 0; #X connect 22 0 23 0; #X connect 24 0 22 0; #X connect 26 0 32 0; #X connect 27 0 28 0; #X connect 30 0 28 0; #X connect 31 0 30 0;