#N canvas 524 503 705 693 10; #X floatatom 20 89 0 0 0 0 - - -; #X obj 20 125 mtof; #X text 49 99 <-- choose a pitch; #X obj 19 326 osc~; #X obj 156 319 osc~; #X obj 349 316 osc~; #X obj 507 323 osc~; #X obj 21 451 +~; #X obj 156 382 +~; #X obj 156 411 +~; #X obj 22 634 dac~; #X obj 53 474 vsl 25 40 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 22 593 *~; #X text 52 597 signal multiplier; #X text 20 652 digital to analog converter; #X text 24 663 audio output; #X text 96 557 smoothing the volume control; #X text 101 512 volume; #X obj 201 237 vsl 25 40 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 199 308 vline~; #X msg 200 286 \$1 50; #X obj 156 344 *~; #X obj 391 245 vsl 25 40 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 389 316 vline~; #X msg 390 294 \$1 50; #X obj 350 342 *~; #X obj 546 252 vsl 25 40 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 544 323 vline~; #X msg 545 301 \$1 50; #X obj 507 347 *~; #X obj 155 240 *~ 2; #X obj 350 245 *~ 3; #X obj 507 251 *~ 4; #X obj 69 256 vsl 25 40 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 67 327 vline~; #X msg 68 305 \$1 50; #X obj 19 362 *~; #X text 54 451 add the overtones; #X obj 18 13 cnv 15 650 40 empty empty ADDITIVE_SYNTHESIS 20 12 0 14 -175625 -66577 0; #X msg 53 418 bang; #X obj 46 552 vline~; #X msg 53 530 \$1 50 \, 0 300 1000; #N canvas 1326 350 499 361 beating 0; #X obj 26 160 +~; #X obj 26 92 +~; #X obj 181 87 +~; #X obj 181 34 osc~ 440; #X obj 26 39 osc~ 330; #X obj 47 63 osc~ 330.2; #X obj 202 57 osc~ 440.33; #X obj 336 84 +~; #X obj 337 34 osc~ 587; #X obj 358 57 osc~ 587.25; #X obj 27 129 +~; #X obj 193 141 vsl 25 40 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 191 212 vline~; #X msg 192 190 \$1 50; #X obj 148 248 *~; #X obj 76 281 dac~; #X connect 0 0 14 0; #X connect 1 0 10 0; #X connect 2 0 10 1; #X connect 3 0 2 0; #X connect 4 0 1 0; #X connect 5 0 1 1; #X connect 6 0 2 1; #X connect 7 0 0 1; #X connect 8 0 7 0; #X connect 9 0 7 1; #X connect 10 0 0 0; #X connect 11 0 13 0; #X connect 12 0 14 1; #X connect 13 0 12 0; #X connect 14 0 15 0; #X connect 14 0 15 1; #X restore 383 437 pd beating - exercise; #N canvas 664 310 500 491 qenv 0; #X obj 37 168 line~; #X obj 148 34 del 1; #X obj 61 -44 inlet; #X obj 33 396 outlet~; #X obj 37 238 *~; #X obj 36 307 *~; #X text 150 264 quartic envelope = x pow 4; #X msg 14 37 0.7 0; #X msg 149 95 0 400; #X connect 0 0 4 0; #X connect 0 0 4 1; #X connect 1 0 8 0; #X connect 2 0 7 0; #X connect 2 0 1 0; #X connect 4 0 5 0; #X connect 4 0 5 1; #X connect 5 0 3 0; #X connect 7 0 0 0; #X connect 8 0 0 0; #X restore 205 514 pd qenv; #X obj 436 587 cnv 15 250 90 empty empty empty 20 12 0 14 -175625 -66577 0; #X text 446 637 Media Lab \, Department of Media; #X text 443 601 Composing With Data Flow Programming; #X text 445 624 SOPI Research Group; #X text 257 516 envelope; #X text 445 649 Aalto University School of ARTS; #X connect 0 0 1 0; #X connect 0 0 39 0; #X connect 1 0 3 0; #X connect 1 0 30 0; #X connect 1 0 31 0; #X connect 1 0 32 0; #X connect 3 0 36 0; #X connect 4 0 21 0; #X connect 5 0 25 0; #X connect 6 0 29 0; #X connect 7 0 12 0; #X connect 8 0 9 0; #X connect 9 0 7 1; #X connect 11 0 41 0; #X connect 12 0 10 1; #X connect 12 0 10 0; #X connect 18 0 20 0; #X connect 19 0 21 1; #X connect 20 0 19 0; #X connect 21 0 8 0; #X connect 22 0 24 0; #X connect 23 0 25 1; #X connect 24 0 23 0; #X connect 25 0 8 1; #X connect 26 0 28 0; #X connect 27 0 29 1; #X connect 28 0 27 0; #X connect 29 0 9 1; #X connect 30 0 4 0; #X connect 31 0 5 0; #X connect 32 0 6 0; #X connect 33 0 35 0; #X connect 34 0 36 1; #X connect 35 0 34 0; #X connect 36 0 7 0; #X connect 39 0 11 0; #X connect 39 0 43 0; #X connect 41 0 40 0; #X connect 43 0 12 1;