#N canvas 443 22 769 582 16; #N canvas 0 22 450 300 (subpatch) 0; #X array tiempo 882 float 0; #X coords 0 5 882 -5 200 130 1; #X restore 465 115 graph; #X obj 42 442 hip~ 5; #N canvas 0 22 450 300 (subpatch) 0; #X array espectro 128 float 0; #X coords 0 4300 127 -40 257 130 1; #X restore 439 352 graph; #N canvas 45 83 562 573 fft 0; #X obj 19 62 inlet~; #X obj 85 214 inlet; #X obj 19 92 rfft~; #X obj 19 125 *~; #X obj 50 125 *~; #X obj 19 155 sqrt~; #X obj 332 109 block~ 4096 1; #X obj 19 181 biquad~ 0 0 0 0 1; #X text 83 93 Fourier series; #X text 88 146 magnitude; #X text 86 131 calculate; #X text 21 3 This subpatch computes the spectrum of the incoming signal with a (rectangular windowed) FFT. FFTs aren't properly introduced until much later.; #X text 83 62 signal to analyze; #X text 182 166 delay two samples; #X text 181 182 for better graphing; #X obj 90 425 samplerate~; #X obj 90 402 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X floatatom 90 472 5 0 0 0 - - -; #X obj 90 448 / 256; #X obj 90 378 loadbang; #X floatatom 90 541 5 0 0 0 - - -; #X obj 98 494 s fundamental; #X obj 90 517 ftom; #X text 146 540 <-just out of curiosity \, here's the pitch; #X text 14 319 At load time \, calculate a good choice of fundamental frequency for showing spectra: the 16th bin in a 4096-point spectrum \, so SR*16/4096 or SR/256.; #X text 135 216 "bang" into this inlet to graph it; #X obj 85 248 tabwrite~ espectro; #X connect 0 0 2 0; #X connect 1 0 26 0; #X connect 2 0 3 0; #X connect 2 0 3 1; #X connect 2 1 4 0; #X connect 2 1 4 1; #X connect 3 0 5 0; #X connect 4 0 5 0; #X connect 5 0 7 0; #X connect 7 0 26 0; #X connect 15 0 18 0; #X connect 16 0 15 0; #X connect 17 0 21 0; #X connect 17 0 22 0; #X connect 18 0 17 0; #X connect 19 0 16 0; #X connect 22 0 20 0; #X restore 53 417 pd fft; #X obj 120 382 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 470 485 1; #X text 504 485 2; #X text 536 485 3; #X text 568 485 4; #X text 601 485 5; #X text 631 485 6; #X text 662 485 7; #X text 438 485 0; #X text 667 171 0; #X obj 44 180 r fundamental; #X obj 44 249 osc~; #X obj 65 274 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; #X obj 43 299 *~; #X obj 92 249 osc~; #X obj 113 274 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 91 299 *~; #X obj 138 249 osc~; #X obj 159 274 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 137 299 *~; #X obj 138 226 * 2; #X obj 184 249 osc~; #X obj 205 274 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 183 299 *~; #X obj 230 249 osc~; #X obj 251 274 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 229 299 *~; #X obj 276 249 osc~; #X obj 297 274 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 275 299 *~; #X obj 44 226 * 0; #X obj 92 226 * 1; #X obj 184 226 * 3; #X obj 230 226 * 4; #X obj 276 226 * 5; #X text 699 470 0; #X text 697 349 1; #X text 698 408 0.5; #X obj 43 360 *~ 1; #X text 667 111 5; #X text 668 231 -5; #X obj 44 145 s fundamental; #X floatatom 45 123 5 0 0 0 - - -; #X text 38 91 ESPECTRO DE AUDIO; #X text 515 77 FORMA DE ONDA; #X text 527 312 ESPECTRO; #X text 456 504 -- numero de parcial --; #X text 145 382 <-- click para graficar; #X text 453 247 ---- 0.02 segundos ----; #X text 94 359 suma; #X obj 26 9 cnv 15 400 60 empty empty empty 20 12 0 14 -179648 -66577 0; #X text 36 11 INTRODUCCION A LA MUSICA COMPUTACIONAL; #X text 37 27 Dr. Rodrigo F. Cadiz; #X text 38 44 http://www.rodrigocadiz.com/imc; #X obj 42 470 dac~; #X obj 131 417 tabwrite~ tiempo; #X text 25 547 5-11-09 Patch preparado por Rodrigo Cadiz; #X connect 1 0 58 0; #X connect 1 0 58 1; #X connect 4 0 3 1; #X connect 4 0 59 0; #X connect 14 0 34 0; #X connect 14 0 35 0; #X connect 14 0 24 0; #X connect 14 0 36 0; #X connect 14 0 37 0; #X connect 14 0 38 0; #X connect 15 0 17 0; #X connect 16 0 17 1; #X connect 17 0 42 0; #X connect 18 0 20 0; #X connect 19 0 20 1; #X connect 20 0 42 0; #X connect 21 0 23 0; #X connect 22 0 23 1; #X connect 23 0 42 0; #X connect 24 0 21 0; #X connect 25 0 27 0; #X connect 26 0 27 1; #X connect 27 0 42 0; #X connect 28 0 30 0; #X connect 29 0 30 1; #X connect 30 0 42 0; #X connect 31 0 33 0; #X connect 32 0 33 1; #X connect 33 0 42 0; #X connect 34 0 15 0; #X connect 35 0 18 0; #X connect 36 0 25 0; #X connect 37 0 28 0; #X connect 38 0 31 0; #X connect 42 0 3 0; #X connect 42 0 1 0; #X connect 42 0 59 0; #X connect 46 0 45 0;