#N canvas 186 95 944 489 12;
#X text 597 420 updated for Pd version 0.26;
#X floatatom 94 393 0 0 0;
#N canvas 159 26 495 266 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 181 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 158 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 65 421 pd output;
#X msg 141 393 MUTE;
#X text 184 392 <-- output amplitude;
#X graph graph1 0 0 44100 1 606 236 906 36;
#X array samphold 44100 float 0;
#X pop;
#N canvas 0 0 600 396 tables 0;
#X obj 111 138 loadbang;
#X graph graph1 0 0 123 10 387 156 587 56;
#X array dbtorms 123 float 0;
#X pop;
#X text 589 149 0;
#X text 591 49 10;
#X text 406 159 ------ 123 samples ------;
#X graph graph2 0 0 130 12000 394 333 594 233;
#X array mtof 130 float 0;
#X pop;
#X text 404 341 ------ 130 samples ------;
#X text 603 326 0;
#X text 605 226 12000;
#X msg 111 161 \; dbtorms read dbtorms.txt \; mtof read mtof.txt;
#X connect 0 0 9 0;
#X restore 648 280 pd tables;
#X text 67 8 SAMPLE AND HOLD;
#X obj 141 292 phasor~ 5;
#X obj 44 267 phasor~ 7;
#X obj 44 292 samphold~;
#X floatatom 44 242 0 0 0;
#X floatatom 141 237 0 0 0;
#X obj 216 345 tabwrite~ samphold;
#X msg 216 320 bang;
#X obj 44 367 tabread4~ mtof;
#X obj 44 317 *~ 48;
#X obj 44 342 +~ 36;
#X obj 44 392 osc~;
#X msg 216 262 0;
#X text 259 319 <--graph output;
#X obj 44 217 unpack;
#X text 254 259 <-- reset phase;
#X msg 311 131 32 96.33;
#X msg 124 131 5 7;
#X msg 44 131 1 5;
#X msg 78 131 2 11;
#X msg 161 131 3.7 8.8;
#X msg 235 131 3.4 8.9;
#X text 16 31 Another analog favorite \, the sample and hold unit freezes
an audio signal on command. In the Pd version \, the second input of
samphold~ triggers it \, and the first input becomes the output's new
value whenever the trigger decreases from one sample to the next. This
is ideal for updating values when a phasor wraps around.;
#X connect 1 0 2 1;
#X connect 2 0 1 0;
#X connect 3 0 2 2;
#X connect 8 0 10 1;
#X connect 9 0 10 0;
#X connect 10 0 16 0;
#X connect 10 0 13 0;
#X connect 11 0 9 0;
#X connect 12 0 8 0;
#X connect 14 0 13 0;
#X connect 15 0 18 0;
#X connect 16 0 17 0;
#X connect 17 0 15 0;
#X connect 18 0 2 0;
#X connect 19 0 8 1;
#X connect 19 0 9 1;
#X connect 21 0 11 0;
#X connect 21 1 12 0;
#X connect 23 0 21 0;
#X connect 24 0 21 0;
#X connect 25 0 21 0;
#X connect 26 0 21 0;
#X connect 27 0 21 0;
#X connect 28 0 21 0;
