#N canvas 340 73 793 539 12;
#X obj 275 309 *~;
#X floatatom 199 132 0 0 0 0 - - -;
#X obj 293 281 line~;
#X msg 293 225 0.1 100;
#X msg 312 250 0 100;
#X text 364 220 on;
#X text 361 249 off;
#X text 350 278 envelope;
#X text 350 291 generator;
#X text 277 200 amplitude controls:;
#X text 313 340 audio output;
#X text 384 428 see also:;
#X obj 540 429 cos~;
#X obj 589 429 tabread4~;
#X obj 64 14 osc~;
#X text 99 14 - cosine wave oscillator;
#X obj 159 310 metro 500;
#X obj 159 285 r metro;
#X text 111 361 graph the output;
#X obj 470 429 phasor~;
#X msg 537 79 \; metro 0;
#X msg 536 20 \; pd dsp 1 \; metro 1;
#X floatatom 643 250 0 0 0 0 - - -;
#X obj 643 280 sig~;
#X text 528 271 convert to;
#X text 518 287 audio signal;
#X text 524 310 oscillator;
#X text 485 248 frequency control;
#X obj 643 311 osc~;
#X text 62 143 change frequency;
#N canvas 0 50 450 250 (subpatch) 0;
#X array \$0-array 100 float 0;
#X coords 0 -1 100 1 200 100 1;
#X restore 118 402 graph;
#X text 43 49 The osc~ object outputs a cosine wave. If no argument
is supplied \, the input is taken to be an audio signal. With a floating-point
argument \, osc~ takes floating-point messages to change frequency.
;
#X text 516 341 invoked without argument to;
#X text 518 365 specify audio signal input;
#X text 64 129 incoming numbers;
#X obj 199 161 osc~ 1000;
#X text 524 471 updated for Pd version 0.33;
#X text 257 139 v-- messages to right inlet set phase in cycles;
#X obj 112 339 tabwrite~ \$0-array;
#X text 272 161 <= creation argument sets initial frequency;
#X obj 275 340 dac~;
#X text 607 88 <= click to stop;
#X text 613 35 <= click to start;
#X connect 0 0 40 0;
#X connect 0 0 40 1;
#X connect 1 0 35 0;
#X connect 2 0 0 1;
#X connect 3 0 2 0;
#X connect 4 0 2 0;
#X connect 16 0 38 0;
#X connect 17 0 16 0;
#X connect 17 0 16 0;
#X connect 22 0 23 0;
#X connect 23 0 28 0;
#X connect 35 0 0 0;
#X connect 35 0 38 0;
