#N canvas 89 117 803 661 12;
#X floatatom 242 605 0 0 0;
#N canvas 176 241 532 273 output 0;
#X obj 338 160 t b;
#X obj 338 110 f;
#X obj 338 60 inlet;
#X text 344 29 mute;
#X obj 338 185 f;
#X msg 425 178 0;
#X msg 338 85 bang;
#X obj 338 135 moses 1;
#X obj 398 111 moses 1;
#X obj 83 148 dbtorms;
#X obj 398 86 r master-lvl;
#X obj 83 42 r master-lvl;
#X obj 338 210 s master-lvl;
#X obj 17 148 inlet~;
#X obj 199 41 inlet;
#X text 199 18 level;
#X obj 199 100 s master-lvl;
#X msg 96 65 set \$1;
#X obj 96 89 outlet;
#X msg 214 64 \; pd dsp 1;
#X obj 83 194 line~;
#X obj 22 212 *~;
#X obj 22 241 dac~;
#X obj 83 171 pack 0 50;
#X text 15 125 audio;
#X text 93 110 show level;
#X obj 17 177 hip~ 1;
#X connect 0 0 4 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 4 0 12 0;
#X connect 5 0 12 0;
#X connect 6 0 1 0;
#X connect 7 0 0 0;
#X connect 7 1 5 0;
#X connect 8 1 4 1;
#X connect 9 0 23 0;
#X connect 10 0 1 1;
#X connect 10 0 8 0;
#X connect 11 0 9 0;
#X connect 11 0 17 0;
#X connect 13 0 26 0;
#X connect 14 0 16 0;
#X connect 14 0 19 0;
#X connect 17 0 18 0;
#X connect 20 0 21 1;
#X connect 21 0 22 0;
#X connect 21 0 22 1;
#X connect 23 0 20 0;
#X connect 26 0 21 0;
#X restore 204 634 pd output;
#X msg 280 606 MUTE;
#X obj 165 506 cos~;
#X obj 165 460 *~;
#X obj 208 508 cos~;
#X obj 249 409 wrap~;
#X obj 212 408 -~;
#X obj 208 485 +~;
#X obj 206 543 -~;
#X obj 226 575 *~;
#X obj 204 600 +~;
#X text 520 628 updated for Pd version 0.34;
#X text 325 605 <--output;
#X obj 212 378 samphold~;
#X text 31 2 APPLYING TWO-COSINE CARRIER TO FM;
#X floatatom 229 238 4 0 0;
#X obj 229 261 / 10;
#X text 229 157 center;
#X obj 229 330 line~;
#X obj 229 284 max 0;
#X text 229 177 freq. (in;
#X text 229 197 tenths of;
#X text 229 217 fundamental);
#X obj 229 307 pack 0 50;
#X obj 118 313 phasor~;
#X floatatom 118 290 4 0 0;
#X text 103 237 fundamental;
#X text 103 257 (= mod freq);
#X text 432 284 index;
#X text 432 304 (percent);
#X floatatom 432 325 4 0 0;
#X obj 382 391 cos~;
#X obj 432 394 line~;
#X obj 382 414 *~;
#X obj 432 348 / 100;
#X obj 432 371 pack 0 50;
#X obj 165 483 +~;
#X graph graph1 0 0 128 500 515 256 771 126;
#X array spectrum 128 float 0;
#X pop;
#X text 511 261 0;
#X text 759 258 5512;
#X msg 117 599 bang;
#N canvas 204 17 358 238 fft 0;
#X obj 46 48 inlet~;
#X obj 159 181 tabwrite~ spectrum;
#X obj 159 145 inlet;
#X obj 46 78 rfft~;
#X obj 46 111 *~;
#X obj 77 111 *~;
#X obj 46 141 sqrt~;
#X obj 191 45 block~ 1024 1;
#X connect 0 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 4 0;
#X connect 3 0 4 1;
#X connect 3 1 5 0;
#X connect 3 1 5 1;
#X connect 4 0 6 0;
#X connect 5 0 6 0;
#X connect 6 0 1 0;
#X restore 68 630 pd fft;
#X text 25 33 And now we just treat the cosines like carrier signals
in an FM instrument. This doesn't work as well as you'd wish \, because
the phases of the partials of the two FM instruments don't line up
\, so that \, for indices of modulation above about 20% \, you get
beating effects as the center frequency goes up and down.;
#X text 385 440 modulating;
#X text 385 460 oscillator;
#X text 37 482 both phases-->;
#X text 6 465 add modulator to;
#X text 117 577 graph;
#X connect 0 0 1 1;
#X connect 1 0 0 0;
#X connect 2 0 1 2;
#X connect 3 0 9 1;
#X connect 3 0 11 0;
#X connect 4 0 37 0;
#X connect 5 0 9 0;
#X connect 6 0 7 1;
#X connect 6 0 10 1;
#X connect 7 0 4 1;
#X connect 8 0 5 0;
#X connect 9 0 10 0;
#X connect 10 0 11 1;
#X connect 11 0 1 0;
#X connect 11 0 42 0;
#X connect 14 0 7 0;
#X connect 14 0 6 0;
#X connect 16 0 17 0;
#X connect 17 0 20 0;
#X connect 19 0 14 0;
#X connect 20 0 24 0;
#X connect 24 0 19 0;
#X connect 25 0 14 1;
#X connect 25 0 32 0;
#X connect 25 0 4 0;
#X connect 25 0 8 1;
#X connect 26 0 25 0;
#X connect 31 0 35 0;
#X connect 32 0 34 0;
#X connect 33 0 34 1;
#X connect 34 0 37 1;
#X connect 35 0 36 0;
#X connect 36 0 33 0;
#X connect 37 0 8 0;
#X connect 37 0 3 0;
#X connect 41 0 42 1;
