#N canvas 130 66 880 587 12;
#X floatatom 89 506 0 0 100;
#N canvas 159 26 516 274 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 396 182 0;
#X msg 338 85 bang;
#X obj 338 135 moses 1;
#X obj 391 110 moses 1;
#X obj 83 148 dbtorms;
#X obj 391 85 r master-lvl;
#X obj 83 42 r master-lvl;
#X obj 338 210 s master-lvl;
#X obj 20 182 inlet~;
#X obj 199 41 inlet;
#X text 199 18 level;
#X obj 199 104 s master-lvl;
#X msg 96 65 set \$1;
#X obj 96 90 outlet;
#X msg 214 65 \; pd dsp 1;
#X obj 83 198 line~;
#X obj 20 207 *~;
#X obj 20 232 dac~;
#X obj 83 173 pack 0 50;
#X text 20 159 audio;
#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 21 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 restore 51 534 pd output;
#X msg 127 507 MUTE;
#X obj 32 441 *~;
#X obj 12 469 -~;
#X obj 73 446 *~;
#X floatatom 170 421 1 0 100;
#X obj 365 337 osc~;
#X obj 365 362 *~;
#X obj 425 342 line~;
#X obj 365 312 line~;
#X obj 550 468 osc~;
#X obj 599 496 *~;
#X obj 621 379 line~;
#X obj 550 379 line~;
#X obj 550 326 sqrt;
#X obj 550 352 sqrt;
#X obj 621 326 sqrt;
#X obj 621 352 sqrt;
#X obj 550 411 *~;
#X obj 550 441 *~;
#X obj 621 411 *~;
#X obj 621 440 *~;
#X obj 550 301 unpack;
#X obj 621 301 unpack;
#X obj 365 287 r freq;
#X obj 425 318 r amp;
#X obj 550 276 r freq;
#X obj 621 276 r amp;
#X obj 365 388 s~ linear;
#X obj 599 523 s~ quartic;
#X obj 12 377 r~ linear;
#X obj 56 406 r~ quartic;
#X msg 27 185 \; amp 0 5000 \;;
#X msg 29 139 \; amp 1 5000 \;;
#X msg 139 185 \; amp 0 1000 \;;
#X msg 141 139 \; amp 1 1000 \;;
#X msg 26 238 \; freq 1760 5000 \;;
#X msg 29 286 \; freq 55 5000 \;;
#X msg 180 238 \; freq 1760 1000 \;;
#X msg 183 286 \; freq 55 1000 \;;
#X text 90 15 QUARTIC AND LINEAR ENVELOPES COMPARED;
#X obj 202 488 loadbang;
#X msg 202 516 \; amp 1 \; freq 1760;
#X text 194 414 1 for quartic \; 0 for linear;
#X text 19 39 This patch has two sine wave oscillators \, one with
linear envelopes \, the other with quartic ones which sound more uniform.
The "toggle switch" at bottom selects between the two \, and the message
boxes sweep the amplitude and frequency up and down.;
#X text 366 257 LINEAR;
#X text 555 249 QUARTIC;
#X text 335 120 The two oscillators are below. In the quartic one \,
for both the amplitude and the frequency \, we have to take the fourth
root of the target value (which we get by taking square root twice.)
Then we raise the line~ output to the fourth power by squaring twice
(the *~ objects \, whose left and right inlets are the same.) The cost
is mostly that of the four additional *~ objects.;
#X text 579 560 updated for Pd version 0.34;
#X connect 0 0 1 1;
#X connect 1 0 0 0;
#X connect 2 0 1 2;
#X connect 3 0 4 1;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 5 1;
#X connect 6 0 3 1;
#X connect 7 0 8 0;
#X connect 8 0 29 0;
#X connect 9 0 8 1;
#X connect 10 0 7 0;
#X connect 11 0 12 0;
#X connect 12 0 30 0;
#X connect 13 0 21 0;
#X connect 13 0 21 1;
#X connect 14 0 19 0;
#X connect 14 0 19 1;
#X connect 15 0 16 0;
#X connect 16 0 14 0;
#X connect 17 0 18 0;
#X connect 18 0 13 0;
#X connect 19 0 20 0;
#X connect 19 0 20 1;
#X connect 20 0 11 0;
#X connect 21 0 22 0;
#X connect 21 0 22 1;
#X connect 22 0 12 1;
#X connect 23 0 15 0;
#X connect 23 1 14 1;
#X connect 24 0 17 0;
#X connect 24 1 13 1;
#X connect 25 0 10 0;
#X connect 26 0 9 0;
#X connect 27 0 23 0;
#X connect 28 0 24 0;
#X connect 31 0 3 0;
#X connect 31 0 4 0;
#X connect 32 0 5 0;
#X connect 42 0 43 0;
