#N canvas 59 25 693 514 10; #X obj 112 409 dac~; #N canvas 0 22 474 324 sine1 0; #X obj 35 21 inlet; #X obj 35 345 outlet~; #X obj 35 215 osc~; #X obj 35 173 line~; #X msg 35 128 220 500; #X msg 152 123 330 500; #X obj 35 315 *~; #X obj 51 287 line~; #X msg 339 129 0 900; #X msg 253 122 1 100; #X obj 339 95 delay 100; #X obj 35 96 delay 500; #X text 97 344 send audio out of abstraction; #X text 65 314 gain control on oscillator; #X text 92 287 generate linear ramps for gain control; #X text 77 174 linear ramp to set frequency; #X connect 0 0 11 0; #X connect 0 0 5 0; #X connect 0 0 9 0; #X connect 0 0 10 0; #X connect 2 0 6 0; #X connect 3 0 2 0; #X connect 4 0 3 0; #X connect 5 0 3 0; #X connect 6 0 1 0; #X connect 7 0 6 1; #X connect 8 0 7 0; #X connect 9 0 7 0; #X connect 10 0 8 0; #X connect 11 0 4 0; #X restore 112 294 pd sine1; #N canvas 0 22 466 316 sine2 0; #X obj 25 21 inlet; #X obj 33 391 outlet~; #X obj 35 215 osc~; #X obj 35 173 line~; #X obj 35 315 *~; #X obj 62 278 line~; #X msg 197 245 0 900; #X msg 111 238 1 100; #X obj 25 49 trigger bang bang bang bang; #X obj 31 96 delay 500; #X msg 35 128 400 500; #X msg 114 128 300 500; #X obj 197 211 delay 100; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 0 2 0; #X connect 4 0 1 0; #X connect 5 0 4 1; #X connect 6 0 5 0; #X connect 7 0 5 0; #X connect 8 0 9 0; #X connect 8 1 11 0; #X connect 8 2 12 0; #X connect 8 3 7 0; #X connect 9 0 10 0; #X connect 10 0 3 0; #X connect 11 0 3 0; #X connect 12 0 6 0; #X restore 205 293 pd sine2; #N canvas 0 22 462 312 sine3 0; #X obj 25 21 inlet; #X obj 33 391 outlet~; #X obj 35 215 osc~; #X obj 35 173 line~; #X obj 35 315 *~; #X obj 62 278 line~; #X msg 197 245 0 900; #X msg 111 238 1 100; #X obj 25 49 trigger bang bang bang bang; #X obj 197 211 delay 100; #X obj 31 96 delay 500; #X msg 35 128 500 500; #X msg 114 128 370 500; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 0 2 0; #X connect 4 0 1 0; #X connect 5 0 4 1; #X connect 6 0 5 0; #X connect 7 0 5 0; #X connect 8 0 10 0; #X connect 8 1 12 0; #X connect 8 2 9 0; #X connect 8 3 7 0; #X connect 9 0 6 0; #X connect 10 0 11 0; #X connect 11 0 3 0; #X connect 12 0 3 0; #X restore 297 291 pd sine3; #N canvas 0 22 486 336 sine4 0; #X obj 25 21 inlet; #X obj 33 451 outlet~; #X obj 35 275 osc~; #X obj 35 233 line~; #X obj 35 375 *~; #X obj 62 338 line~; #X msg 197 305 0 900; #X msg 111 298 1 100; #X obj 25 49 trigger bang bang bang bang; #X obj 197 271 delay 100; #X obj 25 79 random 800; #X obj 25 104 + 100; #X obj 35 196 pack; #X obj 25 128 trigger f b; #X msg 84 162 1000; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 0 2 0; #X connect 4 0 1 0; #X connect 5 0 4 1; #X connect 6 0 5 0; #X connect 7 0 5 0; #X connect 8 0 10 0; #X connect 8 2 9 0; #X connect 8 3 7 0; #X connect 9 0 6 0; #X connect 10 0 11 0; #X connect 11 0 13 0; #X connect 12 0 3 0; #X connect 13 0 12 0; #X connect 13 1 14 0; #X connect 14 0 12 1; #X restore 388 291 pd sine4; #X msg 112 184 bang; #X obj 112 379 *~ 0.2; #X obj 112 131 metro 3000; #X msg 112 80 bang; #X msg 153 80 stop; #X obj 261 159 random 1000; #X floatatom 261 180 5 0 0 0 - - -; #X obj 261 199 + 1000; #X floatatom 261 221 5 0 0 0 - - -; #X text 8 4 simple additive synthesizer; #X text 164 379 reduce output gain; #X text 456 292 "pd" objects are abstractions; #X text 385 315 each abstraction contains an oscillator; #X text 386 330 click on them to see their contents...; #X text 9 184 click here to; #X text 10 198 trigger a; #X text 11 213 single event; #X text 7 19 with a little bit of algorithmic composition mixed in.... ; #X text 190 80 start and stop stream of events; #X text 311 201 increase value to 1000 <= x <= 1999; #X text 344 159 generate random value 0 <= x <= 999; #X text 192 124 set next metronome tick to random duration; #X text 148 409 output; #X connect 1 0 6 0; #X connect 2 0 6 0; #X connect 3 0 6 0; #X connect 4 0 6 0; #X connect 5 0 1 0; #X connect 5 0 2 0; #X connect 5 0 3 0; #X connect 5 0 4 0; #X connect 6 0 0 0; #X connect 6 0 0 1; #X connect 7 0 5 0; #X connect 7 0 10 0; #X connect 8 0 7 0; #X connect 9 0 7 0; #X connect 10 0 11 0; #X connect 11 0 12 0; #X connect 12 0 13 0; #X connect 13 0 7 1;