#N canvas 110 30 1049 839 16; #X floatatom 232 417 5 0 0 0 - - -; #X obj 71 130 osc~; #X obj 265 131 osc~; #X obj 265 204 *~; #X obj 176 530 dac~; #X obj 177 453 *~ 0.5; #X msg 507 443 \; pd dsp 1 \;; #X msg 507 490 \; pd dsp 0 \;; #X floatatom 265 106 5 0 0 2 frecuencia_2 - -; #X floatatom 71 105 5 0 0 2 frecuencia_1 - -; #X floatatom 290 177 5 0 0 2 amp_2 - -; #X obj 213 283 *~; #X obj 71 201 *~; #X floatatom 97 174 5 0 0 2 amp_1 - -; #N canvas 0 22 450 300 (subpatch) 0; #X array signal 882 float 0; #X coords 0 1.02 882 -1.02 200 80 1; #X restore 511 98 graph; #N canvas 0 22 450 300 (subpatch) 0; #X array spectrum 259 float 0; #X coords 0 0.51 258 -0.008 259 130 1; #X restore 481 245 graph; #X text 511 376 2; #X text 542 376 4; #X text 481 376 0; #X text 575 78 WAVEFORM; #X text 575 227 SPECTRUM; #X text 741 361 0; #X text 742 243 0.5; #X text 574 376 6; #X text 607 376 8; #X text 635 376 10; #X text 667 376 12; #X text 699 376 14; #N canvas 419 238 570 621 fft 0; #X obj 19 61 inlet~; #X obj 208 212 inlet; #X obj 29 92 rfft~; #X obj 29 125 *~; #X obj 60 125 *~; #X obj 29 155 sqrt~; #X obj 332 109 block~ 4096 1; #X obj 29 181 biquad~ 0 0 0 0 1; #X text 93 93 Fourier series; #X text 98 146 magnitude; #X text 96 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 61 signal to analyze; #X text 193 164 delay two samples; #X text 191 182 for better graphing; #X obj 231 259 metro 500; #X obj 231 236 inlet; #X text 284 234 toggle to graph repeatedly; #X text 262 212 bang to graph once; #X obj 29 205 /~ 4096; #X msg 209 322 \; pd dsp 1; #X obj 19 295 tabwrite~ signal; #X obj 231 298 tabwrite~ spectrum; #X connect 0 0 2 0; #X connect 0 0 21 0; #X connect 1 0 20 0; #X connect 1 0 21 0; #X connect 1 0 22 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 19 0; #X connect 15 0 21 0; #X connect 15 0 22 0; #X connect 16 0 15 0; #X connect 16 0 20 0; #X connect 19 0 22 0; #X restore 268 528 pd fft; #X obj 296 485 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 323 484 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 176 283 +~; #N canvas 362 253 454 304 elige 0; #X obj 83 14 inlet~; #X obj 83 155 *~; #X obj 267 14 inlet; #X obj 111 242 outlet~; #X msg 146 103 0; #X msg 108 103 1; #X obj 266 48 sel 0 1; #X obj 190 14 inlet~; #X obj 190 155 *~; #X msg 253 103 0; #X msg 215 103 1; #X connect 0 0 1 0; #X connect 1 0 3 0; #X connect 2 0 6 0; #X connect 4 0 1 1; #X connect 5 0 1 1; #X connect 6 0 5 0; #X connect 6 0 9 0; #X connect 6 1 4 0; #X connect 6 1 10 0; #X connect 7 0 8 0; #X connect 8 0 3 0; #X connect 9 0 8 1; #X connect 10 0 8 1; #X restore 177 365 pd elige; #X obj 252 317 tgl 30 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X text 289 311 0 suma; #X text 288 331 1 multiplicacion; #X text 68 35 MODULACION RING ... se multiplican dos senales de audio ; #X connect 0 0 5 1; #X connect 1 0 12 0; #X connect 2 0 3 0; #X connect 3 0 11 1; #X connect 3 0 31 0; #X connect 5 0 4 0; #X connect 5 0 4 1; #X connect 5 0 28 0; #X connect 8 0 2 0; #X connect 9 0 1 0; #X connect 10 0 3 1; #X connect 11 0 32 1; #X connect 12 0 11 0; #X connect 12 0 31 0; #X connect 13 0 12 1; #X connect 29 0 28 1; #X connect 30 0 28 2; #X connect 31 0 32 0; #X connect 32 0 5 0; #X connect 33 0 32 2;