#N canvas 536 79 567 530 10; #X obj 0 706 cnv 15 552 21 empty empty empty 20 12 0 14 -233017 -33289 0; #X obj 0 339 cnv 3 550 3 empty empty inlets 8 12 0 13 -228856 -1 0 ; #N canvas 589 462 372 220 META 0; #X text 0 18 LICENSE SIBSD; #X text 0 108 LIBRARY cyclone; #X text 0 0 KEYWORDS signal oscillator function generator sine wave ; #X text 0 36 DESCRIPTION table-lookup oscillator or function generator ; #X text 0 54 INLET_0 float signal; #X text 0 72 INLET_1 float signal; #X text 0 90 OUTLET_0 signal; #X text 0 128 VERSION 0.1-alpha57; #X text 0 146 AUTHOR Krzysztof Czaja; #X text 1 164 RELEASE_DATE 2002; #X text 2 183 WEBSITE http://suita.chopin.edu.pl/~czaja/miXed/externs/cyclone.html ; #X text 2 215 HELP_PATCH_AUTHORS Christoph Kummerer. Revised by Jonathan Wilkes for Pd-extended 0.42 to conform to the PDDP template. Alex Cleveland updated this patch for Pd-l2ork version 2013.05.28. Fred Jan Kraan adapted the patch to pd-extended 2015-02-02; #X restore 500 708 pd META; #X obj 0 460 cnv 3 550 3 empty empty outlets 8 12 0 13 -228856 -1 0 ; #X obj 0 497 cnv 3 550 3 empty empty arguments 8 12 0 13 -228856 -1 0; #X obj 0 577 cnv 3 550 3 empty empty more_info 8 12 0 13 -228856 -1 0; #N canvas 302 575 428 109 Related_objects 0; #X obj 0 0 cnv 15 425 20 empty empty empty 3 12 0 14 -204280 -1 0; #X text 6 1 Related Objects; #X restore 207 708 pd Related_objects; #X obj 78 349 cnv 17 3 50 empty empty 0 5 9 0 16 -228856 -162280 0 ; #X obj 78 417 cnv 17 3 33 empty empty 1 5 9 0 16 -228856 -162280 0 ; #X obj 0 0 cnv 15 552 40 empty empty cycle~ 3 12 0 18 -204280 -1 0 ; #X text 12 23 Table-lookup oscillator or function generator; #X text 110 350 float; #X text 110 365 signal; #X obj 78 469 cnv 17 3 17 empty empty 0 5 9 0 16 -228856 -162280 0 ; #X text 110 415 float; #X text 110 430 signal; #X text 110 468 signal; #X text 165 466 - the signal with given frequency or phase; #X text 109 534 buffer; #X obj 504 4 cycle~; #X text 97 598 Symbol argument sets name of table to play from. Additional int argument after that sets sample offset into the table (default 0); #X obj 174 290 output~; #X obj 205 254 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 173 254 *~ 0; #X obj 233 254 *~ 0; #X obj 265 254 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 38 198 cyclone/cycle~ 440; #N canvas 697 319 444 567 more 0; #X msg 49 80 437; #X obj 49 55 loadbang; #X floatatom 49 105 0 0 0 0 - - -; #X msg 49 130 \$1 400; #X obj 49 155 line~; #N canvas 342 552 286 323 generate-buffer~ 0; #X obj 48 38 loadbang; #X obj 2 0 cnv 15 425 20 empty empty empty 3 12 0 14 -204280 -1 0; #X text 5 1 Buffer contents generator; #X msg 93 130 0; #X text 93 57 fill the table; #X obj 54 185 *~; #X obj 123 157 line~; #X obj 48 79 t b b b b; #X obj 54 129 line~; #X obj 54 157 osc~; #X obj 48 219 tabwrite~ \$0-buffsky; #X msg 54 103 880 0 \, 55 250; #X msg 123 130 0.1 0 \, 1 250; #X connect 0 0 7 0; #X connect 3 0 9 1; #X connect 5 0 10 0; #X connect 6 0 5 1; #X connect 7 0 10 0; #X connect 7 1 11 0; #X connect 7 2 3 0; #X connect 7 3 12 0; #X connect 8 0 9 0; #X connect 9 0 5 0; #X connect 11 0 8 0; #X connect 12 0 6 0; #X restore 284 289 pd generate-buffer~; #X obj 139 285 output~; #X obj 170 250 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 138 249 *~ 0; #X obj 198 249 *~ 0; #X obj 230 250 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 49 191 cyclone/cycle~; #X obj 2 3 cnv 15 425 20 empty empty empty 3 12 0 14 -204280 -1 0; #X text 5 4 Frequency input and using a lookup table; #X text 44 32 frequency input; #X text 240 33 scroll through buffer; #X obj 284 310 table \$0-buffsky 10240; #X obj 283 93 f \$0; #X obj 244 94 f \$0; #X obj 283 55 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 244 55 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 244 191 cyclone/cycle~ 110 \$0-buffsky; #N canvas 0 50 450 250 (subpatch) 0; #X array \$0-output 512 float 2; #X coords 0 1 512 -1 410 140 1 0 0; #X restore 9 416 graph; #X obj 261 249 tabwrite~ \$0-output; #X obj 283 73 t b b; #X obj 244 74 t b b; #X msg 283 116 set \$1-buffsky 0; #X msg 244 139 set \$1-buffsky 9150; #X connect 0 0 2 0; #X connect 1 0 0 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 4 0 11 0; #X connect 7 0 8 1; #X connect 8 0 6 0; #X connect 8 0 6 1; #X connect 9 0 6 0; #X connect 9 0 6 1; #X connect 10 0 9 1; #X connect 11 0 8 0; #X connect 17 0 26 0; #X connect 18 0 27 0; #X connect 19 0 24 0; #X connect 20 0 25 0; #X connect 21 0 9 0; #X connect 21 0 23 0; #X connect 24 0 17 0; #X connect 24 1 23 0; #X connect 25 0 18 0; #X connect 25 1 23 0; #X connect 26 0 21 0; #X connect 27 0 21 0; #X restore 427 314 pd more examples; #X text 108 516 float; #X text 108 553 float; #X text 14 52 cycle~ uses a stored table of 512 samples to generate functions. By default it uses a sine wave \, but you can give it a wavetable stored in an array or table.; #X text 27 108 basic usage internal cos table; #X obj 305 197 cyclone/cycle~ 440; #X text 296 107 phase modulation; #X text 110 383 set s f; #X text 166 381 - set array and offset within array; #X text 166 355 - scan frequency; #X text 165 516 - default frequency; #X obj 404 73 cnv 15 120 95 empty empty empty 20 12 0 14 -166433 -66577 0; #X obj 411 114 osc~; #X obj 411 136 *~; #X msg 474 117 \$1 10; #X obj 474 137 line~; #X obj 305 147 nbx 4 14 0 10000 0 1 empty frequency Frequency 0 -8 0 10 -232576 -1 -1 369 256; #X obj 411 93 nbx 4 14 0 1000 0 1 empty moduladora Frequency 0 -8 0 10 -204800 -1 -1 4 256; #X obj 474 94 nbx 4 14 0 10 0 1 empty indice Depth 0 -8 0 10 -204786 -1 -1 5 256; #X text 404 55 Modulation; #X text 165 421 - phase input; #X text 97 643 When used with an external array or table \, the cycle~ object attempts to read 512 samples. If not enough samples are available \, due to a too slall array or a to great offset \, the remainder is filled with zero.; #X text 165 534 - can give function stored in buffer object (array \, table); #X text 165 553 - set offset within the external array; #X connect 22 0 23 1; #X connect 23 0 21 0; #X connect 23 0 21 1; #X connect 24 0 21 0; #X connect 24 0 21 1; #X connect 25 0 24 1; #X connect 26 0 23 0; #X connect 32 0 24 0; #X connect 39 0 40 0; #X connect 40 0 32 1; #X connect 41 0 42 0; #X connect 42 0 40 1; #X connect 43 0 32 0; #X connect 44 0 39 0; #X connect 45 0 41 0;