#N canvas 147 215 1029 598 10; #X obj 166 376 osc~ 220; #X obj 166 494 *~; #X obj 166 542 dac~; #X obj 264 374 line~; #X text 314 374 outputs a smooth ramp between values; #X text 202 493 multiply to adjust the amplitude of the oscillator ; #X text 38 28 ADSR envelope (attack \, decay \, sustain \, release) ; #X floatatom 294 177 5 0 0; #X floatatom 571 178 5 0 0; #X floatatom 496 201 5 0 1; #X text 345 177 attack time (ms); #X text 621 178 decay time (ms); #X text 562 206 sustain level (0 < x < 1); #X floatatom 869 223 5 0 0; #X text 868 249 release time (ms); #X msg 138 113 bang; #X msg 755 113 bang; #X text 139 90 on; #X text 757 90 off; #X msg 264 239 1; #X text 305 238 attack target; #X obj 138 144 trigger bang bang bang; #X obj 138 217 delay; #X text 19 214 wait before; #X text 20 231 decay portion; #X obj 138 248 send decay; #X obj 496 115 receive decay; #X obj 496 148 trigger bang bang; #X obj 755 143 trigger bang bang; #X msg 755 225 0; #X obj 166 424 *~; #X floatatom 182 464 5 0 1; #X text 204 424 ADSR envelope multiplication (amplitude control); #X text 233 464 volume knob; #X connect 0 0 30 0; #X connect 1 0 2 0; #X connect 1 0 2 1; #X connect 3 0 30 1; #X connect 7 0 3 1; #X connect 7 0 22 1; #X connect 8 0 3 1; #X connect 9 0 3 0; #X connect 13 0 3 1; #X connect 15 0 21 0; #X connect 16 0 28 0; #X connect 19 0 3 0; #X connect 21 0 22 0; #X connect 21 1 19 0; #X connect 21 2 7 0; #X connect 22 0 25 0; #X connect 26 0 27 0; #X connect 27 0 9 0; #X connect 27 1 8 0; #X connect 28 0 29 0; #X connect 28 1 13 0; #X connect 29 0 3 0; #X connect 30 0 1 0; #X connect 31 0 1 1;