#N canvas 10 49 715 680 12;
#X floatatom 242 612 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 206 639 pd output;
#X msg 282 612 MUTE;
#X obj 165 490 cos~;
#X obj 165 460 *~;
#X obj 207 490 cos~;
#X obj 249 406 wrap~;
#X obj 212 415 -~;
#X obj 207 460 +~;
#X obj 207 525 -~;
#X obj 227 557 *~;
#X obj 205 582 +~;
#X text 454 648 updated for Pd version 0.34;
#X text 327 611 <--output;
#X obj 191 184 loadbang;
#X obj 191 210 metro 400;
#X obj 203 234 del 200;
#X obj 204 335 samphold~;
#X obj 259 364 toggle 20 0 empty empty empty 20 8 0 10 -262144 -1 -1
0 1;
#X obj 166 290 sig~;
#X msg 203 263 3.5;
#X msg 166 263 2;
#X obj 23 280 phasor~ 169;
#N canvas 0 0 600 400 switch 0;
#X obj 85 52 inlet~;
#X obj 177 58 inlet~;
#X obj 298 66 inlet;
#X obj 112 107 -~;
#X obj 112 131 *~ 0;
#X obj 90 157 +~;
#X obj 160 249 outlet~;
#X connect 0 0 3 1;
#X connect 0 0 5 0;
#X connect 1 0 3 0;
#X connect 2 0 4 1;
#X connect 3 0 4 0;
#X connect 4 0 5 1;
#X connect 5 0 6 0;
#X restore 166 364 pd switch;
#X text 31 2 CHANGING THE CENTER FREQUENCY QUICKLY;
#X text 313 381 off to hear the straight sig~;
#X text 286 363 <--on to hear the "samphold~" \,;
#X text 25 27 Since in the previous patch the amplitudes of the two
cosines depend on "center frequency" we can't change that discontinuously
without clicking \, as you hear in this patch. The fix is to use a
samphold~ object to keep the center frequency frozen except at phase
crossings. At the phase crossings the two weighted cosines add to one
\, so we can discontinuously change the frequencies and weights there.
;
#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 3 0;
#X connect 4 0 8 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 14 0 15 0;
#X connect 15 0 21 0;
#X connect 15 0 16 0;
#X connect 16 0 20 0;
#X connect 17 0 23 1;
#X connect 18 0 23 2;
#X connect 19 0 17 0;
#X connect 19 0 23 0;
#X connect 20 0 19 0;
#X connect 21 0 19 0;
#X connect 22 0 4 0;
#X connect 22 0 8 1;
#X connect 22 0 17 1;
#X connect 23 0 7 0;
#X connect 23 0 6 0;
