#N canvas 110 14 1004 529 10;
#X obj 534 179 c_ead 3 4;
#X obj 533 230 tabwrite~ \$0-env;
#N canvas 0 0 450 300 (subpatch) 0;
#X array \$0-env 1000 float 2;
#X coords 0 1 1000 -1 200 140 1;
#X restore 702 61 graph;
#X msg 497 142 bang;
#N canvas 476 187 690 588 REFERENCE 0;
#X text 114 121 Name: c_ead;
#X text 114 142 Summary: AD envelope generator with quartic curves
;
#X text 113 174 Argument 0: attack time (msec);
#X text 113 195 Argument 1: decay time (msec);
#X text 113 216 Inlet 0: trigger bang;
#X text 113 237 Inlet 1: attack time (msec);
#X text 113 258 Outlet 0: envelope signal;
#X text 113 287 Description: c_ead is an attack/decay envelope with
a convex attack and concave release phase. The phases are curved with
a quartic pow(4) bend. It's nice for percussive sounds.;
#X text 114 359 Tags: envelope generator;
#X coords 0 -1 1 1 450 450 1 100 100;
#X restore 21 44 pd REFERENCE;
#X text 18 19 c_ead - AD envelope generator with quartic curves;
#N canvas 0 0 744 568 drum-sound-example 0;
#X floatatom 196 217 5 0 0 1 decay - -;
#X floatatom 159 190 5 0 0 1 attack - -;
#X obj 121 373 *~;
#X obj 226 326 osc~;
#X obj 175 445 soundoutput;
#X obj 122 251 c_ead 3 200;
#X obj 275 328 phasor~;
#X obj 122 166 bng 24 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 436 218 5 0 0 1 decay - -;
#X floatatom 399 191 5 0 0 1 attack - -;
#X obj 361 374 *~;
#X obj 379 345 osc~;
#X obj 362 167 bng 24 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 378 323 +~ 50;
#X obj 224 279 *~ 400;
#X obj 360 396 *~ 0.9;
#X obj 140 281 noise~;
#X obj 225 304 +~ 200;
#N canvas 0 0 520 425 pass50 0;
#X obj 104 112 random 100;
#X obj 104 182 sel 1;
#X obj 104 226 outlet;
#X obj 104 53 inlet;
#X obj 209 53 inlet;
#X obj 104 135 < 50;
#X connect 0 0 5 0;
#X connect 1 0 2 0;
#X connect 3 0 0 0;
#X connect 4 0 5 1;
#X connect 5 0 1 0;
#X restore 122 145 pd pass50;
#X obj 122 66 c_multimetro 2 250;
#X obj 122 93 select 1 0;
#X obj 122 44 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 139 329 bp~ 1500 3;
#N canvas 0 0 520 425 pass90 0;
#X obj 104 112 random 100;
#X obj 104 182 sel 1;
#X obj 104 226 outlet;
#X obj 104 53 inlet;
#X obj 209 53 inlet;
#X obj 104 135 < 90;
#X connect 0 0 5 0;
#X connect 1 0 2 0;
#X connect 3 0 0 0;
#X connect 4 0 5 1;
#X connect 5 0 1 0;
#X restore 362 143 pd pass90;
#X obj 377 298 *~ 150;
#X obj 276 306 +~ 403;
#X obj 362 252 c_ead 1 400;
#X obj 120 395 *~ 0.7;
#X connect 0 0 5 2;
#X connect 1 0 5 1;
#X connect 2 0 27 0;
#X connect 3 0 2 1;
#X connect 5 0 2 0;
#X connect 5 0 14 0;
#X connect 6 0 2 1;
#X connect 7 0 5 0;
#X connect 8 0 26 2;
#X connect 9 0 26 1;
#X connect 10 0 15 0;
#X connect 11 0 10 1;
#X connect 12 0 26 0;
#X connect 13 0 11 0;
#X connect 14 0 17 0;
#X connect 14 0 25 0;
#X connect 15 0 4 1;
#X connect 15 0 4 0;
#X connect 16 0 22 0;
#X connect 17 0 3 0;
#X connect 18 0 7 0;
#X connect 19 0 20 0;
#X connect 20 0 18 0;
#X connect 20 1 23 0;
#X connect 21 0 19 0;
#X connect 22 0 2 1;
#X connect 23 0 12 0;
#X connect 24 0 13 0;
#X connect 25 0 6 0;
#X connect 26 0 10 0;
#X connect 26 0 24 0;
#X connect 27 0 4 0;
#X connect 27 0 4 1;
#X restore 535 280 pd drum-sound-example;
#X obj 532 46 t b a;
#X floatatom 532 24 5 0 0 1 attack - -;
#X floatatom 582 48 5 0 0 1 decay - -;
#X obj 582 71 t b a;
#X connect 0 0 1 0;
#X connect 3 0 0 0;
#X connect 3 0 1 0;
#X connect 7 0 3 0;
#X connect 7 1 0 1;
#X connect 8 0 7 0;
#X connect 9 0 10 0;
#X connect 10 0 3 0;
#X connect 10 1 0 2;
