#N canvas 1275 169 1150 681 12; #N canvas 156 156 718 413 hannWindow 0; #N canvas 0 0 450 300 (subpatch) 0; #X array \$0_hann 1024 float 0; #X coords 0 1 1023 0 300 100 1 0 0; #X restore 319 73 graph; #X obj 140 175 osc~; #X obj 140 200 *~ -0.5; #X obj 140 224 +~ 0.5; #X msg 210 117 resize \$1; #X msg 165 148 0; #X obj 65 102 pow -1; #X obj 65 126 * 44100; #X obj 102 74 t f b f; #X obj 125 257 tabwrite~ \$0_hann; #X obj 210 141 s \$0_hann; #X obj 102 48 r \$0_windowSize; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 3 0 9 0; #X connect 4 0 10 0; #X connect 5 0 1 1; #X connect 6 0 7 0; #X connect 7 0 1 0; #X connect 8 0 6 0; #X connect 8 1 5 0; #X connect 8 1 9 0; #X connect 8 2 4 0; #X connect 11 0 8 0; #X restore 351 69 pd hannWindow; #N canvas 790 322 490 456 fftReal2Complex 0; #X obj 67 29 inlet~; #X obj 129 131 rfft~; #X obj 147 65 tabreceive~ \$0_hann; #X obj 129 90 *~; #X obj 260 27 block~ 1024 4; #X obj 66 348 outlet~; #X obj 130 197 rifft~; #X obj 130 348 outlet~; #X obj 170 172 *~ -1; #X obj 148 296 tabreceive~ \$0_hann; #X obj 130 322 *~; #X obj 221 195 * 3; #X obj 221 219 / 2; #X obj 131 257 /~; #X obj 221 171 r \$0_windowSize; #X obj 67 257 /~ 4; #X connect 0 0 3 0; #X connect 0 0 15 0; #X connect 1 0 8 0; #X connect 1 1 6 0; #X connect 2 0 3 1; #X connect 3 0 1 0; #X connect 6 0 13 0; #X connect 8 0 6 1; #X connect 9 0 10 1; #X connect 10 0 7 0; #X connect 11 0 12 0; #X connect 12 0 13 1; #X connect 13 0 10 0; #X connect 14 0 11 0; #X connect 15 0 5 0; #X restore 133 180 pd fftReal2Complex; #X obj 483 34 loadbang; #X msg 483 58 1024; #X obj 483 82 s \$0_windowSize; #X obj 133 137 osc~ 440; #X obj 133 234 *~; #X obj 256 232 *~; #X obj 189 274 -~; #X obj 368 165 -~ 0.25; #X obj 368 189 cos~; #X obj 329 189 cos~; #X text 220 273 up; #N canvas 790 322 490 456 fftReal2Complex 0; #X obj 67 29 inlet~; #X obj 129 131 rfft~; #X obj 147 65 tabreceive~ \$0_hann; #X obj 129 90 *~; #X obj 260 27 block~ 1024 4; #X obj 66 348 outlet~; #X obj 130 197 rifft~; #X obj 130 348 outlet~; #X obj 170 172 *~ -1; #X obj 148 296 tabreceive~ \$0_hann; #X obj 130 322 *~; #X obj 221 195 * 3; #X obj 221 219 / 2; #X obj 131 257 /~; #X obj 221 171 r \$0_windowSize; #X obj 67 257 /~ 4; #X connect 0 0 3 0; #X connect 0 0 15 0; #X connect 1 0 8 0; #X connect 1 1 6 0; #X connect 2 0 3 1; #X connect 3 0 1 0; #X connect 6 0 13 0; #X connect 8 0 6 1; #X connect 9 0 10 1; #X connect 10 0 7 0; #X connect 11 0 12 0; #X connect 12 0 13 1; #X connect 13 0 10 0; #X connect 14 0 11 0; #X connect 15 0 5 0; #X restore 188 320 pd fftReal2Complex; #X obj 188 366 *~; #X obj 311 364 *~; #X obj 244 405 +~; #X text 275 404 down; #N canvas 0 22 450 278 (subpatch) 0; #X array array1 256 float 2; #X coords 0 1 256 -1 512 140 1 0 0; #X restore 495 130 graph; #N canvas 0 22 450 278 (subpatch) 0; #X array array2 256 float 2; #X coords 0 1 256 -1 512 140 1 0 0; #X restore 495 297 graph; #X obj 37 260 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #N canvas 0 22 450 278 (subpatch) 0; #X array array3 256 float 2; #X coords 0 1 256 -1 512 140 1 0 0; #X restore 494 466 graph; #X obj 244 448 tabwrite~ array3; #X obj 115 448 tabwrite~ array2; #X obj 20 369 tabwrite~ array1; #X obj 368 141 phasor~ 2000; #X connect 1 0 6 0; #X connect 1 0 24 0; #X connect 1 1 7 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 5 0 1 0; #X connect 6 0 8 0; #X connect 7 0 8 1; #X connect 8 0 13 0; #X connect 8 0 23 0; #X connect 9 0 10 0; #X connect 10 0 7 1; #X connect 10 0 15 1; #X connect 11 0 6 1; #X connect 11 0 14 1; #X connect 13 0 14 0; #X connect 13 1 15 0; #X connect 14 0 16 0; #X connect 15 0 16 1; #X connect 16 0 22 0; #X connect 20 0 22 0; #X connect 20 0 23 0; #X connect 20 0 24 0; #X connect 25 0 9 0; #X connect 25 0 11 0;