#N canvas 147 215 1029 635 10; #X obj 268 509 line~; #X text 318 509 outputs a smooth ramp between values; #X text 38 28 ADSR envelope (attack \, decay \, sustain \, release) ; #X floatatom 298 312 5 0 0; #X floatatom 575 313 5 0 0; #X floatatom 500 336 5 0 1; #X text 311 331 attack time (ms); #X text 625 313 decay time (ms); #X text 566 341 sustain level (0 < x < 1); #X floatatom 873 358 5 0 0; #X text 872 384 release time (ms); #X msg 268 374 1; #X text 309 373 attack target; #X obj 142 279 trigger bang bang bang; #X obj 142 352 delay; #X text 35 348 wait before; #X text 36 365 decay portion; #X obj 142 383 send decay; #X obj 385 255 receive decay; #X obj 385 277 trigger bang bang; #X obj 759 278 trigger bang bang; #X msg 759 360 0; #X obj 170 559 *~; #X text 208 559 ADSR envelope multiplication (amplitude control); #X obj 41 73 inlet~; #X text 42 51 audio input; #X obj 138 75 inlet; #X text 138 51 bang for on/off; #X obj 298 76 inlet; #X text 290 51 attack time; #X obj 486 76 inlet; #X text 483 53 decay time; #X obj 601 76 inlet; #X text 598 53 sustain level; #X obj 918 76 inlet; #X text 915 53 release time; #X obj 170 587 outlet~; #X obj 170 121 int; #X obj 138 121 +; #X floatatom 170 144 5 0 0; #X msg 138 97 1; #X msg 96 73 bang; #X obj 170 167 mod 2; #X floatatom 170 189 5 0 0; #X obj 170 211 select 0; #X text 710 251 start release (turn off); #X text 201 120 counter; #X text 214 166 switch between 0 and 1; #X text 238 210 route 0 to attack \, 1 to release; #X obj 444 368 float; #X connect 0 0 22 1; #X connect 3 0 0 1; #X connect 3 0 14 1; #X connect 4 0 0 1; #X connect 5 0 49 1; #X connect 9 0 0 1; #X connect 11 0 0 0; #X connect 13 0 14 0; #X connect 13 1 11 0; #X connect 13 2 3 0; #X connect 14 0 17 0; #X connect 18 0 19 0; #X connect 19 0 49 0; #X connect 19 1 4 0; #X connect 20 0 21 0; #X connect 20 1 9 0; #X connect 21 0 0 0; #X connect 22 0 36 0; #X connect 24 0 22 0; #X connect 26 0 40 0; #X connect 28 0 3 0; #X connect 30 0 4 0; #X connect 32 0 5 0; #X connect 34 0 9 0; #X connect 37 0 39 0; #X connect 37 0 38 1; #X connect 38 0 37 0; #X connect 39 0 42 0; #X connect 40 0 38 0; #X connect 41 0 40 0; #X connect 42 0 43 0; #X connect 43 0 44 0; #X connect 44 0 13 0; #X connect 44 1 20 0; #X connect 49 0 0 0;