#N canvas 684 291 916 735 10; #X obj 422 317 vline~; #X obj 422 609 *~; #X obj 441 570 osc~ 440; #X obj 422 631 *~ 0.5; #X obj 422 673 dac~; #X obj 465 33 r attack-time; #X msg 422 85 1; #X obj 492 54 r sustain-time; #X obj 519 76 r decay-time; #X obj 422 117 pack f f f f; #X obj 422 153 unpack f f f f; #X obj 470 191 +; #X obj 422 230 pack f f f f; #X msg 422 265 0 \, \$1 \$2 \, 0 \$4 \$3; #X obj 304 18 r control-change; #X obj 304 47 bang; #X obj 57 105 control sustain-time 0 1000; #X obj 57 65 control attack-time 0 1000; #X obj 57 145 control decay-time 0 1000; #N canvas 0 50 450 250 (subpatch) 0; #X array wave 44100 float 2; #X coords 0 1 44100 -1 200 140 1 0 0; #X restore 57 561 graph; #X obj 305 674 tabwrite~ wave; #X obj 59 16 bng 32 250 50 0 control-change control-change empty 17 7 0 10 -262144 -1 -1; #X obj 441 368 r frequency; #X obj 57 195 control frequency 50 5000; #N canvas 65 81 450 250 (subpatch) 0; #X array waveform 38 float 2; #X coords 0 1 38 -1 200 140 1 0 0; #X restore 57 401 graph; #X obj 548 518 r control-change; #X obj 548 547 t b b; #X obj 662 564 f; #X obj 662 594 array size waveform; #X obj 548 625 tabwrite~ waveform; #X obj 698 509 samplerate~; #X obj 698 483 loadbang; #X obj 680 537 *; #X obj 680 434 swap 1; #X obj 680 456 /; #X msg 494 547 0.25; #X connect 0 0 1 0; #X connect 1 0 3 0; #X connect 1 0 20 0; #X connect 2 0 1 1; #X connect 2 0 29 0; #X connect 3 0 4 0; #X connect 3 0 4 1; #X connect 5 0 9 1; #X connect 6 0 9 0; #X connect 7 0 9 2; #X connect 8 0 9 3; #X connect 9 0 10 0; #X connect 10 0 12 0; #X connect 10 1 11 0; #X connect 10 1 12 1; #X connect 10 2 11 1; #X connect 10 3 12 3; #X connect 11 0 12 2; #X connect 12 0 13 0; #X connect 13 0 0 0; #X connect 14 0 15 0; #X connect 15 0 6 0; #X connect 15 0 20 0; #X connect 22 0 2 0; #X connect 22 0 33 0; #X connect 25 0 26 0; #X connect 25 0 35 0; #X connect 26 0 29 0; #X connect 26 1 27 0; #X connect 27 0 28 0; #X connect 30 0 32 1; #X connect 31 0 30 0; #X connect 32 0 27 1; #X connect 33 0 34 0; #X connect 33 1 34 1; #X connect 34 0 32 0; #X connect 35 0 2 1;