#N canvas 198 103 820 483 12; #N canvas 1165 116 369 796 fft-analysis 1; #X obj 15 164 *~; #X obj 14 198 rfft~; #X obj 19 674 *~; #X obj 20 592 rifft~; #X obj 19 702 outlet~; #X obj 37 649 tabreceive~ hanning; #X obj 36 140 tabreceive~ hanning; #X obj 14 99 inlet~; #X obj 14 32 block~ 512 4; #X obj 20 621 /~ 786; #X text 203 144 windowing; #X obj 49 228 delwrite~ ar2 10000; #X obj 14 256 delwrite~ ar1 10000; #X obj 21 318 tabreceive~ delay; #X obj 20 394 -~; #X obj 58 369 wrap~; #X obj 19 442 *~ 512; #X obj 20 471 /~ 44.1; #X obj 20 514 vd~ ar1; #X obj 89 514 vd~ ar2; #X text 215 230 fft-Analysis is; #X text 191 253 writte to the; #X text 201 275 buffers; #X text 164 322 delay array uses buffer; #X text 165 344 to determine reading; #X text 167 365 position; #X text 65 396 only integers \, jump to bin no.; #X text 88 441 every bin is 512 samples in size; #X text 86 470 conversion to milliseconds; #X text 161 513 reading buffers; #X text 79 592 resynthesis; #X text 84 621 normalization; #X text 205 647 final windowing; #X connect 0 0 1 0; #X connect 1 0 12 0; #X connect 1 1 11 0; #X connect 2 0 4 0; #X connect 3 0 9 0; #X connect 5 0 2 1; #X connect 6 0 0 1; #X connect 7 0 0 0; #X connect 9 0 2 0; #X connect 13 0 14 0; #X connect 13 0 15 0; #X connect 14 0 16 0; #X connect 15 0 14 1; #X connect 16 0 17 0; #X connect 17 0 18 0; #X connect 17 0 19 0; #X connect 18 0 3 0; #X connect 19 0 3 1; #X restore 22 338 pd fft-analysis; #N canvas 35 66 604 445 Hann-window 0; #N canvas 0 0 450 300 graph1 0; #X array hanning 512 float 0; #X coords 0 1 511 0 200 120 1; #X restore 293 249 graph; #X msg 171 263 0; #X obj 65 312 osc~; #X obj 65 264 samplerate~; #X obj 65 335 *~ -0.5; #X obj 65 358 +~ 0.5; #X text 279 241 1; #X text 272 359 0; #X text 288 372 0; #X obj 65 288 / 512; #X obj 57 241 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 336 221 Hann window; #X text 113 310 period 512; #X text 90 215 recalculate Hann; #X text 125 230 window table; #X obj 57 146 loadbang; #X msg 79 179 \; pd dsp 1; #X text 40 27 The Hann window is now recomputed on 'loadbang' to make the file smaller (it doesn't have to be saved with the array.); #X text 474 375 511; #X obj 57 383 tabwrite~ hanning; #X connect 1 0 2 1; #X connect 2 0 4 0; #X connect 3 0 9 0; #X connect 4 0 5 0; #X connect 5 0 19 0; #X connect 9 0 2 0; #X connect 10 0 3 0; #X connect 10 0 1 0; #X connect 10 0 19 0; #X connect 15 0 10 0; #X connect 15 0 16 0; #X restore 217 378 pd Hann-window; #N canvas 0 0 454 304 graph1 0; #X array delay 256 float 3; #A 0 68 68 71.5666 110.8 128.633 132.199 135.766 139.333 139.333 139.333 139.333 139.333 139.333 139.333 139.333 139.333 136.955 134.577 132.199 129.524 126.85 124.175 121.5 119.716 117.933 103.666 94.7498 75.1333 25.2003 10.9338 10.9338 10.9338 7.36713 7.36713 3.80049 3.80049 7.36713 92.9665 107.233 112.583 125.066 142.899 150.033 157.166 157.166 160.733 160.733 160.733 162.516 164.299 164.299 164.299 164.299 164.299 160.733 158.949 157.166 107.233 78.6999 78.6999 78.6999 78.6999 82.2665 82.2665 85.8332 89.3998 92.9665 92.9665 92.9665 92.9665 96.5331 96.5331 96.5331 96.5331 96.5331 92.9665 89.3998 89.3998 89.3998 89.3998 89.3998 89.3998 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68; #X coords 0 215 256 1 512 60 1; #X restore 66 110 graph; #X obj 67 289 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; #X text 629 81 ms:; #X text 623 101 2496; #X text 633 159 0; #X msg 235 269 const \$1; #X floatatom 235 248 5 0 0 0 - - -; #X text 585 159 1; #X text 580 101 215; #X obj 21 311 *~; #X text 62 170 0; #X text 565 173 256; #X text 29 188 Hz:; #X text 62 189 0; #X text 554 192 22050; #X obj 235 293 s delay; #X obj 22 398 dac~; #X obj 21 258 pink~; #X text 39 18 3.8.2.4. Spectral Delay; #X text 121 65 first draw the delay pattern...; #X text 62 254 ..then apply it!; #X text 453 420 www.pd-tutorial.com; #X text 466 398 Johannes Kreidler; #X connect 0 0 18 0; #X connect 0 0 18 1; #X connect 3 0 11 1; #X connect 7 0 17 0; #X connect 8 0 7 0; #X connect 11 0 0 0; #X connect 19 0 11 0;