#N canvas 1205 151 951 466 10; #X declare -lib cyclone; #X text 18 -22 Table-lookup oscillator or function generator; #X floatatom 633 242 0 0 0 0 - - -; #X obj 610 170 loadbang; #X msg 610 190 22.5; #X text 609 104 4 Using your function; #X obj 610 261 *~ 0; #X obj 610 216 cycle~ buffsky; #X msg 403 96 437; #X obj 403 73 loadbang; #X obj 22 240 *~ 0.2; #X obj 22 197 cycle~ 440; #X obj 403 248 *~ 0.2; #X floatatom 403 129 0 0 0 0 - - -; #X msg 403 157 \$1 400; #X obj 403 182 line~; #X obj 403 214 cycle~; #X obj 212 331 dac~; #X obj 118 240 *~ 0.2; #X obj 152 170 phasor~ 660; #X obj 118 204 cycle~; #X text 21 11 cycle~ uses a stored table of 512 samples to generate functions. By default it uses a sine wave \, but you can give it a function stored in a buffer~ object.; #X text 9 107 frequency input (float or signal); #X text 153 145 phase input (float or signal); #X text 153 126 2 Driven by phase only (frequency is 0):; #X text 12 93 1 argument sets frequency (default 0); #N canvas 1988 576 183 228 generate-buffer~ 0; #X obj 40 30 loadbang; #N canvas 50 40 152 265 sawtooth 0; #X obj 80 145 - 2; #X obj 80 120 * 2; #X obj 22 119 * 2; #X obj 22 95 split 0 0.5; #X obj 22 59 / 512; #X obj 22 33 inlet; #X obj 22 208 outlet; #X connect 0 0 6 0; #X connect 1 0 0 0; #X connect 2 0 6 0; #X connect 3 0 2 0; #X connect 3 1 1 0; #X connect 4 0 3 0; #X connect 5 0 4 0; #X restore 80 120 pd sawtooth; #X obj 40 143 pack 0 0; #X obj 40 98 t f f; #X obj 40 76 line 0 1; #X msg 40 56 0 \, 512 512; #X obj 40 164 peek~ buffsky; #X connect 0 0 5 0; #X connect 1 0 2 1; #X connect 2 0 6 0; #X connect 3 0 2 0; #X connect 3 1 1 0; #X connect 4 0 3 0; #X connect 5 0 4 0; #X restore 609 123 pd generate-buffer~; #X text 673 243 listen?; #X obj 555 15 import cyclone; #X obj 609 144 table buffsky 512; #X text 432 127 3 Using frequency input; #X text 308 338 Symbol argument sets name of table to play from. Additional int argument after that sets sample offset into the table (default 0); #X connect 1 0 5 1; #X connect 2 0 3 0; #X connect 3 0 6 0; #X connect 5 0 16 1; #X connect 6 0 5 0; #X connect 7 0 12 0; #X connect 8 0 7 0; #X connect 9 0 16 0; #X connect 10 0 9 0; #X connect 11 0 16 1; #X connect 12 0 13 0; #X connect 13 0 14 0; #X connect 14 0 15 0; #X connect 15 0 11 0; #X connect 17 0 16 0; #X connect 18 0 19 1; #X connect 19 0 17 0;