#N canvas 787 60 588 575 12;
#N canvas 0 22 450 278 (subpatch) 0;
#X array phasor 4410 float 0;
#X coords 0 1 4409 -1 200 100 1 0 0;
#X restore 85 432 graph;
#X floatatom 75 220 0 -100 100 0 - - - 0;
#X obj 69 16 phasor~;
#X text 369 435 see also:;
#X obj 368 462 osc~;
#X obj 411 462 cos~;
#X obj 453 462 tabread4~;
#X text 351 509 updated for Pd version 0.33;
#X text 201 375 <= graph the output;
#X text 176 242 <= right inlet resets phase, f 14;
#X text 104 218 <= specify frequency;
#X text 137 17 - phase ramp generator;
#X msg 142 247 0;
#X obj 95 347 metro 100;
#X obj 75 274 phasor~ 10;
#X text 41 56 The phasor~ object outputs phase ramps whose values are
from 0 to 1 and it repeats this cycle depending on the frequency input.
It looks like a sawtooth signal but it's traditionally used for table
lookup via cos~ or tabread4~. The frequency input can be either a float
or a signal. Positive frequency values generate upwards ramps and negative
values generate downwards ramps., f 69;
#X msg 108 247 0.5;
#X text 42 149 The right inlet resets the phase with values from 0
to 1 (where '1' is the same as '0' and '0.5' is half the cycle).,
f 69;
#X text 61 524 -1;
#X text 68 479 0;
#X text 69 425 1;
#X obj 75 373 tabwrite~ phasor;
#X obj 264 331 phasor~;
#X obj 264 302 sig~ 440;
#X text 335 318 <= signal controlling;
#X text 358 335 the frequency;
#X obj 95 316 loadbang;
#X msg 324 237 \; pd dsp \$1;
#X obj 324 212 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000 0 1;
#X text 344 211 DSP on/off;
#X connect 1 0 14 0;
#X connect 12 0 14 1;
#X connect 13 0 21 0;
#X connect 14 0 21 0;
#X connect 16 0 14 1;
#X connect 23 0 22 0;
#X connect 26 0 13 0;
#X connect 28 0 27 0;
