#N canvas 196 225 596 619 10; #X text 355 346 freq; #X floatatom 291 309 5 0 0 0 - - -; #X obj 291 327 mtof; #X floatatom 291 347 10 0 0 0 - - -; #X obj 88 392 *~ 1; #X obj 99 373 line; #X msg 99 354 \$1 50; #X obj 88 302 *~ 10; #N canvas 0 22 450 300 binwindow 0; #N canvas 0 22 450 300 (subpatch) 0; #X array binwindow 44100 float 0; #X coords 0 1 44099 0 50 50 1; #X restore 144 175 graph; #X msg 184 116 0; #X obj 86 172 osc~; #X obj 86 124 samplerate~; #X obj 86 195 *~ -0.5; #X obj 86 218 +~ 0.5; #X obj 78 101 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 78 243 tabwrite~ binwindow; #X obj 78 80 loadbang; #X obj 86 148 / 44100; #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 7 0; #X connect 6 0 3 0; #X connect 6 0 1 0; #X connect 6 0 7 0; #X connect 8 0 6 0; #X connect 9 0 2 0; #X restore 289 224 pd binwindow; #X text 363 292 Pitch tracking incoming audio; #X obj 88 417 dac~; #X text 125 302 boost piezo; #N canvas 854 413 1280 752 fft 1; #X obj 25 174 *~; #X obj 25 109 inlet~; #X obj 25 228 rfft~; #X obj 24 363 *~; #X obj 66 363 *~; #X obj 87 235 *~; #X obj 26 516 *~; #X obj 88 261 *~; #X obj 25 409 rifft~; #X obj 26 576 outlet~; #X text 122 247 amplification of; #X text 129 265 array values; #X text 150 295 Normalization; #X text 151 315 (3 * block size) / 2 to normalise overlapping block~ windows; #X obj 47 491 tabreceive~ binwindow; #X obj 46 150 tabreceive~ binwindow; #X obj 25 18 block~ 44100 4; #X obj 87 293 /~ 66150; #X obj 86 206 tabreceive~ fft; #X text 154 341 proportion that is fixed; #X connect 0 0 2 0; #X connect 1 0 0 0; #X connect 2 0 3 0; #X connect 2 1 4 0; #X connect 3 0 8 0; #X connect 4 0 8 1; #X connect 5 0 7 0; #X connect 5 0 7 1; #X connect 6 0 9 0; #X connect 7 0 17 0; #X connect 8 0 6 0; #X connect 14 0 6 1; #X connect 15 0 0 1; #X connect 17 0 3 1; #X connect 17 0 4 1; #X connect 18 0 5 0; #X connect 18 0 5 1; #X restore 88 333 pd fft; #X obj 88 275 adc~ 1; #X obj 228 551 tabwrite fft; #X obj 315 550 tabwrite fft; #X obj 382 526 * 2; #X obj 421 554 tabwrite fft; #X obj 261 529 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 353 510 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 460 512 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 228 528 f; #X obj 315 524 f; #X obj 421 528 f; #X obj 488 524 * 3; #X floatatom 228 443 5 0 0 0 - - -; #X floatatom 314 443 5 0 0 0 - - -; #X floatatom 431 444 5 0 0 0 - - -; #N canvas 628 22 450 300 (subpatch) 0; #X array fft 22100 float 2; #X coords 0 1 22050 0 200 100 1; #X restore 74 140 graph; #X obj 49 279 vsl 15 120 0 5 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 200 1; #X msg 286 183 \; fft const 0 \;; #X floatatom 392 496 5 0 0 0 - - -; #X floatatom 503 494 5 0 0 0 - - -; #X text 44 9 fft - identifies all the; #X text 326 597 modifed from the original by ricky graham; #X text 228 422 amp; #X text 315 424 amp; #X text 427 419 amp; #X text 41 23 frequeincy components within particular wave form; #X text 190 68 the general idea of analyzing a sound by breaking it into its frequency components \, and conversely \, using a bunch of frequency components to synthesize a new sound.; #X obj 264 502 t b f; #X obj 352 487 t b f; #X obj 460 489 t b f; #X obj 216 290 sigmund~ -hop 128 notes; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 3 0 40 0; #X connect 3 0 41 0; #X connect 3 0 42 0; #X connect 4 0 10 0; #X connect 4 0 10 1; #X connect 5 0 4 1; #X connect 6 0 5 0; #X connect 7 0 12 0; #X connect 12 0 4 0; #X connect 13 0 7 0; #X connect 13 0 43 0; #X connect 16 0 15 1; #X connect 18 0 21 0; #X connect 19 0 22 0; #X connect 20 0 23 0; #X connect 21 0 14 0; #X connect 22 0 15 0; #X connect 23 0 17 0; #X connect 24 0 17 1; #X connect 25 0 21 1; #X connect 26 0 22 1; #X connect 27 0 23 1; #X connect 29 0 6 0; #X connect 31 0 16 1; #X connect 32 0 24 1; #X connect 40 0 18 0; #X connect 40 1 14 1; #X connect 41 0 19 0; #X connect 41 1 16 0; #X connect 42 0 20 0; #X connect 42 1 24 0; #X connect 43 0 1 0;