#N canvas 3 25 992 699 10; #X obj 3 3 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X msg 3 20 \; pd dsp \$1; #N canvas 0 22 450 300 graph2 0; #X array waveform 512 float 0; #X coords 0 1 511 -1 512 201 1; #X restore 202 8 graph; #X obj 66 252 *~ 512; #X obj 66 272 tabread4~ waveform; #X obj 66 232 phasor~ 110; #X obj 233 455 +~; #X obj 233 490 *~ 0.5; #X text 281 491 reduce \, to avoid clipping; #X obj 16 410 vsl 15 101 0 100 0 0 empty empty volume -12 -8 0 12 -262144 -1 -1 5000 1; #X obj 16 516 * 0.1; #X msg 16 535 \$1 50; #X obj 16 555 line~; #X obj 233 604 *~; #X text 258 605 master volume control; #X obj 222 638 dac~; #X obj 85 369 loadbang; #X msg 53 392 50; #X text 5 217 read through the waveform repeatedly 110 times per second ; #X obj 400 399 *~ 512; #X obj 400 419 tabread4~ waveform; #X obj 400 379 phasor~; #X obj 400 266 *~ 512; #X obj 400 286 tabread4~ waveform; #X obj 400 308 *~ 220; #X obj 400 328 +~ 440; #X text 406 365 use the shape as a frequency glide; #X text 572 323 read through the array over twenty seconds \, once per bang; #X text 294 -7 You must first draw a waveform \, using the mouse.; #X text 20 4 Turn DSP on/off; #X obj 233 530 *~; #N canvas 0 0 450 300 graph3 0; #X array envelope 8 float 0; #X coords 0 1 7 0 160 101 1; #X restore 732 506 graph; #X text 257 530 amplitude envelope \, using the envelope shape; #X obj 711 338 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 711 360 metro 2500; #X obj 711 379 f; #X obj 741 417 + 1; #X obj 711 398 t f f; #X obj 699 420 sel 8; #X msg 699 440 0; #X obj 729 440 tabread envelope; #X msg 729 459 \$1 2500; #X obj 729 478 line~; #X msg 85 657 \; envelope 0 1 0.25 0.71 0.06 0.5 0.03 0.13 0; #X obj 400 247 phasor~ 0.125; #X text 247 234 read through the array over eight seconds \, repeatedly ; #X connect 0 0 1 0; #X connect 3 0 4 0; #X connect 4 0 6 0; #X connect 5 0 3 0; #X connect 6 0 7 0; #X connect 7 0 30 0; #X connect 9 0 10 0; #X connect 10 0 11 0; #X connect 11 0 12 0; #X connect 12 0 13 1; #X connect 13 0 15 0; #X connect 13 0 15 1; #X connect 16 0 17 0; #X connect 16 0 43 0; #X connect 17 0 9 0; #X connect 19 0 20 0; #X connect 20 0 6 1; #X connect 21 0 19 0; #X connect 22 0 23 0; #X connect 23 0 24 0; #X connect 24 0 25 0; #X connect 25 0 21 0; #X connect 30 0 13 0; #X connect 33 0 34 0; #X connect 34 0 35 0; #X connect 35 0 37 0; #X connect 36 0 35 1; #X connect 37 0 38 0; #X connect 37 1 36 0; #X connect 38 0 39 0; #X connect 38 1 40 0; #X connect 39 0 35 1; #X connect 39 0 34 0; #X connect 40 0 41 0; #X connect 41 0 42 0; #X connect 42 0 30 1; #X connect 44 0 22 0;