#N canvas 660 45 549 445 10; #X obj 202 183 *~; #X floatatom 202 126 0 0 0 0 - - -; #X obj 267 161 line~; #X floatatom 114 146 0 0 0 0 - - -; #X obj 114 268 cos~; #X obj 114 216 +~; #X floatatom 143 316 0 0 0 0 - - -; #N canvas 159 26 495 270 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 425 153 t b f; #X obj 397 117 moses 1; #X obj 83 148 dbtorms; #X obj 397 92 r master-lvl; #X obj 83 42 r master-lvl; #X obj 338 210 s master-lvl; #X obj 22 182 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 20 159 audio; #X text 93 110 show level; #X connect 0 0 4 0; #X connect 1 0 7 0; #X connect 2 0 6 0; #X connect 4 0 13 0; #X connect 5 0 13 0; #X connect 6 0 1 0; #X connect 7 0 0 0; #X connect 7 1 8 0; #X connect 8 0 5 0; #X connect 9 1 4 1; #X connect 10 0 24 0; #X connect 11 0 1 1; #X connect 11 0 9 0; #X connect 12 0 10 0; #X connect 12 0 18 0; #X connect 14 0 22 0; #X connect 15 0 17 0; #X connect 15 0 20 0; #X connect 18 0 19 0; #X connect 21 0 22 1; #X connect 22 0 23 0; #X connect 22 0 23 1; #X connect 24 0 21 0; #X restore 114 344 pd output; #X msg 172 316 MUTE; #X text 213 316 <-- output amplitude; #X msg 229 262 bang; #X text 266 263 <-- click to graph; #X obj 114 173 phasor~ 0; #X obj 202 151 osc~ 0; #X text 33 8 PHASE MODULATION ("FM") USING TWO OSCILLATORS; #X obj 229 286 tabwrite~ fm-output; #X obj 267 135 pack 0 50; #X floatatom 267 82 0 0 0 0 - - -; #X obj 267 109 / 100; #X text 263 50 modulation index; #X text 263 65 in hundredths; #X text 111 103 carrier; #X text 110 121 frequency; #X text 187 102 frequency; #X text 188 85 modulation; #X text 310 160 <-- signal with smoothed; #X text 312 176 modulation index to avoid clicks; #X text 188 345 <-- as in previous patch; #X text 199 205 amplitude-controlled modulation; #X text 200 222 oscillator output; #X text 37 158 carrier; #X text 37 173 phase -->; #X text 18 201 phase; #X text 17 216 modulation-->; #X text 14 252 output; #X text 15 268 waveform -->; #X obj 51 81 r carrier; #X obj 148 65 r mod; #X obj 207 30 r index; #X obj 129 291 r amp; #X obj 172 245 r mute; #X msg 438 85 \; pd dsp \$1; #X obj 438 52 r onoff; #X obj 27 402 gripd; #X text 329 377 <-- Click; #X text 341 402 open GUI; #X text 347 389 here to; #N canvas 132 85 450 293 array 0; #N canvas 0 0 450 300 graph1 0; #X array fm-output 100 float 0; #X coords 0 1 99 -1 200 140 1; #X restore 100 20 graph; #X restore 417 256 pd array; #X msg 27 374 open_locked ../gripd/examples/fmsynth.gpd; #X msg 67 402 show; #X msg 100 402 unlock; #X msg 150 402 lock; #X connect 0 0 5 1; #X connect 1 0 13 0; #X connect 2 0 0 1; #X connect 3 0 12 0; #X connect 4 0 15 0; #X connect 4 0 7 0; #X connect 5 0 4 0; #X connect 6 0 7 1; #X connect 7 0 6 0; #X connect 8 0 7 2; #X connect 10 0 15 0; #X connect 12 0 5 0; #X connect 13 0 0 0; #X connect 16 0 2 0; #X connect 17 0 18 0; #X connect 18 0 16 0; #X connect 36 0 3 0; #X connect 37 0 1 0; #X connect 38 0 17 0; #X connect 39 0 6 0; #X connect 40 0 8 0; #X connect 42 0 41 0; #X connect 48 0 43 0; #X connect 49 0 43 0; #X connect 50 0 43 0; #X connect 51 0 43 0;