diff options
Diffstat (limited to 'doc/help')
62 files changed, 2820 insertions, 73 deletions
diff --git a/doc/help/cyclone/Clip-help.pd b/doc/help/cyclone/Clip-help.pd index ac85e38..753cfd2 100644 --- a/doc/help/cyclone/Clip-help.pd +++ b/doc/help/cyclone/Clip-help.pd @@ -1,36 +1,25 @@ -#N canvas 135 111 437 358 10; -#X text 17 308 docs based on the MAX/MSP reference (c) cycling'74; -#X text 16 322 ___________________________________________________ +#N canvas 1354 293 542 335 10; +#X declare -lib cyclone; +#X text 15 35 Constrains an int \, float or list within a certain range ; -#X floatatom 38 182 5 0 0 0 - - -; -#X obj 36 18 Clip min max; -#X text 137 20 limit numbers in a range; -#X floatatom 67 109 5 0 0 0 - - -; -#X floatatom 96 136 5 0 0 0 - - -; -#X text 114 109 lower limit; -#X text 140 134 upper limit; -#X text 111 160 creation args set min/max; -#X floatatom 38 79 5 0 0 0 - - -; -#X obj 128 177 unpack f f f f f f; -#X floatatom 128 198 5 0 0 0 - - -; -#X floatatom 152 217 5 0 0 0 - - -; -#X floatatom 176 237 5 0 0 0 - - -; -#X floatatom 200 218 5 0 0 0 - - -; -#X floatatom 224 200 5 0 0 0 - - -; -#X floatatom 249 218 5 0 0 0 - - -; -#X text 218 71 in a list each value is clipped \,; -#X text 218 83 the result is sent out as a list; -#X msg 105 76 1 2 3 4 -10 5 6; -#X obj 38 160 Clip 0 10; -#X connect 5 0 21 1; -#X connect 6 0 21 2; -#X connect 10 0 21 0; -#X connect 11 0 12 0; -#X connect 11 1 13 0; -#X connect 11 2 14 0; -#X connect 11 3 15 0; -#X connect 11 4 16 0; -#X connect 11 5 17 0; -#X connect 20 0 21 0; -#X connect 21 0 2 0; -#X connect 21 0 11 0; +#X floatatom 312 116 0 0 0 0 - - -; +#X floatatom 190 116 0 0 0 0 - - -; +#X text 322 138 set max (int or float); +#X floatatom 26 82 0 0 0 0 - - -; +#X msg 106 64 0 20 40 60 80 100 120; +#X msg 118 97 set 100 200; +#X floatatom 68 81 0 0 0 0 - - -; +#X obj 68 183 print; +#X text 126 184 Optional arguments set the range. Default is 0 \, 0 +; +#X text 187 98 changes the clipping range; +#X text 201 138 set min (int or float); +#X obj 380 6 import cyclone; +#X obj 68 153 Clip 10 50; +#X connect 1 0 13 2; +#X connect 2 0 13 1; +#X connect 4 0 13 0; +#X connect 5 0 13 0; +#X connect 6 0 13 0; +#X connect 7 0 13 0; +#X connect 13 0 8 0; diff --git a/doc/help/cyclone/Snapshot~-help.pd b/doc/help/cyclone/Snapshot~-help.pd new file mode 100644 index 0000000..b8e1860 --- /dev/null +++ b/doc/help/cyclone/Snapshot~-help.pd @@ -0,0 +1,45 @@ +#N canvas 147 184 829 453 10; +#X declare -lib cyclone; +#X text 23 19 Report sample values from a signal; +#X floatatom 281 196 0 0 0 0 - - -; +#X msg 281 217 offset \$1; +#X obj 164 147 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 493 234 100; +#X msg 468 234 20; +#X obj 34 136 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X msg 217 147 stop; +#X msg 182 147 start; +#X floatatom 39 319 0 0 0 0 - - -; +#X floatatom 468 255 0 0 0 0 - - -; +#X obj 64 139 cycle~ 440; +#X text 522 247 interval (for self-clocking); +#X text 466 190 change to a value above 0 for self-clocking reports +of signal values; +#X text 48 302 float signal value out; +#X text 178 304 Optional arguments set self-clocking interval (default +0--clock off) and sample offset within a vector (default 0).; +#X text 81 379 Snapshot~'s internal clock runs only when the audio +is on.; +#X text 154 116 turn clock on/off (by default \, the clock will be +on if a non-zero interval is supplied); +#X text 21 38 when it receives a bang \, snapshot~ outputs a value +from the most recent signal vector.; +#X text 301 150 change offset within vector of sample output. range +is from 0 (least recent \, default) to the signal vector size - 1 (most +recent); +#X obj 535 28 import cyclone; +#X obj 38 283 Snapshot~ 100; +#X text 23 119 trigger an output; +#X connect 1 0 2 0; +#X connect 2 0 21 0; +#X connect 3 0 21 0; +#X connect 4 0 10 0; +#X connect 5 0 10 0; +#X connect 6 0 21 0; +#X connect 7 0 21 0; +#X connect 8 0 21 0; +#X connect 10 0 21 1; +#X connect 11 0 21 0; +#X connect 21 0 9 0; diff --git a/doc/help/cyclone/Table-help.pd b/doc/help/cyclone/Table-help.pd new file mode 100644 index 0000000..5892d80 --- /dev/null +++ b/doc/help/cyclone/Table-help.pd @@ -0,0 +1,55 @@ +#N canvas 1445 138 682 329 10; +#X declare -lib cyclone; +#X text 24 24 Store and graphically edit an array of numbers; +#X obj 19 143 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X text 104 62 store; +#X text 0 127 random; +#X msg 195 170 quantile \$1; +#X msg 30 62 open; +#X msg 103 170 \$1 \$1; +#X obj 103 78 vsl 15 80 0 79 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 3600 1; +#X obj 73 78 vsl 15 80 0 79 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 3400 1; +#X msg 150 170 inv \$1; +#X text 69 62 read; +#X obj 150 78 vsl 15 80 0 79 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X text 145 62 inv read; +#X floatatom 73 229 0 0 0 0 - - -; +#X obj 112 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 195 153 0 0 0 0 - - -; +#X obj 195 134 << 9; +#X obj 195 60 vsl 15 65 0 64 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X text 211 57 read quantile; +#X text 130 224 The right outlet sends a bang when the table has been +changed by editing with the mouse; +#X text 56 255 You may name the table with an argument. Many boxes +may share the same table by using the same name. If there is a file +by that name it will be read into the table if possible.; +#X msg 29 86 sum; +#X msg 29 107 length; +#X text 291 108 You can close the table window by clicking its close +box \, and reopen it by double-clicking the "table" box or sending +it the open message.; +#X obj 396 53 import cyclone; +#X obj 74 201 Table; +#C restore; +#X connect 1 0 25 0; +#X connect 4 0 25 0; +#X connect 5 0 25 0; +#X connect 6 0 25 0; +#X connect 7 0 6 0; +#X connect 8 0 25 0; +#X connect 9 0 25 0; +#X connect 11 0 9 0; +#X connect 15 0 4 0; +#X connect 16 0 15 0; +#X connect 17 0 16 0; +#X connect 21 0 25 0; +#X connect 22 0 25 0; +#X connect 25 0 13 0; +#X connect 25 1 14 0; diff --git a/doc/help/cyclone/abs~-help.pd b/doc/help/cyclone/abs~-help.pd new file mode 100644 index 0000000..f8e9892 --- /dev/null +++ b/doc/help/cyclone/abs~-help.pd @@ -0,0 +1,34 @@ +#N canvas 26 158 798 481 10; +#X declare -lib cyclone; +#X text 15 35 Absolute value of a signal; +#X obj 323 215 *~ 0.2; +#X obj 323 193 *~; +#X obj 394 165 abs~; +#X text -65 208 no arguments; +#X text 0 388 absolute value of sine wave; +#X obj 20 206 abs~; +#X text 178 388 original sine wave; +#X obj 323 257 dac~; +#X text 14 63 The abs~ object converts negative signal values to their +corresponding positive values. This can be used for a rough instantaneous +measure of signal amplitude \, among other things.; +#X text 367 197 Signal multiplication where the modulator wave is limited +to a positive range produces amplitude modulation (as opposed to ring +modulation).; +#X obj 533 32 import cyclone; +#X obj 443 136 cycle~ 220; +#X obj 317 137 cycle~ 200; +#X obj 20 250 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 162 250 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 20 160 cycle~ 1; +#X connect 1 0 8 0; +#X connect 1 0 8 1; +#X connect 2 0 1 0; +#X connect 3 0 2 1; +#X connect 6 0 14 0; +#X connect 12 0 3 0; +#X connect 13 0 2 0; +#X connect 16 0 6 0; +#X connect 16 0 15 0; diff --git a/doc/help/cyclone/acos-help.pd b/doc/help/cyclone/acos-help.pd index 0788a00..6763ebe 100644 --- a/doc/help/cyclone/acos-help.pd +++ b/doc/help/cyclone/acos-help.pd @@ -1,19 +1,16 @@ -#N canvas 217 155 421 323 10; -#X obj 4 4 cnv 15 400 40 empty empty empty 20 12 0 14 -262130 -66577 0; -#X text 21 278 docs based on the MAX/MSP reference (c) cycling'74 -; -#X text 20 292 ___________________________________________________ ; -#X obj 41 22 acos 4; -#X text 98 24 calculate arc cosine function; -#X floatatom 46 216 8 0 0 0 - - -; -#X msg 46 83 bang; -#X obj 46 183 acos 0.2; -#X obj 67 152 / 100; -#X floatatom 67 132 5 0 0 0 - - -; -#X text 96 84 output acos of current val; -#X text 121 130 calculate and output acos; -#X text 123 185 arg sets initial value; -#X connect 6 0 7 0; -#X connect 7 0 5 0; -#X connect 8 0 7 0; -#X connect 9 0 8 0; +#N canvas 1253 344 435 229 10; +#X declare -lib cyclone; +#X text 15 35 Arccosine(x); +#X obj 189 69 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X floatatom 189 145 0 0 0 0 - - -; +#X floatatom 84 145 0 0 0 0 - - -; +#X floatatom 84 69 0 0 0 0 - - -; +#X text 259 96 optional arg; +#X obj 290 12 import cyclone; +#X obj 84 100 acos; +#X obj 189 100 acos 0.5; +#X connect 1 0 8 0; +#X connect 4 0 7 0; +#X connect 7 0 3 0; +#X connect 8 0 2 0; diff --git a/doc/help/cyclone/acosh~-help.pd b/doc/help/cyclone/acosh~-help.pd new file mode 100644 index 0000000..da908c4 --- /dev/null +++ b/doc/help/cyclone/acosh~-help.pd @@ -0,0 +1,32 @@ +#N canvas 1194 277 635 410 10; +#X declare -lib cyclone; +#X text 239 79 this is probably only useful for mathematical calculations +; +#X msg 222 136 range 0 2; +#X obj 147 110 +~ 1; +#X obj 147 87 *~ 2; +#X obj 147 65 phasor~ 2; +#X text 15 35 Arc Hyperbolic cosine function (acosh(x)) for signals +; +#X obj 15 93 +~ 2; +#X obj 15 64 cycle~ 2; +#X text 49 90 input values must be greater than 1; +#X text 18 316 very expensive windowing?; +#X obj 15 162 Scope~ 130 130 256 3 128 0 2 0 0 0 0 102 255 51 135 135 +135 0; +#X obj 440 35 import cyclone; +#X obj 156 166 Scope~ 130 130 256 3 128 0 2 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 146 134 acosh~; +#X obj 15 124 acosh~; +#X obj 226 114 loadbang; +#X connect 1 0 10 0; +#X connect 1 0 12 0; +#X connect 2 0 13 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X connect 6 0 14 0; +#X connect 7 0 6 0; +#X connect 13 0 12 0; +#X connect 14 0 10 0; +#X connect 15 0 1 0; diff --git a/doc/help/cyclone/acos~-help.pd b/doc/help/cyclone/acos~-help.pd new file mode 100644 index 0000000..1270a12 --- /dev/null +++ b/doc/help/cyclone/acos~-help.pd @@ -0,0 +1,61 @@ +#N canvas 1129 269 809 467 10; +#X declare -lib cyclone; +#X declare -lib zexy; +#X text 17 371 input signal values outside the -1 to 1 range cause +acos~ to output the value zero; +#X text 8 357 outputs signal from 0 to pi when input is -1 to 1; +#X obj 545 228 -~ 1.5708; +#X text 396 73 select waveform:; +#X text 408 116 sawtooth; +#X text 425 154 triangle; +#X msg 469 152 2; +#X msg 457 126 1; +#X msg 462 93 0; +#X text 138 68 or create a sawtooth wave using phasor; +#X obj 545 271 *~ 0.2; +#X obj 545 249 /~ 1.5708; +#X obj 669 156 cycle~ 130; +#X obj 576 157 -~ 1; +#X obj 576 135 *~ 2; +#X obj 576 113 phasor~ 130; +#X obj 15 137 cycle~ 2; +#X msg 196 177 range 0 3.14159; +#X obj 147 138 -~ 1; +#X text 15 35 Arc-cosine function (acos(x)) for signals; +#X obj 147 115 *~ 2; +#X obj 147 93 phasor~ 2; +#X obj 545 308 dac~; +#X text 1 49 turn a sine wave into a triangle wave:; +#X text 437 98 off; +#X text 582 201 outputs signal from 0 to pi; +#X obj 574 17 import cyclone; +#X obj 676 17 import zexy; +#X obj 14 203 Scope~ 130 130 256 3 128 0 3.14159 0 0 0 0 102 255 51 +135 135 135 0; +#X obj 157 205 Scope~ 130 130 256 3 128 0 3.14159 0 0 0 0 102 255 51 +135 135 135 0; +#X obj 15 168 acos~; +#X obj 146 168 acos~; +#X obj 545 180 zexy/multiplex~ 0 1 2; +#X obj 545 202 acos~; +#X connect 2 0 11 0; +#X connect 6 0 32 0; +#X connect 7 0 32 0; +#X connect 8 0 32 0; +#X connect 10 0 22 0; +#X connect 10 0 22 1; +#X connect 11 0 10 0; +#X connect 12 0 32 2; +#X connect 13 0 32 1; +#X connect 14 0 13 0; +#X connect 15 0 14 0; +#X connect 16 0 30 0; +#X connect 17 0 28 0; +#X connect 17 0 29 0; +#X connect 18 0 31 0; +#X connect 20 0 18 0; +#X connect 21 0 20 0; +#X connect 30 0 28 0; +#X connect 31 0 29 0; +#X connect 32 0 33 0; +#X connect 33 0 2 0; diff --git a/doc/help/cyclone/asin-help.pd b/doc/help/cyclone/asin-help.pd index 580f1df..7219cc4 100644 --- a/doc/help/cyclone/asin-help.pd +++ b/doc/help/cyclone/asin-help.pd @@ -1,19 +1,16 @@ -#N canvas 217 155 421 323 10; -#X obj 4 4 cnv 15 400 40 empty empty empty 20 12 0 14 -262130 -66577 0; -#X text 21 278 docs based on the MAX/MSP reference (c) cycling'74 -; -#X text 20 292 ___________________________________________________ ; -#X floatatom 46 216 8 0 0 0 - - -; -#X msg 46 83 bang; -#X obj 67 152 / 100; -#X floatatom 67 132 5 0 0 0 - - -; -#X text 123 185 arg sets initial value; -#X obj 41 22 asin 0.2; -#X text 108 24 calculate arc sine function; -#X obj 46 183 asin 0.2; -#X text 96 84 output acsin of current val; -#X text 121 130 calculate and output asin; -#X connect 4 0 10 0; -#X connect 5 0 10 0; -#X connect 6 0 5 0; -#X connect 10 0 3 0; +#N canvas 1255 431 632 315 10; +#X declare -lib cyclone; +#X text 15 35 Arcsine(x); +#X obj 198 84 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X floatatom 198 160 0 0 0 0 - - -; +#X floatatom 93 160 0 0 0 0 - - -; +#X floatatom 93 84 0 0 0 0 - - -; +#X text 264 117 optional arg; +#X obj 405 27 import cyclone; +#X obj 93 115 asin; +#X obj 198 115 asin 0.5; +#X connect 1 0 8 0; +#X connect 4 0 7 0; +#X connect 7 0 3 0; +#X connect 8 0 2 0; diff --git a/doc/help/cyclone/asinh-help.pd b/doc/help/cyclone/asinh-help.pd new file mode 100644 index 0000000..8d4099f --- /dev/null +++ b/doc/help/cyclone/asinh-help.pd @@ -0,0 +1,27 @@ +#N canvas 1207 202 773 474 10; +#X declare -lib cyclone; +#X text 254 93 this is probably only useful for mathematical calculations +; +#X obj 18 90 cycle~ 2; +#X obj 18 121 *~ 3.14159; +#X msg 223 149 range -2 2; +#X obj 150 123 -~ 3.14159; +#X text 15 35 Arc Hyperbolic sine function (asinh(x)) for signals; +#X obj 150 100 *~ 6.28319; +#X obj 150 78 phasor~ 2; +#X obj 18 175 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 165 180 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 425 48 import cyclone; +#X obj 18 147 asinh~; +#X obj 149 147 asinh~; +#X connect 1 0 2 0; +#X connect 2 0 11 0; +#X connect 3 0 8 0; +#X connect 3 0 9 0; +#X connect 4 0 12 0; +#X connect 6 0 4 0; +#X connect 7 0 6 0; +#X connect 11 0 8 0; +#X connect 12 0 9 0; diff --git a/doc/help/cyclone/asin~-help.pd b/doc/help/cyclone/asin~-help.pd new file mode 100644 index 0000000..3f4b19d --- /dev/null +++ b/doc/help/cyclone/asin~-help.pd @@ -0,0 +1,57 @@ +#N canvas 1150 213 841 500 10; +#X declare -lib cyclone; +#X declare -lib zexy; +#X text 331 60 select waveform:; +#X text 348 94 sawtooth; +#X text 354 113 triangle; +#X obj 465 222 *~ 0.2; +#X obj 465 200 /~ 1.5708; +#X obj 456 96 cycle~ 130; +#X obj 548 106 -~ 1; +#X obj 548 84 *~ 2; +#X obj 548 62 phasor~ 130; +#X obj 465 269 dac~; +#X text 499 172 outputs signal from -pi/2 to pi/2; +#X text 30 366 outputs signal from -pi/2 to pi/2 when input is -1 to +1; +#X text 177 397 or create a sawtooth wave using phasor; +#X obj 18 120 cycle~ 2; +#X msg 199 147 range -1.5708 1.5708; +#X obj 150 121 -~ 1; +#X obj 150 98 *~ 2; +#X obj 150 76 phasor~ 2; +#X text 11 50 turn a sine wave into a triangle wave:; +#X text 15 20 Arc-sine function (asin(x)) for signals; +#X obj 531 8 import cyclone; +#X msg 398 93 0; +#X msg 398 111 1; +#X obj 624 6 import zexy; +#X obj 465 131 zexy/multiplex~; +#X obj 464 164 asin~; +#X text 28 384 input signal values outside the -1 to 1 range cause +asin~ to output the value zero; +#X obj 18 205 Scope~ 130 130 256 3 128 -1.5708 1.5708 0 0 0 0 102 255 +51 135 135 135 0; +#X obj 169 211 Scope~ 130 130 256 3 128 -1.5708 1.5708 0 0 0 0 102 +255 51 135 135 135 0; +#X obj 18 145 asin~; +#X obj 149 145 asin~; +#X connect 3 0 9 0; +#X connect 3 0 9 1; +#X connect 4 0 3 0; +#X connect 5 0 24 0; +#X connect 6 0 24 1; +#X connect 7 0 6 0; +#X connect 8 0 7 0; +#X connect 13 0 29 0; +#X connect 14 0 27 0; +#X connect 14 0 28 0; +#X connect 15 0 30 0; +#X connect 16 0 15 0; +#X connect 17 0 16 0; +#X connect 21 0 24 0; +#X connect 22 0 24 0; +#X connect 24 0 25 0; +#X connect 25 0 4 0; +#X connect 29 0 27 0; +#X connect 30 0 28 0; diff --git a/doc/help/cyclone/atan2~-help.pd b/doc/help/cyclone/atan2~-help.pd new file mode 100644 index 0000000..98fc14f --- /dev/null +++ b/doc/help/cyclone/atan2~-help.pd @@ -0,0 +1,5 @@ +#N canvas 313 447 437 169 10; +#X declare -lib cyclone; +#X text 15 35 Standard C function for arctan(y/x); +#X obj 254 33 import cyclone; +#X obj 80 85 atan2~; diff --git a/doc/help/cyclone/atanh~-help.pd b/doc/help/cyclone/atanh~-help.pd new file mode 100644 index 0000000..6a9ffea --- /dev/null +++ b/doc/help/cyclone/atanh~-help.pd @@ -0,0 +1,30 @@ +#N canvas 1309 377 616 409 10; +#X declare -lib cyclone; +#X text 6 315 input values should be constrained between -1 and 1; +#X text 236 97 this is probably only useful for mathematical calculations +; +#X obj 28 109 *~ 0.999; +#X obj 28 86 cycle~ 2; +#X msg 215 138 range -3.14159 3.14159; +#X obj 160 112 -~ 0.999; +#X obj 160 89 *~ 2; +#X obj 160 67 phasor~ 2; +#X text 16 35 Arc Hyperbolic tangent function (atanh(x)) for signals +; +#X text 22 330 Note: asymptotic to infinity around -1 and 1; +#X obj 388 40 import cyclone; +#X obj 26 164 Scope~ 130 130 256 3 128 -3.14159 3.14159 0 0 0 0 102 +255 51 135 135 135 0; +#X obj 171 168 Scope~ 130 130 256 3 128 -3.14159 3.14159 0 0 0 0 102 +255 51 135 135 135 0; +#X obj 28 136 atanh~; +#X obj 159 136 atanh~; +#X connect 2 0 13 0; +#X connect 3 0 2 0; +#X connect 4 0 11 0; +#X connect 4 0 12 0; +#X connect 5 0 14 0; +#X connect 6 0 5 0; +#X connect 7 0 6 0; +#X connect 13 0 11 0; +#X connect 14 0 12 0; diff --git a/doc/help/cyclone/atan~-help.pd b/doc/help/cyclone/atan~-help.pd new file mode 100644 index 0000000..1e89b62 --- /dev/null +++ b/doc/help/cyclone/atan~-help.pd @@ -0,0 +1,26 @@ +#N canvas 1261 324 676 427 10; +#X declare -lib cyclone; +#X obj 28 86 cycle~ 2; +#X obj 28 111 *~ 3.14159; +#X msg 231 138 range -1.57 1.57; +#X obj 160 112 -~ 3.14195; +#X obj 160 89 *~ 6.28319; +#X obj 160 67 phasor~ 2; +#X text 16 35 Arc-tangent function (atan(x)) for signals; +#X text 284 68 see atan2~ for the 2-inlet version: atan(y/x); +#X obj 336 5 import cyclone; +#X obj 28 136 atan~; +#X obj 158 136 atan~; +#X obj 27 167 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 169 169 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X connect 0 0 1 0; +#X connect 1 0 9 0; +#X connect 2 0 11 0; +#X connect 2 0 12 0; +#X connect 3 0 10 0; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 9 0 11 0; +#X connect 10 0 12 0; diff --git a/doc/help/cyclone/average~-help.pd b/doc/help/cyclone/average~-help.pd new file mode 100644 index 0000000..1e3de3b --- /dev/null +++ b/doc/help/cyclone/average~-help.pd @@ -0,0 +1,41 @@ +#N canvas 47 36 645 632 10; +#X declare -lib cyclone; +#X text 29 515 rms--computes the square root of the average of the +sample values squared.; +#X text 29 490 absolute--averages the absolute values of the samples. +; +#X text 29 476 bipolar--averages the sample values.; +#X text 15 35 reports various forms of average value of signal; +#X obj 202 71 cycle~ 2; +#X obj 135 71 cycle~ 100; +#X floatatom 311 174 0 0 0 0 - - -; +#X msg 358 132 rms; +#X msg 242 132 bipolar; +#X msg 298 132 absolute; +#X obj 172 115 *~; +#X text 337 174 int sets averaging interval \, in samples; +#X text 385 132 change modes with messages:; +#X text 20 374 optional arguments: int - sets maximum averaging interval. +default is 100 symbol - sets mode \, as shown above. default is bipolar. +; +#X text 20 424 average~ reports the running mean amplitude of a signal +\, averaged over a specified number of samples. There are three methods +of averaging available:; +#X text 19 552 RMS values are often used to measure signal levels. +The RMS mode of the average~ object is considerably more CPU intensive +than the absolute mode. The absolute mode often works as well as the +RMS mode in many level-detection tasks.; +#X obj 22 224 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 421 23 import cyclone; +#X obj 172 201 average~ 1000; +#X floatatom 172 236 5 0 0 0 - - -; +#X connect 4 0 10 1; +#X connect 5 0 10 0; +#X connect 6 0 18 0; +#X connect 7 0 18 0; +#X connect 8 0 18 0; +#X connect 9 0 18 0; +#X connect 10 0 16 0; +#X connect 10 0 18 0; +#X connect 18 0 19 0; diff --git a/doc/help/cyclone/avg~-help.pd b/doc/help/cyclone/avg~-help.pd new file mode 100644 index 0000000..df88752 --- /dev/null +++ b/doc/help/cyclone/avg~-help.pd @@ -0,0 +1,34 @@ +#N canvas 226 97 668 530 10; +#X declare -lib cyclone; +#X text 15 35 Compute the average value of a signal; +#X floatatom 35 302 0 0 0 0 - - -; +#X floatatom 254 194 0 0 0 0 - - -; +#X obj 35 322 * 128; +#X obj 33 349 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 209 150 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 269 169 200; +#X msg 246 169 50; +#X obj 209 216 metro 100; +#X obj 31 189 adc~; +#X text 46 252 signal input / trigger input; +#X text 46 287 float output (between 0 and 1 for audio signals); +#X text 38 62 When average receives a bang \, it computes the mean +amplitude of its input signal since it last received a bang. The mean +amplitude is the sum of the absolute values of the input divided by +the number of samples received.; +#X obj 450 39 import cyclone; +#X obj 33 267 avg~; +#X text 190 123 start metro to see averages; +#X text 299 169 try different intervals to see the change in avg~ behavior +; +#X connect 1 0 3 0; +#X connect 2 0 8 1; +#X connect 3 0 4 0; +#X connect 5 0 8 0; +#X connect 6 0 2 0; +#X connect 7 0 2 0; +#X connect 8 0 14 0; +#X connect 9 0 14 0; +#X connect 14 0 1 0; diff --git a/doc/help/cyclone/bitand~-help.pd b/doc/help/cyclone/bitand~-help.pd new file mode 100644 index 0000000..3582d54 --- /dev/null +++ b/doc/help/cyclone/bitand~-help.pd @@ -0,0 +1,192 @@ +#N canvas 1228 219 785 678 10; +#X declare -lib cyclone; +#X declare -lib iemlib; +#X text 17 -10 Bitwise and signal operator.; +#X obj 26 429 clip~ -1 1; +#X floatatom 546 246 0 0 0 0 - - -; +#X msg 546 264 mode \$1; +#X text 38 209 bitwise boolean operation on a signal and some bitmask +as bits; +#X floatatom 494 244 0 0 0 0 - - -; +#X floatatom 445 244 0 0 0 0 - - -; +#X obj 494 264 sig~ 1; +#X obj 445 264 sig~ 1; +#X text 159 409 modes \; mode 0: treat both floating point signal inputs +as raw 32 bit values \; mode 1: convert both floating point signal +inputs to integers \; mode 2: treat left input as raw 32 bit value +\, convert right input to integer \; mode 3: convert left input to +integer \, treat right input as raw 32 bit value \;; +#X text 19 103 send bitmask; +#X floatatom 55 451 0 0 0 0 - - -; +#X obj 26 470 *~ 0.2; +#X obj 222 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 437 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 424 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 411 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 398 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 385 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 372 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 359 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 346 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 333 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 320 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 307 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 294 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 281 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 268 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 255 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 242 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 229 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 216 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 203 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 190 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 177 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 164 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 151 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 138 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 21 117 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 125 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 112 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 99 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 86 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 73 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 60 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 47 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 34 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 21 180 pack bits 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0; +#X floatatom 90 288 0 0 0 0 - - -; +#X obj 26 509 dac~; +#X obj 59 249 cycle~ 440; +#X text 159 383 args: <mask> <mode>. both default to 0; +#X text 454 156 <= set bitmask; +#X text 446 209 bitwise boolean operation on signals as integers; +#X text 93 314 use an integer as a bitmask; +#X text 15 15 Performs bitwise boolean operations on a floating point +signal as bits or as an integer. Note that if you are converting the +floats to ints and back that single precision floating point values +only retain 24 bits of integer resolution. The floating point bits +from left to right are <1 sign bit> <8 exponent bits> <23 mantissa +bits>.; +#X obj 457 38 import cyclone; +#X obj 445 288 bitand~ 0 1; +#X obj 551 37 import iemlib; +#X obj 445 348 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 1 256; +#X obj 445 321 unsig~; +#X obj 27 387 bitand~; +#X connect 1 0 12 0; +#X connect 2 0 3 0; +#X connect 3 0 57 0; +#X connect 5 0 7 0; +#X connect 6 0 8 0; +#X connect 7 0 57 1; +#X connect 8 0 57 0; +#X connect 11 0 12 1; +#X connect 12 0 49 0; +#X connect 12 0 49 1; +#X connect 13 0 46 0; +#X connect 13 0 45 0; +#X connect 13 0 44 0; +#X connect 13 0 43 0; +#X connect 13 0 42 0; +#X connect 13 0 41 0; +#X connect 13 0 40 0; +#X connect 13 0 39 0; +#X connect 13 0 37 0; +#X connect 13 0 36 0; +#X connect 13 0 35 0; +#X connect 13 0 34 0; +#X connect 13 0 33 0; +#X connect 13 0 32 0; +#X connect 13 0 31 0; +#X connect 13 0 30 0; +#X connect 13 0 29 0; +#X connect 13 0 28 0; +#X connect 13 0 27 0; +#X connect 13 0 26 0; +#X connect 13 0 25 0; +#X connect 13 0 24 0; +#X connect 13 0 23 0; +#X connect 13 0 22 0; +#X connect 13 0 21 0; +#X connect 13 0 20 0; +#X connect 13 0 19 0; +#X connect 13 0 18 0; +#X connect 13 0 17 0; +#X connect 13 0 16 0; +#X connect 13 0 15 0; +#X connect 13 0 14 0; +#X connect 14 0 47 32; +#X connect 15 0 47 31; +#X connect 16 0 47 30; +#X connect 17 0 47 29; +#X connect 18 0 47 28; +#X connect 19 0 47 27; +#X connect 20 0 47 26; +#X connect 21 0 47 25; +#X connect 22 0 47 24; +#X connect 23 0 47 23; +#X connect 24 0 47 22; +#X connect 25 0 47 21; +#X connect 26 0 47 20; +#X connect 27 0 47 19; +#X connect 28 0 47 18; +#X connect 29 0 47 17; +#X connect 30 0 47 16; +#X connect 31 0 47 15; +#X connect 32 0 47 14; +#X connect 33 0 47 13; +#X connect 34 0 47 12; +#X connect 35 0 47 11; +#X connect 36 0 47 10; +#X connect 37 0 47 9; +#X connect 38 0 47 0; +#X connect 39 0 47 8; +#X connect 40 0 47 7; +#X connect 41 0 47 6; +#X connect 42 0 47 5; +#X connect 43 0 47 4; +#X connect 44 0 47 3; +#X connect 45 0 47 2; +#X connect 46 0 47 1; +#X connect 47 0 61 0; +#X connect 48 0 61 1; +#X connect 50 0 61 0; +#X connect 57 0 60 0; +#X connect 60 0 59 0; +#X connect 61 0 1 0; diff --git a/doc/help/cyclone/bitnot~-help.pd b/doc/help/cyclone/bitnot~-help.pd new file mode 100644 index 0000000..20fd57e --- /dev/null +++ b/doc/help/cyclone/bitnot~-help.pd @@ -0,0 +1,42 @@ +#N canvas 1387 184 781 540 10; +#X declare -lib cyclone; +#X text 15 5 Bitwise not signal operator.; +#X obj 41 316 clip~ -1 1; +#X floatatom 397 182 0 0 0 0 - - -; +#X msg 397 200 mode \$1; +#X text 22 180 bitwise boolean operation on a signal as bits; +#X floatatom 346 180 0 0 0 0 - - -; +#X obj 346 200 sig~ 0; +#X text 300 356 modes \; mode 0: treat floating point signal input +as raw 32 bit value \; mode 1: convert floating point signal input +to integer \;; +#X floatatom 70 341 0 0 0 0 - - -; +#X obj 41 360 *~ 0.2; +#X obj 41 402 dac~; +#X obj 45 237 cycle~ 440; +#X text 300 330 args: <mode>. defaults to 0; +#X text 335 152 bitwise boolean operation on signals as integers; +#X text 15 35 Performs bitwise boolean operations on a floating point +signal as bits or as an integer. Note that if you are converting the +floats to ints and back that single precision floating point values +only retain 24 bits of integer resolution. The floating point bits +from left to right are <1 sign bit> <8 exponent bits> <23 mantissa +bits>.; +#X obj 487 40 import cyclone; +#X obj 346 231 bitnot~ 1; +#X obj 347 283 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 -1 256; +#X obj 45 273 bitnot~; +#X obj 346 258 Snapshot~ 100; +#X connect 1 0 9 0; +#X connect 2 0 3 0; +#X connect 3 0 16 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 8 0 9 1; +#X connect 9 0 10 0; +#X connect 9 0 10 1; +#X connect 11 0 18 0; +#X connect 16 0 19 0; +#X connect 18 0 1 0; +#X connect 19 0 17 0; diff --git a/doc/help/cyclone/bitor~-help.pd b/doc/help/cyclone/bitor~-help.pd new file mode 100644 index 0000000..ee4a31e --- /dev/null +++ b/doc/help/cyclone/bitor~-help.pd @@ -0,0 +1,190 @@ +#N canvas 1168 233 800 636 10; +#X declare -lib cyclone; +#X text 392 545 see also:; +#X text 15 35 Bitwise or signal operator.; +#X obj 39 429 clip~ -1 1; +#X floatatom 539 307 0 0 0 0 - - -; +#X msg 539 325 mode \$1; +#X text 47 270 bitwise boolean operation on a signal and some bitmask +as bits; +#X floatatom 487 305 0 0 0 0 - - -; +#X floatatom 438 305 0 0 0 0 - - -; +#X obj 487 325 sig~ 1; +#X obj 438 325 sig~ 1; +#X text 294 467 modes \; mode 0: treat both floating point signal inputs +as raw 32 bit values \; mode 1: convert both floating point signal +inputs to integers \; mode 2: treat left input as raw 32 bit value +\, convert right input to integer \; mode 3: convert left input to +integer \, treat right input as raw 32 bit value \;; +#X text 49 165 send bitmask; +#X floatatom 68 450 0 0 0 0 - - -; +#X obj 39 469 *~ 0.2; +#X obj 229 168 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 446 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 433 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 420 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 407 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 394 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 381 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 368 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 355 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 342 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 329 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 316 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 303 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 290 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 277 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 264 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 251 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 238 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 225 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 212 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 199 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 186 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 173 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 160 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 147 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 29 168 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 134 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 121 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 108 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 95 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 82 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 69 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 56 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 43 216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 30 241 pack bits 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0; +#X floatatom 99 349 0 0 0 0 - - -; +#X obj 39 506 dac~; +#X obj 68 310 cycle~ 440; +#X text 294 441 args: <mask> <mode>. both default to 0; +#X text 463 217 <= set bitmask; +#X text 439 270 bitwise boolean operation on signals as integers; +#X text 92 333 use an integer as a bitmask; +#X text 15 67 Performs bitwise boolean operations on a floating point +signal as bits or as an integer. Note that if you are converting the +floats to ints and back that single precision floating point values +only retain 24 bits of integer resolution. The floating point bits +from left to right are <1 sign bit> <8 exponent bits> <23 mantissa +bits>.; +#X obj 403 39 import cyclone; +#X obj 438 349 bitor~ 0 1; +#X floatatom 440 408 5 0 0 0 - - -; +#X obj 68 369 bitor~; +#X obj 438 376 Snapshot~ 100; +#X connect 2 0 13 0; +#X connect 3 0 4 0; +#X connect 4 0 58 0; +#X connect 6 0 8 0; +#X connect 7 0 9 0; +#X connect 8 0 58 1; +#X connect 9 0 58 0; +#X connect 12 0 13 1; +#X connect 13 0 50 0; +#X connect 13 0 50 1; +#X connect 14 0 47 0; +#X connect 14 0 46 0; +#X connect 14 0 45 0; +#X connect 14 0 44 0; +#X connect 14 0 43 0; +#X connect 14 0 42 0; +#X connect 14 0 41 0; +#X connect 14 0 40 0; +#X connect 14 0 38 0; +#X connect 14 0 37 0; +#X connect 14 0 36 0; +#X connect 14 0 35 0; +#X connect 14 0 34 0; +#X connect 14 0 33 0; +#X connect 14 0 32 0; +#X connect 14 0 31 0; +#X connect 14 0 30 0; +#X connect 14 0 29 0; +#X connect 14 0 28 0; +#X connect 14 0 27 0; +#X connect 14 0 26 0; +#X connect 14 0 25 0; +#X connect 14 0 24 0; +#X connect 14 0 23 0; +#X connect 14 0 22 0; +#X connect 14 0 21 0; +#X connect 14 0 20 0; +#X connect 14 0 19 0; +#X connect 14 0 18 0; +#X connect 14 0 17 0; +#X connect 14 0 16 0; +#X connect 14 0 15 0; +#X connect 15 0 48 32; +#X connect 16 0 48 31; +#X connect 17 0 48 30; +#X connect 18 0 48 29; +#X connect 19 0 48 28; +#X connect 20 0 48 27; +#X connect 21 0 48 26; +#X connect 22 0 48 25; +#X connect 23 0 48 24; +#X connect 24 0 48 23; +#X connect 25 0 48 22; +#X connect 26 0 48 21; +#X connect 27 0 48 20; +#X connect 28 0 48 19; +#X connect 29 0 48 18; +#X connect 30 0 48 17; +#X connect 31 0 48 16; +#X connect 32 0 48 15; +#X connect 33 0 48 14; +#X connect 34 0 48 13; +#X connect 35 0 48 12; +#X connect 36 0 48 11; +#X connect 37 0 48 10; +#X connect 38 0 48 9; +#X connect 39 0 48 0; +#X connect 40 0 48 8; +#X connect 41 0 48 7; +#X connect 42 0 48 6; +#X connect 43 0 48 5; +#X connect 44 0 48 4; +#X connect 45 0 48 3; +#X connect 46 0 48 2; +#X connect 47 0 48 1; +#X connect 48 0 60 0; +#X connect 49 0 60 1; +#X connect 51 0 60 0; +#X connect 58 0 61 0; +#X connect 60 0 2 0; +#X connect 61 0 59 0; diff --git a/doc/help/cyclone/bitshift~-help.pd b/doc/help/cyclone/bitshift~-help.pd new file mode 100644 index 0000000..4e3d197 --- /dev/null +++ b/doc/help/cyclone/bitshift~-help.pd @@ -0,0 +1,52 @@ +#N canvas 1491 227 811 594 10; +#X declare -lib cyclone; +#X text 308 410 see also:; +#X text 24 -18 Bitwise shift signal operator.; +#X floatatom 88 197 0 0 0 0 - - -; +#X msg 88 217 shift \$1; +#X floatatom 430 176 0 0 0 0 - - -; +#X msg 430 196 mode \$1; +#X obj 60 281 clip~ -1 1; +#X floatatom 375 176 0 0 0 0 - - -; +#X msg 375 196 shift \$1; +#X text 64 132 bitwise operation on a signal as bits; +#X floatatom 324 176 0 0 0 0 - - -; +#X obj 324 196 sig~ 1; +#X text 275 351 modes \; mode 0: treat floating point signal input +as raw 32 bit value \; mode 1: convert floating point signal input +to integer \;; +#X floatatom 89 301 0 0 0 0 - - -; +#X obj 60 320 *~ 0.2; +#X obj 60 362 dac~; +#X obj 62 177 cycle~ 440; +#X text 275 325 args: <shift> <mode>. both default to 0; +#X text 325 141 bitwise operation on signals as integers; +#X text 15 4 Performs bitwise operations on a floating point signal +as bits or as an integer. Note that if you are converting the floats +to ints and back that single precision floating point values only retain +24 bits of integer resolution. The floating point bits from left to +right are <1 sign bit> <8 exponent bits> <23 mantissa bits>. Positive +shift values correspond to left shifting that number of bits \, negative +shift values correspond to right shifting that number of bits.; +#X obj 401 23 import cyclone; +#X obj 324 220 bitshift~ 1 1; +#X obj 325 274 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 2 256; +#X obj 62 246 bitshift~ 8 0; +#X obj 324 249 Snapshot~ 100; +#X connect 2 0 3 0; +#X connect 3 0 23 0; +#X connect 4 0 5 0; +#X connect 5 0 21 0; +#X connect 6 0 14 0; +#X connect 7 0 8 0; +#X connect 8 0 21 0; +#X connect 10 0 11 0; +#X connect 11 0 21 0; +#X connect 13 0 14 1; +#X connect 14 0 15 0; +#X connect 14 0 15 1; +#X connect 16 0 23 0; +#X connect 21 0 24 0; +#X connect 23 0 6 0; +#X connect 24 0 22 0; diff --git a/doc/help/cyclone/bitxor~-help.pd b/doc/help/cyclone/bitxor~-help.pd new file mode 100644 index 0000000..dbfa3b2 --- /dev/null +++ b/doc/help/cyclone/bitxor~-help.pd @@ -0,0 +1,191 @@ +#N canvas 1271 125 846 618 10; +#X declare -lib cyclone; +#X text 355 479 see also:; +#X text 28 9 Performs bitwise boolean operations on a floating point +signal as bits or as an integer. Note that if you are converting the +floats to ints and back that single precision floating point values +only retain 24 bits of integer resolution. The floating point bits +from left to right are <1 sign bit> <8 exponent bits> <23 mantissa +bits>.; +#X text 28 -18 Bitwise xor signal operator.; +#X obj 72 378 clip~ -1 1; +#X floatatom 532 268 0 0 0 0 - - -; +#X msg 532 286 mode \$1; +#X text 47 231 bitwise boolean operation on a signal and some bitmask +as bits; +#X floatatom 480 266 0 0 0 0 - - -; +#X floatatom 431 266 0 0 0 0 - - -; +#X obj 480 286 sig~ 1; +#X obj 431 286 sig~ 1; +#X text 28 105 send bitmask; +#X floatatom 101 401 0 0 0 0 - - -; +#X obj 72 420 *~ 0.2; +#X obj 231 116 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 446 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 433 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 420 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 407 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 394 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 381 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 368 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 355 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 342 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 329 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 316 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 303 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 290 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 277 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 264 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 251 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 238 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 225 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 212 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 199 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 186 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 173 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 160 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 147 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 30 119 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 134 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 121 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 108 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 95 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 82 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 69 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 56 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 43 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 30 182 pack bits 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0; +#X floatatom 99 299 0 0 0 0 - - -; +#X obj 72 454 dac~; +#X obj 68 260 cycle~ 440; +#X text 255 373 args: <mask> <mode>. both default to 0; +#X text 463 158 <= set bitmask; +#X text 432 231 bitwise boolean operation on signals as integers; +#X text 92 283 use an integer as a bitmask; +#X obj 443 31 import cyclone; +#X obj 431 310 bitxor~ 0 1; +#X text 255 399 modes \; mode 0: treat both floating point signal inputs +as raw 32 bit values \; mode 1: convert both floating point signal +inputs to integers \; mode 2: treat left input as raw 32 bit value +\, convert right input to integer \; mode 3: convert left input to +integer \, treat right input as raw 32 bit value \;; +#X obj 431 338 Snapshot~ 100; +#X obj 433 361 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 6 256; +#X obj 68 319 bitxor~; +#X connect 3 0 13 0; +#X connect 4 0 5 0; +#X connect 5 0 57 0; +#X connect 7 0 9 0; +#X connect 8 0 10 0; +#X connect 9 0 57 1; +#X connect 10 0 57 0; +#X connect 12 0 13 1; +#X connect 13 0 50 0; +#X connect 13 0 50 1; +#X connect 14 0 47 0; +#X connect 14 0 46 0; +#X connect 14 0 45 0; +#X connect 14 0 44 0; +#X connect 14 0 43 0; +#X connect 14 0 42 0; +#X connect 14 0 41 0; +#X connect 14 0 40 0; +#X connect 14 0 38 0; +#X connect 14 0 37 0; +#X connect 14 0 36 0; +#X connect 14 0 35 0; +#X connect 14 0 34 0; +#X connect 14 0 33 0; +#X connect 14 0 32 0; +#X connect 14 0 31 0; +#X connect 14 0 30 0; +#X connect 14 0 29 0; +#X connect 14 0 28 0; +#X connect 14 0 27 0; +#X connect 14 0 26 0; +#X connect 14 0 25 0; +#X connect 14 0 24 0; +#X connect 14 0 23 0; +#X connect 14 0 22 0; +#X connect 14 0 21 0; +#X connect 14 0 20 0; +#X connect 14 0 19 0; +#X connect 14 0 18 0; +#X connect 14 0 17 0; +#X connect 14 0 16 0; +#X connect 14 0 15 0; +#X connect 15 0 48 32; +#X connect 16 0 48 31; +#X connect 17 0 48 30; +#X connect 18 0 48 29; +#X connect 19 0 48 28; +#X connect 20 0 48 27; +#X connect 21 0 48 26; +#X connect 22 0 48 25; +#X connect 23 0 48 24; +#X connect 24 0 48 23; +#X connect 25 0 48 22; +#X connect 26 0 48 21; +#X connect 27 0 48 20; +#X connect 28 0 48 19; +#X connect 29 0 48 18; +#X connect 30 0 48 17; +#X connect 31 0 48 16; +#X connect 32 0 48 15; +#X connect 33 0 48 14; +#X connect 34 0 48 13; +#X connect 35 0 48 12; +#X connect 36 0 48 11; +#X connect 37 0 48 10; +#X connect 38 0 48 9; +#X connect 39 0 48 0; +#X connect 40 0 48 8; +#X connect 41 0 48 7; +#X connect 42 0 48 6; +#X connect 43 0 48 5; +#X connect 44 0 48 4; +#X connect 45 0 48 3; +#X connect 46 0 48 2; +#X connect 47 0 48 1; +#X connect 48 0 61 0; +#X connect 49 0 61 1; +#X connect 51 0 61 0; +#X connect 57 0 59 0; +#X connect 59 0 60 0; +#X connect 61 0 3 0; diff --git a/doc/help/cyclone/buffir~-help.pd b/doc/help/cyclone/buffir~-help.pd new file mode 100644 index 0000000..3f88191 --- /dev/null +++ b/doc/help/cyclone/buffir~-help.pd @@ -0,0 +1,90 @@ +#N canvas 41 53 873 616 10; +#X declare -lib cyclone; +#X floatatom 454 384 0 0 0 0 - - -; +#X obj 330 374 noise~; +#X obj 330 441 *~ 0.05; +#X obj 330 474 dac~; +#X obj 69 165 sig~ 1; +#X text 231 167 Length (samps); +#X obj 576 111 loadbang; +#X msg 41 123 clear; +#X floatatom 209 165 0 0 0 0 - - -; +#X floatatom 160 136 0 0 0 0 - - -; +#X obj 575 144 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#N canvas 480 212 405 395 genRamp 0; +#X obj 39 197 sel 0 1; +#X obj 81 254 i; +#X obj 39 146 sel 1; +#X msg 111 100 clear; +#X obj 120 206 * 1; +#X obj 120 180 expr ((127. - $f1) / 127.); +#X obj 98 124 - 1; +#X obj 39 75 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 81 282 pack 0 0; +#X text 116 151 exponential ramp down from 1 to 0; +#X text 147 249 makes 50% zeros \, 25% exponential downward ramp \, +25% random; +#X obj 39 99 Uzi 128; +#X obj 39 123 decide; +#X obj 39 174 decide; +#X obj 39 219 urn 128; +#X obj 39 53 inlet; +#X obj 81 316 outlet; +#X connect 0 0 14 0; +#X connect 0 1 1 0; +#X connect 1 0 8 0; +#X connect 2 0 13 0; +#X connect 3 0 14 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 5 0 4 1; +#X connect 6 0 1 1; +#X connect 6 0 5 0; +#X connect 7 0 3 0; +#X connect 7 0 11 0; +#X connect 8 0 16 0; +#X connect 11 0 12 0; +#X connect 11 2 6 0; +#X connect 12 0 2 0; +#X connect 13 0 0 0; +#X connect 14 0 8 0; +#X connect 15 0 7 0; +#X restore 573 184 pd genRamp; +#X text 33 104 clears input history only; +#X text 186 131 Offset (samps); +#X text 427 186 Generate new fir =>; +#X text 178 216 Initial args: buffer \, offset(samps) \, length(samps) +; +#X text 181 241 256 point max len; +#X text 8 291 integral of buffer from offset to offset + length; +#X text 486 383 number of samples in impulse; +#X obj 570 53 import cyclone; +#X obj 330 409 buffir~ fir_buf 0 10; +#X obj 50 216 buffir~ fir_buf 0 32; +#X obj 574 223 peek~ fir_buf; +#X obj 563 285 table fir_buf 128; +#X obj 50 245 Snapshot~ 100; +#X obj 52 269 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 0 256; +#X text 15 35 a table based FIR convolution filter; +#X text 16 58 buffir~ is a table based FIR (finite impulse response) +filter. an input signal is convolved with n samples of a buffer. Currently +the maximum number of points is 256; +#X text 503 311 table is a 128-point downwards ramp with random values +here and there with amplitude from 1 to 0; +#X connect 0 0 20 2; +#X connect 1 0 20 0; +#X connect 2 0 3 0; +#X connect 2 0 3 1; +#X connect 4 0 21 0; +#X connect 6 0 10 0; +#X connect 7 0 21 0; +#X connect 8 0 21 2; +#X connect 9 0 21 1; +#X connect 10 0 11 0; +#X connect 11 0 22 0; +#X connect 20 0 2 0; +#X connect 21 0 24 0; +#X connect 24 0 25 0; diff --git a/doc/help/cyclone/capture~-help.pd b/doc/help/cyclone/capture~-help.pd new file mode 100644 index 0000000..e698f5a --- /dev/null +++ b/doc/help/cyclone/capture~-help.pd @@ -0,0 +1,34 @@ +#N canvas 1174 170 650 528 10; +#X declare -lib cyclone; +#X text 16 20 Collect samples from a signal and examine them in a text +window; +#X msg 285 141 write; +#X msg 100 141 clear; +#X obj 28 128 cycle~ 440; +#X text 133 141 Clear capture buffer; +#X text 22 46 capture~ is similar to the capture object \, except that +it collects signal values rather than incoming integers. capture~ is +designed for signal debugging or investigation321for recording \, use +record~ or sfrecord~; +#X text 326 139 Write as text file; +#X text 160 207 Arguments: - optional "f" or "first" to put capture~ +into "first" mode where it stops collecting data after it has received +the specified number of values \; - number of values to capture \; +- the print precision (number of decimal places shown) \; - a list +of up to 10 indices within a signal vector. If no indices present \, +capture~ records the entire vector.; +#X text 160 301 Default values: - "last" mode \, where capture~ continues +to collect data \, throwing away old values if it has received more +than its specified number \; - 4100 values \; - print precision of +4 decimal places \; - record the entire signal vector \;; +#X text 30 107 (look at values from a sine wave...); +#X text 43 387 Note that capture~'s text window only holds a limited +amount of data \, so it's easy to capture more data than you can see. +If you want to see all the data \, write it to a text file and open +the file with another text editor.; +#X text 159 172 double-click to see text of captured values; +#X obj 408 32 import cyclone; +#X obj 28 181 capture~ f 1000 2 0; +#X connect 1 0 13 0; +#X connect 2 0 13 0; +#X connect 3 0 13 0; diff --git a/doc/help/cyclone/cartopol~-help.pd b/doc/help/cyclone/cartopol~-help.pd new file mode 100644 index 0000000..6737c8b --- /dev/null +++ b/doc/help/cyclone/cartopol~-help.pd @@ -0,0 +1,20 @@ +#N canvas 1197 272 782 300 10; +#X declare -lib cyclone; +#X text 147 63 Polar to cartesian coordinate conversion.; +#X text 64 59 poltocar~; +#X text 15 35 Cartesian to polar coordinate conversion.; +#X text 92 106 Here's how to connect it to an fft~:; +#X obj 655 22 import cyclone; +#X text 212 169 phase (in 271 radians); +#X obj 163 252 ifft~ 256 256 0; +#X obj 163 228 poltocar~; +#X obj 163 153 cartopol~; +#X obj 163 130 fft~ 256 256 0; +#X text 143 169 amp.; +#X text 214 195 <- do some spectral processing here; +#X connect 7 0 6 0; +#X connect 7 1 6 1; +#X connect 8 0 7 0; +#X connect 8 1 7 1; +#X connect 9 0 8 0; +#X connect 9 1 8 1; diff --git a/doc/help/cyclone/change~-help.pd b/doc/help/cyclone/change~-help.pd new file mode 100644 index 0000000..94751a0 --- /dev/null +++ b/doc/help/cyclone/change~-help.pd @@ -0,0 +1,54 @@ +#N canvas 1309 108 683 427 10; +#X declare -lib cyclone; +#X text -82 58 Detect signal change and direction; +#X obj 257 288 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 281 290 signal isn't the same; +#X msg 118 103 0 \, 0 5000; +#X obj 211 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X msg 44 103 500 \, 0 5000; +#X msg -39 103 0 \, 500 5000; +#X text 87 346 detect when signal is increasing; +#X obj 89 329 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 31 349 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj -22 141 line~; +#X text 30 368 detect when signal is decreasing; +#X text 213 326 signal is the same; +#X text -39 87 245 increasing; +#X text 44 87 245 decreasing; +#X text 119 87 245 the same; +#X obj 422 45 import cyclone; +#X obj -22 175 change~; +#X obj 31 270 edge~; +#X obj 89 270 edge~; +#X obj 211 268 edge~; +#X obj 211 234 expr~ $v1==0; +#X obj 111 233 expr~ $v1==1; +#X obj 13 233 expr~ $v1==-1; +#X obj -88 229 Snapshot~ 100; +#X obj -87 261 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 0 256; +#X obj -125 173 Snapshot~ 100; +#X obj -123 196 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 +10 -262144 -1 -1 0 256; +#X connect 3 0 10 0; +#X connect 5 0 10 0; +#X connect 6 0 10 0; +#X connect 10 0 17 0; +#X connect 10 0 26 0; +#X connect 17 0 21 0; +#X connect 17 0 24 0; +#X connect 17 0 23 0; +#X connect 17 0 22 0; +#X connect 18 0 9 0; +#X connect 19 0 8 0; +#X connect 20 0 4 0; +#X connect 20 1 1 0; +#X connect 21 0 20 0; +#X connect 22 0 19 0; +#X connect 23 0 18 0; +#X connect 24 0 25 0; +#X connect 26 0 27 0; diff --git a/doc/help/cyclone/click~-help.pd b/doc/help/cyclone/click~-help.pd new file mode 100644 index 0000000..fae3714 --- /dev/null +++ b/doc/help/cyclone/click~-help.pd @@ -0,0 +1,21 @@ +#N canvas 1247 220 633 325 10; +#X declare -lib cyclone; +#X text 52 33 generate an impulse; +#X msg 243 125 set 1; +#X msg 207 107 set 0.25 0.5 0.75 1 0.67 0.3; +#X obj 171 187 *~ 0.5; +#X obj 171 218 dac~; +#X obj 171 120 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 210 63 use the set message to create a personalized band-limited +impulse (maximum 256 samples); +#X text 223 153 optional argument(s) to set impulse (default impulse: +1.0); +#X obj 445 15 import cyclone; +#X obj 171 156 click~; +#X connect 1 0 9 0; +#X connect 2 0 9 0; +#X connect 3 0 4 0; +#X connect 3 0 4 1; +#X connect 5 0 9 0; +#X connect 9 0 3 0; diff --git a/doc/help/cyclone/cosh~-help.pd b/doc/help/cyclone/cosh~-help.pd new file mode 100644 index 0000000..7a9ec2a --- /dev/null +++ b/doc/help/cyclone/cosh~-help.pd @@ -0,0 +1,21 @@ +#N canvas 1394 305 683 382 10; +#X declare -lib cyclone; +#X text 170 85 this is probably only useful for mathematical calculations +; +#X text 37 324 make a wave that looks like a wave!!; +#X msg 128 133 range 0 3.14159; +#X obj 39 114 -~ 1.5708; +#X obj 39 91 *~ 3.14159; +#X obj 39 69 phasor~ 2; +#X text 15 35 Hyperbolic cosine function (cosh(x)) for signals; +#X obj 38 166 Scope~ 130 130 256 3 128 0 3.14159 0 0 0 0 102 255 51 +135 135 135 0; +#X obj 396 25 import cyclone; +#X obj 38 138 cosh~; +#X obj 122 109 loadbang; +#X connect 2 0 7 0; +#X connect 3 0 9 0; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 9 0 7 0; +#X connect 10 0 2 0; diff --git a/doc/help/cyclone/cosx~-help.pd b/doc/help/cyclone/cosx~-help.pd new file mode 100644 index 0000000..0dc0613 --- /dev/null +++ b/doc/help/cyclone/cosx~-help.pd @@ -0,0 +1,19 @@ +#N canvas 1292 254 598 352 10; +#X declare -lib cyclone; +#X msg 124 135 range -1 1; +#X obj 22 89 *~ 6.28319; +#X obj 22 64 phasor~ 2; +#X text 15 35 cos(x) for signals; +#X text 101 65 this is a real cosine function whose input expects values +between 0 and 2pi (unlike cos~ which is designed to work with phasor~'s +output from 0 to 1); +#X obj 125 110 loadbang; +#X obj 397 21 import cyclone; +#X obj 22 121 cosx~; +#X obj 22 161 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X connect 0 0 8 0; +#X connect 1 0 7 0; +#X connect 2 0 1 0; +#X connect 5 0 0 0; +#X connect 7 0 8 0; diff --git a/doc/help/cyclone/curve~-help.pd b/doc/help/cyclone/curve~-help.pd new file mode 100644 index 0000000..107bce9 --- /dev/null +++ b/doc/help/cyclone/curve~-help.pd @@ -0,0 +1,62 @@ +#N canvas 1240 172 848 609 10; +#X declare -lib cyclone; +#X text 13 -87 Exponential ramp generator; +#X text 69 299 line output; +#X obj 724 300 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 732 258 parameter; +#X text 657 259 time; +#X msg 138 186 1 \, 0 1000 0.5; +#X floatatom 724 227 0 0 0 0 - - -; +#X msg 629 226 1 \, 0 500; +#X msg 572 227 0 \, 1 500; +#X obj 63 234 line~; +#X msg 250 186 1 \, 0.5 500 0.5 0 500 -0.5; +#X msg 43 182 0 \, 1 1000 0.5; +#X text 9 -75 curve~ is similar to line~. It produces a signal that +goes from an initial to target value over a specified number of milliseconds. +However \, it produces non-linear ramps using a piecewise approximation +of an exponential function. You specify the parameter to this exponential +function in the curve~ object's right inlet. Values from 0 to 1 produce +an "exponential" curve when increasing in value and values from -1 +to 0 produce a "logarithmic" curve. The closer to 0 the curve parameter +is \, the closer the curve is to a straight line \, and the farther +away the parameter is from 0 \, the steeper the curve. curve~ can also +accept a list of up two or three arguments (the previous curve parameter +is used if there are two arguments) \, or a list with two or more value +\, time \, parameter triples. curve~ is limited to 42 such triples +in a single list. The object's approximation of the exponential becomes +better when the vector size is smaller \, but the object also becomes +more computationally expensive.; +#X text 194 226 optional arguments set initial value (default 0) and +parameter (default 0); +#X text 580 259 value; +#X text 582 295 curve signal out; +#X text 740 290 bang when done; +#X text 210 286 curve output; +#X text 18 485 Special thanks to Richard Dudas for the suggestion of +a curve equation to use.; +#X text 1 165 amp examples: compare curve~ and line~; +#X text 255 169 example of an "s" curve; +#X obj 472 -24 import cyclone; +#X obj 138 236 curve~; +#X obj 207 310 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 64 322 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X text 540 191 try different curve parameters (-1 to 1); +#X obj 572 273 curve~; +#X obj 572 319 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X connect 5 0 9 0; +#X connect 5 0 22 0; +#X connect 6 0 26 2; +#X connect 7 0 26 0; +#X connect 8 0 26 0; +#X connect 9 0 24 0; +#X connect 10 0 22 0; +#X connect 11 0 9 0; +#X connect 11 0 22 0; +#X connect 22 0 23 0; +#X connect 26 0 27 0; +#X connect 26 1 2 0; diff --git a/doc/help/cyclone/cycle~-help.pd b/doc/help/cyclone/cycle~-help.pd new file mode 100644 index 0000000..1601b01 --- /dev/null +++ b/doc/help/cyclone/cycle~-help.pd @@ -0,0 +1,84 @@ +#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; diff --git a/doc/help/cyclone/deltaclip~-help.pd b/doc/help/cyclone/deltaclip~-help.pd new file mode 100644 index 0000000..d25d058 --- /dev/null +++ b/doc/help/cyclone/deltaclip~-help.pd @@ -0,0 +1,50 @@ +#N canvas 1440 298 592 400 10; +#X declare -lib cyclone; +#X text 15 35 Limit the change between samples in an incoming signal +; +#X text 166 127 delta max; +#X floatatom 169 145 0 0 0 0 - - -; +#X floatatom 169 182 0 0 0 0 - - -; +#X obj 169 163 * 1e-05; +#X floatatom 104 145 0 0 0 0 - - -; +#X floatatom 104 182 0 0 0 0 - - -; +#X obj 104 163 * 1e-05; +#X text 163 233 slope; +#X msg 57 135 1; +#X msg 15 137 0; +#X text 22 60 Similar to clip~ \, but with respect to slope rather +than amplitude. Useful for envelope following and lowpass filtering. +Typically you will want your minimum slope to be negative and your +maximum slope to be positive.; +#X obj 39 177 sig~; +#X floatatom 39 158 0 0 0 0 - - -; +#X text 201 202 args: <delta min> <delta max>; +#X text 51 233 amplitude; +#X text 102 124 delta min; +#X obj 411 38 import cyclone; +#X obj 39 249 Snapshot~ 100; +#X obj 145 249 delta~; +#X obj 275 247 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 37 271 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 1 256; +#X obj 146 272 Snapshot~ 100; +#X obj 144 294 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 0 256; +#X obj 39 201 deltaclip~ -1e-05 1e-05; +#X connect 2 0 4 0; +#X connect 3 0 24 2; +#X connect 4 0 3 0; +#X connect 5 0 7 0; +#X connect 6 0 24 1; +#X connect 7 0 6 0; +#X connect 9 0 13 0; +#X connect 10 0 13 0; +#X connect 12 0 24 0; +#X connect 13 0 12 0; +#X connect 18 0 21 0; +#X connect 19 0 22 0; +#X connect 22 0 23 0; +#X connect 24 0 18 0; +#X connect 24 0 19 0; +#X connect 24 0 20 0; diff --git a/doc/help/cyclone/delta~-help.pd b/doc/help/cyclone/delta~-help.pd new file mode 100644 index 0000000..502ba60 --- /dev/null +++ b/doc/help/cyclone/delta~-help.pd @@ -0,0 +1,45 @@ +#N canvas 1560 299 640 407 10; +#X declare -lib cyclone; +#X text 15 35 Transform a signal into differences between successive +samples; +#X obj 256 268 *~ 0.02; +#X obj 256 187 *~ 50; +#X obj 256 135 phasor~ 2.003; +#X obj 256 160 cos~; +#X obj 256 214 +~ 440; +#X obj 256 239 cycle~; +#X obj 172 181 *~ 200000; +#X floatatom 34 214 0 0 0 0 - - -; +#X obj 34 187 snapshot~ 100; +#X obj 172 300 dac~; +#X obj 172 267 *~ 0.02; +#X obj 172 240 cycle~; +#X obj 172 214 +~ 440; +#X obj 172 104 phasor~ 2; +#X obj 172 128 cos~; +#X msg 34 107 0 \, 5000 5000; +#X obj 34 129 line~; +#X text 173 87 Proposal for a new ambulance siren:; +#X text 257 118 "(ambulance)"; +#X text 34 68 what's the increment between succesive samples of a line? +; +#X obj 447 49 import cyclone; +#X obj 34 157 delta~; +#X obj 172 154 delta~; +#X connect 1 0 10 1; +#X connect 2 0 5 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 1 0; +#X connect 7 0 13 0; +#X connect 9 0 8 0; +#X connect 11 0 10 0; +#X connect 12 0 11 0; +#X connect 13 0 12 0; +#X connect 14 0 15 0; +#X connect 15 0 23 0; +#X connect 16 0 17 0; +#X connect 17 0 22 0; +#X connect 22 0 9 0; +#X connect 23 0 7 0; diff --git a/doc/help/cyclone/edge~-help.pd b/doc/help/cyclone/edge~-help.pd new file mode 100644 index 0000000..993bdd6 --- /dev/null +++ b/doc/help/cyclone/edge~-help.pd @@ -0,0 +1,26 @@ +#N canvas 1239 346 780 382 10; +#X declare -lib cyclone; +#X text 15 35 Detect zero to non-zero signal transitions; +#X text 176 256 zero to non- zero transition; +#X floatatom 156 85 0 0 0 0 - - -; +#X obj 185 235 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 156 259 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 156 113 sig~; +#X text 199 80 change signal value above and below 1; +#X text 209 233 non-zero to zero transition; +#X obj 501 36 import cyclone; +#X obj 299 142 expr~; +#X obj 156 149 expr~ $v1>1; +#X obj 156 200 edge~; +#X obj 209 182 Snapshot~ 100; +#X obj 210 205 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 0 256; +#X connect 2 0 5 0; +#X connect 5 0 10 0; +#X connect 10 0 11 0; +#X connect 10 0 12 0; +#X connect 11 0 4 0; +#X connect 11 1 3 0; +#X connect 12 0 13 0; diff --git a/doc/help/cyclone/frameaccum~-help.pd b/doc/help/cyclone/frameaccum~-help.pd new file mode 100644 index 0000000..237023b --- /dev/null +++ b/doc/help/cyclone/frameaccum~-help.pd @@ -0,0 +1,18 @@ +#N canvas 1440 369 689 466 10; +#X declare -lib cyclone; +#X text 20 70 computes the "running phase" of successive phase deviation +frames; +#X text 28 96 frameaccum~ accumulates each of the values of the previous +input signal vector from those of the current vector; +#X obj 445 37 import cyclone; +#X text 28 124 so \, when used in the context of a pfft~ patch (where +the FFT frame is the vector size) it can be used to compute the running +phase; +#X obj 118 247 Snapshot~ 100; +#X obj 118 272 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 6529 256; +#X obj 117 224 frameaccum~; +#X obj 116 196 sig~ 1; +#X connect 4 0 5 0; +#X connect 6 0 4 0; +#X connect 7 0 6 0; diff --git a/doc/help/cyclone/framedelta~-help.pd b/doc/help/cyclone/framedelta~-help.pd new file mode 100644 index 0000000..961f2e6 --- /dev/null +++ b/doc/help/cyclone/framedelta~-help.pd @@ -0,0 +1,27 @@ +#N canvas 1325 361 647 377 10; +#X declare -lib cyclone; +#X text 15 35 compute the phase deviation between successive FFT frames +; +#X obj 259 154 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 95 148 bang to start the count ->; +#X text 29 88 so \, when used in the context of a pfft~ patch (where +the FFT frame is the vector size) it can be used to compute the phase +deviation; +#X text 28 59 framedelta~ subtracts each of the values of the previous +input signal vector from those of the current vector; +#X obj 459 20 import cyclone; +#X obj 259 181 count~; +#X obj 257 244 framedelta~; +#X obj 257 271 Snapshot~ 100; +#X obj 258 295 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 64 256; +#X obj 152 239 Snapshot~ 100; +#X obj 153 263 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 874432 256; +#X connect 1 0 6 0; +#X connect 6 0 7 0; +#X connect 6 0 10 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 10 0 11 0; diff --git a/doc/help/cyclone/kink~-help.pd b/doc/help/cyclone/kink~-help.pd new file mode 100644 index 0000000..313af8f --- /dev/null +++ b/doc/help/cyclone/kink~-help.pd @@ -0,0 +1,57 @@ +#N canvas 1122 202 897 641 10; +#X declare -lib cyclone; +#X msg 470 359 triglevel 0.01; +#X msg 421 358 4 64; +#X text 51 -9 Distort the output of a phasor~; +#X obj 199 211 - 1; +#X obj 182 257 +~; +#X msg 286 201 1 \, 10 180 10 120 1 700; +#X obj 286 230 line~ 1; +#X obj 52 449 dac~; +#X obj 52 390 *~ 0.05; +#X obj 52 361 cycle~; +#X floatatom 199 188 0 0 0 0 - - -; +#X obj 80 249 phasor~ 440; +#X text 52 16 kink~ takes phasor~ values and distorts them according +to a slope factor. If the input times the slope is less than 0.5 \, +that value is output. Otherwise \, a complentary slope is used \, equal +to 0.5 at the same input value but equal to 1 when the input is 1 This +creates a bend or "kink" in the phase waveform when the slope is not +equal to 1 If you feed the output of kink~ into a cycle~ \, the result +is that the first part (before the kink) of the wavetable is scanned +much more quickly than the second part (after the kink). Can you say +CZ-101? Sure you can.; +#X text 168 285 slope input (float or signal); +#X text 10 279 phase input; +#X text 89 317 distorted phase output; +#X text 89 345 use as table lookup; +#X text 195 300 argument sets initial slope value (default 1.0); +#X obj 540 13 import cyclone; +#X obj 80 297 kink~ 1.3; +#X obj 218 489 Scope~ 130 130 4 3 128 -1 1 0 0 0 0 102 255 51 135 135 +135 0; +#X obj 215 350 Scope~ 130 130 4 3 128 -1 1 0 0 0 0.01 102 255 51 135 +135 135 0; +#X obj 426 335 loadbang; +#X text 440 197 This ramps the slope from 1 to 10 and then back to +1 Combine with an amplitude envelope to achieve BRASS ENS. 1 bliss. +; +#X text 74 150 try different slope values (approx 1-20). Reset to 1 +to use the envelope at right.; +#X connect 0 0 21 0; +#X connect 1 0 20 0; +#X connect 1 0 21 0; +#X connect 3 0 4 1; +#X connect 4 0 19 1; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 8 0 7 0; +#X connect 8 0 7 1; +#X connect 9 0 8 0; +#X connect 9 0 20 0; +#X connect 10 0 3 0; +#X connect 11 0 19 0; +#X connect 19 0 9 1; +#X connect 19 0 21 0; +#X connect 22 0 1 0; +#X connect 22 0 0 0; diff --git a/doc/help/cyclone/log~-help.pd b/doc/help/cyclone/log~-help.pd new file mode 100644 index 0000000..2bb7141 --- /dev/null +++ b/doc/help/cyclone/log~-help.pd @@ -0,0 +1,50 @@ +#N canvas 1168 140 832 409 10; +#X declare -lib cyclone; +#X text 15 35 Output the log (to a specified base) of a signal; +#X obj 377 314 clip~ 0 1; +#X floatatom 460 173 0 0 0 0 - - -; +#X floatatom 439 326 0 0 0 0 - - -; +#X obj 419 240 log~ 2; +#X obj 411 171 line~ 1; +#X msg 406 145 1 \, 1.8 3000 1 300; +#X obj 19 116 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 19 386 dac~; +#X obj 19 330 *~ 0.2; +#X obj 19 243 *~ 440; +#X msg 19 152 1.44 \, 4 3000; +#X obj 19 174 line~ 1; +#X obj 19 300 cycle~; +#X obj 19 207 log~ 2; +#X text 20 58 log~ is useful for generating curves from line~. In the +example below \, log~ with an argument 2 (for log to the base 2) is +used to generate a pitch glissando and a logarithmic amplitude envelope. +; +#X text 58 194 optional argument determines the base of the logarithm. +If no argument is present \, e (the natural logarithm) is used. base +can be changed via right inlet.; +#X text 31 281 result goes from around 220 to 880 Hz; +#X text 402 121 log amplitude envelope; +#X text 103 152 pitch glissando; +#X text 467 200 try different bases...the lower the base (above 1) +the bigger the output. bases between 0 and 1 result in a negative output. +; +#X obj 456 20 import cyclone; +#X text 42 117 click to hear something; +#X obj 439 296 Snapshot~ 50; +#X connect 1 0 9 1; +#X connect 2 0 4 1; +#X connect 4 0 1 0; +#X connect 4 0 23 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 7 0 11 0; +#X connect 7 0 6 0; +#X connect 9 0 8 0; +#X connect 9 0 8 1; +#X connect 10 0 13 0; +#X connect 11 0 12 0; +#X connect 12 0 14 0; +#X connect 13 0 9 0; +#X connect 14 0 10 0; +#X connect 23 0 3 0; diff --git a/doc/help/cyclone/lores~-help.pd b/doc/help/cyclone/lores~-help.pd new file mode 100644 index 0000000..76a2349 --- /dev/null +++ b/doc/help/cyclone/lores~-help.pd @@ -0,0 +1,38 @@ +#N canvas 1511 350 600 410 10; +#X declare -lib cyclone; +#X text 10 2 Low-pass filter with resonance; +#X msg 255 149 200 \, 2000 500 200 1000; +#X floatatom 211 201 0 0 0 0 - - -; +#X floatatom 119 150 0 0 0 0 - - -; +#X msg 119 175 \$1 30; +#X obj 119 199 line~ 200; +#X obj 27 321 dac~; +#X obj 27 285 *~ 0.15; +#X obj 27 125 phasor~ 150; +#X text 17 25 lores~ implements a cheap lowpass with an adjustment +that lets you add the resonance you've been looking for. The middle +inlet sets a kind of cutoff frequency \, but the sharpness of the filter +depends on the resonance. 0 is a little bit sharp and 1 as sharp as +you're going to get.; +#X text 128 230 frequency; +#X text 36 230 input; +#X text 209 312 A special shout out to Jean Laroche for the formula. +; +#X text 219 226 resonance (signal or float); +#X text 27 106 harmonically rich input source; +#X text 36 263 output; +#X text 225 248 arguments for initial cutoff frequency (default 0) +and resonance (default 0); +#X text 114 134 set cutoff frequency; +#X text 256 134 filter sweep; +#X obj 393 31 import cyclone; +#X obj 27 244 lores~ 200 0.75; +#X connect 1 0 5 0; +#X connect 2 0 20 2; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 20 1; +#X connect 7 0 6 0; +#X connect 7 0 6 1; +#X connect 8 0 20 0; +#X connect 20 0 7 0; diff --git a/doc/help/cyclone/maximum~-help.pd b/doc/help/cyclone/maximum~-help.pd new file mode 100644 index 0000000..7cda2ab --- /dev/null +++ b/doc/help/cyclone/maximum~-help.pd @@ -0,0 +1,22 @@ +#N canvas 1645 195 550 348 10; +#X declare -lib cyclone; +#X text 15 35 output the maximum of two signals; +#X obj 272 105 cycle~ 3.14; +#X obj 227 80 cycle~ 2; +#X obj 388 24 import cyclone; +#X obj 226 132 maximum~; +#X obj 226 159 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 52 173 maximum~ 0.5; +#X obj 52 134 sig~; +#X floatatom 52 104 5 0 0 0 - - -; +#X obj 52 198 Snapshot~ 100; +#X obj 53 225 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 0.5 256; +#X connect 1 0 4 1; +#X connect 2 0 4 0; +#X connect 4 0 5 0; +#X connect 6 0 9 0; +#X connect 7 0 6 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; diff --git a/doc/help/cyclone/minimum~-help.pd b/doc/help/cyclone/minimum~-help.pd new file mode 100644 index 0000000..80689d9 --- /dev/null +++ b/doc/help/cyclone/minimum~-help.pd @@ -0,0 +1,22 @@ +#N canvas 1299 353 554 360 10; +#X declare -lib cyclone; +#X text 15 35 output the minimum of two signals; +#X obj 286 97 cycle~ 3.14; +#X obj 242 74 cycle~ 2; +#X obj 351 12 import cyclone; +#X obj 236 142 maximum~; +#X obj 236 169 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 62 144 sig~; +#X floatatom 62 114 5 0 0 0 - - -; +#X obj 62 208 Snapshot~ 100; +#X obj 63 235 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 0 256; +#X obj 62 183 minimum~ 0.5; +#X connect 1 0 4 1; +#X connect 2 0 4 0; +#X connect 4 0 5 0; +#X connect 6 0 10 0; +#X connect 7 0 6 0; +#X connect 8 0 9 0; +#X connect 10 0 8 0; diff --git a/doc/help/cyclone/mstosamps~-help.pd b/doc/help/cyclone/mstosamps~-help.pd new file mode 100644 index 0000000..14f8ba3 --- /dev/null +++ b/doc/help/cyclone/mstosamps~-help.pd @@ -0,0 +1,26 @@ +#N canvas 1097 319 626 352 10; +#X declare -lib cyclone; +#X text 15 35 Convert milliseconds to a number of samples (at the current +sampling rate); +#X msg 271 117 0 \, 1000 3000; +#X floatatom 271 239 0 0 0 0 - - -; +#X obj 271 137 line~; +#X floatatom 87 138 0 0 0 0 - - -; +#X floatatom 30 91 0 0 0 0 - - -; +#X text 281 198 number of samples out (as a signal); +#X text 281 162 number of milliseconds in (as a signal); +#X text 23 68 Use as a calculator or for float parameters; +#X obj 421 24 import cyclone; +#X obj 30 114 mstosamps~; +#X obj 271 178 mstosamps~; +#X obj 271 217 Snapshot~ 100; +#X text 263 92 or convert signal values; +#X text 57 88 number of milliseconds; +#X text 116 139 number of samples; +#X text 312 242 number of samples; +#X connect 1 0 3 0; +#X connect 3 0 11 0; +#X connect 5 0 10 0; +#X connect 10 1 4 0; +#X connect 11 0 12 0; +#X connect 12 0 2 0; diff --git a/doc/help/cyclone/mtr-help.pd b/doc/help/cyclone/mtr-help.pd new file mode 100644 index 0000000..23196f1 --- /dev/null +++ b/doc/help/cyclone/mtr-help.pd @@ -0,0 +1,52 @@ +#N canvas 1277 361 716 487 10; +#X declare -lib cyclone; +#X text -24 41 Multi-track recorder for any kind of message; +#X text -17 322 The leftmost inlet of mtr is a control inlet for all +tracks. You can send the same messages to individual tracks as well. +Each track records what comes into its inlet \, and plays it back through +the outlet directly below the inlet.; +#X text 142 162 argument: int specifies number of tracks (default 1) +up to 32; +#X text -22 283 mtr sends out list with track # and duration when it +receives a "next" message; +#X text -24 66 Choose record to begin recording sliders \, play to +play back; +#X obj 412 31 import cyclone; +#X msg 1 99 record; +#X msg 50 100 play; +#X text 151 93 Control messages sent to an individual track affect +that track only.; +#X obj 155 200 vsl 18 47 0 128 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 800 1; +#X obj 129 200 vsl 18 47 0 128 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 1200 1; +#X obj 103 200 vsl 18 47 0 128 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 900 1; +#X msg 1 191 next; +#X msg 1 168 rewind; +#X obj 61 171 mtr 3; +#X text 351 222 other messages (copied from source):; +#X msg 75 119 stop; +#X text 409 250 mute; +#X text 410 266 unmute; +#X text 411 282 clear; +#X text 410 296 delay ms; +#X text 412 310 write; +#X text 412 324 read; +#X text 412 339 tempo float; +#X obj -2 263 print; +#X text 32 262 track# duration; +#X text 389 381 see also:; +#X obj 453 382 qlist; +#X connect 6 0 14 0; +#X connect 7 0 14 0; +#X connect 9 0 14 3; +#X connect 10 0 14 2; +#X connect 11 0 14 1; +#X connect 12 0 14 0; +#X connect 13 0 14 0; +#X connect 14 0 24 0; +#X connect 14 1 11 0; +#X connect 14 2 10 0; +#X connect 14 3 9 0; +#X connect 16 0 14 0; diff --git a/doc/help/cyclone/onepole~-help.pd b/doc/help/cyclone/onepole~-help.pd new file mode 100644 index 0000000..23ada04 --- /dev/null +++ b/doc/help/cyclone/onepole~-help.pd @@ -0,0 +1,20 @@ +#N canvas 1172 268 591 353 10; +#X declare -lib cyclone; +#X text 37 24 single-pole lowpass filter; +#X text 56 272 onepole's advantages are efficiency and simplicity. +it works well as a pre- or post-processing stage for other treatments +\, such as waveshaping or filtering \, which can benefit from a gentle +roll-off of high frequencies.; +#X text 38 124 this filter is equivalent to a biquad~ object with the +coefficients \, [ a0 = k \, b1 = k - 1 ] \, as demonstrated below. +; +#X text 38 83 where k represents the cutoff frequency in radians. this +generates a single-pole lowpass filter with a 6dB/octave attenuation. +; +#X text 65 66 out = prev + k * (in - prev); +#X text 38 50 onepole~ implements the minimal filter equation:; +#X obj 427 24 import cyclone; +#X text 189 220 inlet 2: float or signal sets cutoff frequency (Hz) +; +#X obj 89 221 onepole~ 300; +#X text 187 236 argument initializes frequency; diff --git a/doc/help/cyclone/phasewrap~-help.pd b/doc/help/cyclone/phasewrap~-help.pd new file mode 100644 index 0000000..89717d9 --- /dev/null +++ b/doc/help/cyclone/phasewrap~-help.pd @@ -0,0 +1,15 @@ +#N canvas 1245 270 439 202 10; +#X declare -lib cyclone; +#X text 15 35 wrap a signal between -pi and pi; +#X obj 270 39 import cyclone; +#X obj 106 83 sig~; +#X obj 108 60 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 41 256; +#X obj 106 116 phasewrap~; +#X obj 107 152 Snapshot~ 100; +#X obj 106 177 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 -2.9823 256; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; diff --git a/doc/help/cyclone/pink~-help.pd b/doc/help/cyclone/pink~-help.pd new file mode 100644 index 0000000..6bc6ada --- /dev/null +++ b/doc/help/cyclone/pink~-help.pd @@ -0,0 +1,18 @@ +#N canvas 1352 396 489 429 10; +#X declare -lib cyclone; +#X text 15 35 Pink noise generator; +#X obj 80 337 dac~; +#X obj 80 264 *~ 0.2; +#X text 20 141 pink~ is pretty simple. just connect its outlet to something +and you get noise. the signal input is ignored.; +#X text 18 58 pink~ generates pink noise \, as distinguished from white +noise (which the MSP object noise~ generates). White noise has constant +spectral power per hertz of bandwidth \, while pink noise has constant +power per octave. Subjectively \, pink noise sounds less hissy than +white noise.; +#X obj 310 34 import cyclone; +#X text 112 243; +#X obj 80 228 pink~; +#X connect 2 0 1 0; +#X connect 2 0 1 1; +#X connect 7 0 2 0; diff --git a/doc/help/cyclone/poke~-help.pd b/doc/help/cyclone/poke~-help.pd new file mode 100644 index 0000000..6ac437b --- /dev/null +++ b/doc/help/cyclone/poke~-help.pd @@ -0,0 +1,44 @@ +#N canvas 1391 272 831 462 10; +#X declare -lib cyclone; +#X declare -lib zexy; +#X msg 278 155 0; +#X floatatom 342 154 0 0 0 0 - - -; +#X obj 182 204 sig~ -1; +#X text -5 280 value; +#X obj 37 263 cycle~ 440; +#X text 120 276 index; +#X text 103 303 channel; +#X text 298 198 a source of an increasing index \, also consider fft~ +; +#X text 6 41 poke~ allows you to write samples into a buffer~ at sample +locations specified by a signal. Typically \, the signal will increase +in value by 1 with each sample to write successive values into successive +samples (like record~). If the index signal is negative or larger than +the size of the buffer~ \, no data is recorded.; +#X text 392 157 count maximum sets the number of samples recorded (think +of it as the loop size); +#X text 12 23 Write into a table using a signal sample index; +#X obj 458 50 import cyclone; +#X obj 443 256 table foo 1000; +#X obj 38 309 poke~ foo; +#X text 37 330 arguments are name of table (required) and initial channel +to write (optional \, default 1); +#X obj 561 49 import zexy; +#X obj 146 249 multiplex~ 0 1; +#X msg -8 168 0; +#X msg -8 145 1; +#X text 23 146 start writing; +#X text 23 167 stop writing by sending -1 signal; +#X floatatom 279 261 5 0 0 0 - - -; +#X obj 278 177 count~ 0 2048; +#X obj 279 235 Snapshot~ 100; +#X connect 0 0 22 0; +#X connect 1 0 22 1; +#X connect 2 0 16 0; +#X connect 4 0 13 0; +#X connect 16 0 13 1; +#X connect 17 0 16 0; +#X connect 18 0 16 0; +#X connect 22 0 16 1; +#X connect 22 0 23 0; +#X connect 23 0 21 0; diff --git a/doc/help/cyclone/poltocar~-help.pd b/doc/help/cyclone/poltocar~-help.pd new file mode 100644 index 0000000..54747ab --- /dev/null +++ b/doc/help/cyclone/poltocar~-help.pd @@ -0,0 +1,16 @@ +#N canvas 1382 212 440 290 10; +#X text 15 35 Polar to cartesian coordinate conversion.; +#X text 113 151 phase (in 271 radians); +#X obj 64 234 ifft~ 256 256 0; +#X obj 64 210 poltocar~; +#X obj 64 135 cartopol~; +#X obj 64 112 fft~ 256 256 0; +#X text 44 151 amp.; +#X text 61 77 Here's how to connect it to an fft~:; +#X text 115 177 <- do some spectral processing here; +#X connect 3 0 2 0; +#X connect 3 1 2 1; +#X connect 4 0 3 0; +#X connect 4 1 3 1; +#X connect 5 0 4 0; +#X connect 5 1 4 1; diff --git a/doc/help/cyclone/pong~-help.pd b/doc/help/cyclone/pong~-help.pd new file mode 100644 index 0000000..efff81e --- /dev/null +++ b/doc/help/cyclone/pong~-help.pd @@ -0,0 +1,60 @@ +#N canvas 1472 392 646 472 10; +#X declare -lib cyclone; +#X text 25 -55 fold or wrap a signal within a given range; +#X text 305 104 lo val; +#X text 360 104 hi val; +#X floatatom 361 121 0 0 0 0 - - -; +#X floatatom 305 121 0 0 0 0 - - -; +#X floatatom 236 116 0 0 0 0 - - -; +#X obj 236 137 phasor~ 4; +#X text 86 117 lo val; +#X text 162 112 hi val; +#X obj 163 150 sig~ 0.25; +#X floatatom 163 129 0 0 0 0 - - -; +#X obj 86 155 sig~ -0.25; +#X floatatom 86 134 0 0 0 0 - - -; +#X floatatom 14 120 0 0 0 0 - - -; +#X obj 14 141 phasor~ 4; +#X text 28 -30 pong either folds or wraps its input within the range +of a lo val and a hi val. The optional arguments are <mode> <lo val> +<high val>. mode 0 is fold \, mode 1 is wrap. The default mode is fold. +The default range is zero to one. If hi val is greater than lo val +\, their behavior is swapped. All inlets accept both signals and floats. +The mode <int> message may be used to switch between fold and wrap +mode. It is useful for performing modulo arithmetic \, as well as foldover +or wraparound distortion.; +#X obj 448 -20 import cyclone; +#X obj 29 252 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 237 272 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 256 222 Snapshot~ 100; +#X obj 257 245 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 0.0467523 256; +#X obj 45 207 Snapshot~ 100; +#X obj 46 230 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 0.0467523 256; +#X obj 30 179 pong~ 0 -0.25 0.25; +#X obj 237 197 pong~ 1 -0.25 0.25; +#X msg 425 147 mode 0; +#X msg 424 174 mode 1; +#X text 471 147 fold; +#X text 472 173 wrap; +#X connect 3 0 24 2; +#X connect 4 0 24 1; +#X connect 5 0 6 0; +#X connect 6 0 24 0; +#X connect 9 0 23 2; +#X connect 10 0 9 0; +#X connect 11 0 23 1; +#X connect 12 0 11 0; +#X connect 13 0 14 0; +#X connect 14 0 23 0; +#X connect 19 0 20 0; +#X connect 21 0 22 0; +#X connect 23 0 17 0; +#X connect 23 0 21 0; +#X connect 24 0 18 0; +#X connect 24 0 19 0; +#X connect 25 0 24 0; +#X connect 26 0 24 0; diff --git a/doc/help/cyclone/pow~-help.pd b/doc/help/cyclone/pow~-help.pd new file mode 100644 index 0000000..4f299e3 --- /dev/null +++ b/doc/help/cyclone/pow~-help.pd @@ -0,0 +1,51 @@ +#N canvas 1115 248 768 482 10; +#X declare -lib cyclone; +#X text 24 -2 Take base to the exponent power using signals; +#X obj 471 264 *~ 0.2; +#X msg 471 143 -7 \, 1 1500 -1 1500 -7 300; +#X obj 509 206 sig~ 2; +#X obj 471 240 pow~; +#X obj 47 94 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 47 355 dac~; +#X obj 47 305 *~; +#X obj 47 239 *~ 440; +#X msg 47 125 -1 \, 1 3000; +#X obj 47 276 cycle~; +#X obj 47 196 pow~ 2; +#X text 26 23 pow~ is useful for generating curves from line~. In the +example below \, pow~ with an argument 2 (for 2 to the exponent specified +by the input signal) is used to generate a pitch glissando.; +#X text 101 193 optional argument determines the base of the power +function. Default is 0; +#X text 59 257 result goes from 220 to 880 Hz; +#X text 119 126 pitch glissando; +#X text 510 236 base can be a signal too; +#X text 137 180 base in; +#X text 320 89 amplitude envelope. 2 to the -7 doesn't completely shut +off the signal...; +#X text 57 180 exponent in; +#X text 57 215 result out; +#X obj 608 8 import cyclone; +#X obj 481 319 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X text 69 95 click to hear something; +#X obj 107 327 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 471 176 Line~ -7; +#X obj 47 147 Line~ -1; +#X connect 1 0 7 1; +#X connect 1 0 22 0; +#X connect 2 0 25 0; +#X connect 3 0 4 1; +#X connect 4 0 1 0; +#X connect 5 0 9 0; +#X connect 5 0 2 0; +#X connect 7 0 6 0; +#X connect 7 0 24 0; +#X connect 8 0 10 0; +#X connect 9 0 26 0; +#X connect 10 0 7 0; +#X connect 11 0 8 0; +#X connect 25 0 4 0; +#X connect 26 0 11 0; diff --git a/doc/help/cyclone/rampsmooth~-help.pd b/doc/help/cyclone/rampsmooth~-help.pd new file mode 100644 index 0000000..ae54800 --- /dev/null +++ b/doc/help/cyclone/rampsmooth~-help.pd @@ -0,0 +1,39 @@ +#N canvas 1475 367 502 431 10; +#X declare -lib cyclone; +#X text 15 35 smooth out an incoming signal via a ramp; +#X msg 49 161 1; +#X msg 18 161 0; +#X msg 217 222 rampdown \$1; +#X floatatom 217 203 0 0 0 0 - - -; +#X msg 155 222 rampup \$1; +#X floatatom 155 203 0 0 0 0 - - -; +#X text 19 60 rampsmooth~ smooths an incoming signal across n samples. +Each time an incoming value changes \, it begins a linear ramp of n +samples to reach this value. Useful for envelope following and lowpass +filtering. The number of samples is specified either as arguments or +with the ramp \, rampup \, rampdown messages.; +#X obj 32 222 sig~; +#X floatatom 32 203 0 0 0 0 - - -; +#X msg 93 222 ramp \$1; +#X floatatom 93 203 0 0 0 0 - - -; +#X text 181 246 args: <rampup> <rampdown>; +#X obj 144 280 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 367 43 import cyclone; +#X obj 32 246 rampsmooth~ 44100 44100; +#X obj 32 294 Snapshot~ 100; +#X obj 33 325 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 2.29181e-18 256; +#X connect 1 0 9 0; +#X connect 2 0 9 0; +#X connect 3 0 15 0; +#X connect 4 0 3 0; +#X connect 5 0 15 0; +#X connect 6 0 5 0; +#X connect 8 0 15 0; +#X connect 9 0 8 0; +#X connect 10 0 15 0; +#X connect 11 0 10 0; +#X connect 15 0 13 0; +#X connect 15 0 16 0; +#X connect 16 0 17 0; diff --git a/doc/help/cyclone/reson~-help.pd b/doc/help/cyclone/reson~-help.pd new file mode 100644 index 0000000..112bfdf --- /dev/null +++ b/doc/help/cyclone/reson~-help.pd @@ -0,0 +1,36 @@ +#N canvas 1309 248 577 450 10; +#X declare -lib cyclone; +#X text 15 35 Bandpass filter controllable by center frequency and +Q; +#X obj 32 382 dac~; +#X obj 32 343 *~ 0.2; +#X floatatom 160 294 0 0 0 0 - - -; +#X msg 133 227 200 \, 10000 4000; +#X obj 31 210 noise~; +#X text 36 226 input signal; +#X text 133 211 center freq; +#X text 88 250 gain; +#X text 172 325 optional arguments set values of gain \, center frequency +\, and Q (default 0 \, 0 \, 0.01); +#X text 88 182 list sets gain \, cf \, q (works unless there are any +signal inputs for filter parameters); +#X text 42 316 filtered output; +#X text 15 62 reson~ implements the following filter equation: y[n] += gain * (x[n] - r * x[n-2]) + c1 * y[n-1] + c2 * y[n-2] \, where r +\, c1 \, and c2 are parameters calculated from the input center frequency +and Q. Q is the filter bandwidth divided by center frequency. Inputs +can be floats or signals. The specification is similar to the nres +unit generator in cmusic.; +#X obj 374 38 import cyclone; +#X obj 32 294 reson~ 1 200 23; +#X obj 133 250 Line~ 200; +#X floatatom 60 254 0 0 0 0 - - -; +#X text 158 276 Q: Try range of 1-100; +#X connect 2 0 1 0; +#X connect 2 0 1 1; +#X connect 3 0 14 3; +#X connect 4 0 15 0; +#X connect 5 0 14 0; +#X connect 14 0 2 0; +#X connect 15 0 14 2; +#X connect 16 0 14 1; diff --git a/doc/help/cyclone/sah~-help.pd b/doc/help/cyclone/sah~-help.pd new file mode 100644 index 0000000..851960d --- /dev/null +++ b/doc/help/cyclone/sah~-help.pd @@ -0,0 +1,40 @@ +#N canvas 1356 280 739 524 10; +#X declare -lib cyclone; +#X text 15 35 Sample-and-hold; +#X obj 109 405 cycle~; +#X obj 109 377 *~ 1000; +#X obj 109 433 *~ 0.2; +#X floatatom 109 208 0 0 0 0 - - -; +#X obj 109 241 phasor~ 20; +#X floatatom 323 206 0 0 0 0 - - -; +#X floatatom 122 270 0 0 0 0 - - -; +#X obj 109 468 dac~; +#X obj 323 239 phasor~ 11.33; +#X text 282 312 Optional argument sets trigger value for control input +(default 0) \; you need a trigger above 0 to work with phasor~; +#X text 13 171 You've heard it before: the classic arpeggiator \, made +with two phasor~ objects; +#X text 207 290 control signal; +#X text 29 294 input signal; +#X text 161 377 sah~ output used as the frequency of an oscillator +; +#X text 161 271 set trigger; +#X obj 436 104 import cyclone; +#X obj 109 310 sah~ 0.01; +#X text 16 60 The sah~ object accepts two signals. The left signal +is the "input" and the right signal is the "control." When the control +makes a transition from being at or below the trigger value to being +above the trigger value \, the input is sampled and its current value +is output until another control transition occurs and the input is +sampled again. The default threshold value is 0 \, but can be specified +via a float in the left inlet or as an argument to sah~.; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 8 0; +#X connect 3 0 8 1; +#X connect 4 0 5 0; +#X connect 5 0 17 0; +#X connect 6 0 9 0; +#X connect 7 0 17 0; +#X connect 9 0 17 1; +#X connect 17 0 2 0; diff --git a/doc/help/cyclone/sampstoms~-help.pd b/doc/help/cyclone/sampstoms~-help.pd new file mode 100644 index 0000000..79313ed --- /dev/null +++ b/doc/help/cyclone/sampstoms~-help.pd @@ -0,0 +1,28 @@ +#N canvas 1420 346 579 354 10; +#X declare -lib cyclone; +#X text 16 15 Convert number of samples (at the current sampling rate) +to milliseconds; +#X msg 263 127 0 \, 44100 3000; +#X floatatom 263 248 0 0 0 0 - - -; +#X obj 263 187 sampstoms~; +#X floatatom 79 171 0 0 0 0 - - -; +#X obj 25 139 sampstoms~; +#X floatatom 25 116 0 0 0 0 - - -; +#X text 74 118 number of samples in; +#X text 90 155 number of milliseconds out; +#X text 17 44 Many signal objects accepts arguments or inputs in milliseconds +but sometimes you want to make calculations in samples. sampstoms~ +can perform the conversion.; +#X text 272 208 milliseconds out (as a signal); +#X text 273 171 number of samples in (as a signal); +#X obj 263 226 Snapshot~ 100; +#X obj 403 30 import cyclone; +#X obj 263 146 Line~; +#X text 18 93 Use as a calculator or for float parameters; +#X text 247 110 or convert signal values; +#X connect 1 0 14 0; +#X connect 3 0 12 0; +#X connect 5 1 4 0; +#X connect 6 0 5 0; +#X connect 12 0 2 0; +#X connect 14 0 3 0; diff --git a/doc/help/cyclone/sinh~-help.pd b/doc/help/cyclone/sinh~-help.pd new file mode 100644 index 0000000..5107826 --- /dev/null +++ b/doc/help/cyclone/sinh~-help.pd @@ -0,0 +1,29 @@ +#N canvas 1340 279 613 343 10; +#X declare -lib cyclone; +#X text 268 91 this is probably only useful for mathematical calculations +; +#X obj 18 78 cycle~ 2; +#X msg 235 149 range -12 12; +#X obj 150 110 -~ 3.14159; +#X text 15 35 Hyperbolic sine function (sinh(x)) for signals; +#X obj 150 87 *~ 6.28319; +#X obj 150 65 phasor~ 2; +#X obj 18 109 *~ 3.14159; +#X obj 334 36 import cyclone; +#X obj 158 175 Scope~ 130 130 256 3 128 -12 12 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 18 175 Scope~ 130 130 256 3 128 -12 12 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 236 123 loadbang; +#X obj 149 140 sinh~; +#X obj 18 140 sinh~; +#X connect 1 0 7 0; +#X connect 2 0 9 0; +#X connect 2 0 10 0; +#X connect 3 0 12 0; +#X connect 5 0 3 0; +#X connect 6 0 5 0; +#X connect 7 0 13 0; +#X connect 11 0 2 0; +#X connect 12 0 9 0; +#X connect 13 0 10 0; diff --git a/doc/help/cyclone/sinx~-help.pd b/doc/help/cyclone/sinx~-help.pd new file mode 100644 index 0000000..3e15e33 --- /dev/null +++ b/doc/help/cyclone/sinx~-help.pd @@ -0,0 +1,19 @@ +#N canvas 1242 323 510 310 10; +#X declare -lib cyclone; +#X msg 124 135 range -1 1; +#X obj 22 89 *~ 6.28319; +#X obj 22 64 phasor~ 2; +#X text 15 35 sin(x) for signals; +#X text 101 65 this is a real sine function whose input expects values +between 0 and 2pi (similar to cosx~ but unlike cos~ which is designed +to work with phasor~'s output from 0 to 1); +#X obj 324 43 import cyclone; +#X obj 22 161 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 124 115 loadbang; +#X obj 22 121 sinx~; +#X connect 0 0 6 0; +#X connect 1 0 8 0; +#X connect 2 0 1 0; +#X connect 7 0 0 0; +#X connect 8 0 6 0; diff --git a/doc/help/cyclone/slide~-help.pd b/doc/help/cyclone/slide~-help.pd new file mode 100644 index 0000000..51fe81c --- /dev/null +++ b/doc/help/cyclone/slide~-help.pd @@ -0,0 +1,32 @@ +#N canvas 1447 355 468 384 10; +#X declare -lib cyclone; +#X text 15 35 Smooth-out changes in signal values; +#X text 174 200 args: <slideup> <slidedown>; +#X floatatom 155 156 0 0 0 0 - - -; +#X msg 69 130 1; +#X msg 31 129 0; +#X text 154 136 slide down; +#X floatatom 96 156 0 0 0 0 - - -; +#X text 16 61 Slide filters an input signal logarithmically between +changes in signal value. The formula is y(n) = y(n-1) + ((x(n) - y(n-1))/slide). +It's particularly useful for envelope following and lowpass filtering. +; +#X obj 37 174 sig~; +#X floatatom 37 155 0 0 0 0 - - -; +#X text 96 136 slide up; +#X obj 330 35 import cyclone; +#X obj 227 239 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 37 237 Snapshot~ 100; +#X obj 38 262 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-262144 -1 -1 0.999851 256; +#X obj 37 198 slide~ 5000 5000; +#X connect 2 0 15 2; +#X connect 3 0 9 0; +#X connect 4 0 9 0; +#X connect 6 0 15 1; +#X connect 8 0 15 0; +#X connect 9 0 8 0; +#X connect 13 0 14 0; +#X connect 15 0 12 0; +#X connect 15 0 13 0; diff --git a/doc/help/cyclone/spike~-help.pd b/doc/help/cyclone/spike~-help.pd new file mode 100644 index 0000000..9f1fb6b --- /dev/null +++ b/doc/help/cyclone/spike~-help.pd @@ -0,0 +1,28 @@ +#N canvas 1343 463 511 227 10; +#X declare -lib cyclone; +#X text 15 35 Report intervals of zero to non-zero transitions; +#X obj 64 162 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 40 162 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 40 138 edge~; +#X obj 86 181 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X floatatom 215 101 0 0 0 0 - - -; +#X floatatom 119 62 0 0 0 0 - - -; +#X floatatom 119 180 0 0 0 0 - - -; +#X obj 119 90 train~ 85.5; +#X text 168 58 adjust interval; +#X text 253 100 set refractory period; +#X text 130 156 interval output; +#X text 57 120 signal input; +#X obj 359 38 import cyclone; +#X obj 119 137 spike~; +#X connect 3 0 2 0; +#X connect 3 1 1 0; +#X connect 5 0 14 1; +#X connect 6 0 8 0; +#X connect 8 0 3 0; +#X connect 8 0 14 0; +#X connect 14 0 4 0; +#X connect 14 0 7 0; diff --git a/doc/help/cyclone/svf~-help.pd b/doc/help/cyclone/svf~-help.pd new file mode 100644 index 0000000..5c298f9 --- /dev/null +++ b/doc/help/cyclone/svf~-help.pd @@ -0,0 +1,114 @@ +#N canvas 1281 327 924 425 10; +#X declare -lib cyclone; +#X obj 407 306 dac~; +#N canvas 324 234 556 460 svf_part2 0; +#X text -1 306 onepole~.help contains yet another example.; +#X text -1 382 svf~ accepts arguments or max messages to change the +frequency input mode. it is generally recommended to set the mode with +an argument and leave it constant \, to avoid confusion.; +#X text -1 244 try sweeping the cutoff frequency in linear mode \, +then in radians mode \, to appreciate the difference. a similar principle +operates in the amplitude domain \, where exponential audio faders +are used to match our logarithmic perception of loudness.; +#X text -51 134 linear; +#X text -27 81 Hz; +#X text -1 177 in this mode \, input values from (0 -> 1) are interpreted +as radians \, producing a quarter-cycle sinusoidal mapping to cutoff +frequencies. this conforms the frequency mapping to a response that +is closer to our logarithmic perception of pitch.; +#X text -1 125 this mode is essentially the same \, but with a normalized +input range. linear input values from (0 -> 1) are mapped to cutoff +frequencies in the effective range \, (0 -> fs/4).; +#X text -1 72 this is the default mode. input values set the cutoff +frequency directly. therefore \, the input range is the same as the +cutoff frequency (0 -> fs/4) \, and response is linear.; +#X text -1 9 svf~ has three different modes for mapping input values +onto cutoff frequency. these are mainly for convenience \, but they +may also improve efficiency slightly.; +#X text -1 329 since svf~ only samples its control inputs once per +vector \, it is more efficient to use the radians mode than to do logarithmic +scaling outside the object at audio rate.; +#X text -59 191 radians; +#X restore 617 344 pd svf_part2; +#X text 16 12 state-variable filter; +#X text 8 273 special thanks to 2up; +#X msg 379 81 0.5; +#X text 545 118 frequency range is 0 - f(s)/4; +#X obj 409 151 noise~; +#X text 8 158 Floats or signals can modify these in real-time. The +value of these parameters is only sampled once per signal vector.; +#X text 8 138 Arguments are cutoff frequency (Hz) \, and resonance +(0-1).; +#X text 8 93 One of its advantages is that the it produces low-pass +\, high-pass \, band-pass \, and band-reject (notch) output simultaneously +- so all four are available in parallel.; +#X text 8 65 svf~ implements Chamberlin's state-variable filter algorithm. +; +#X msg 422 86 37; +#X text 553 164 left: (signal) filter input; +#X text 527 254 outputs: lowpass \, highpass \, bandpass \, notch; +#X text 553 192 right: (signal/float) resonance (0 - 1); +#X text 553 178 middle: (signal/float) cutoff frequency; +#X obj 346 25 loadbang; +#X obj 458 106 * 11025; +#X obj 458 85 / 512; +#X floatatom 458 127 0 0 0 0 - - -; +#N canvas 40 55 716 389 svf_algorithm 0; +#X text 242 290 bandstop = lowpass + hipass \;; +#X text 59 179 this is the dsp loop. note how the calculations work +together to produce all four outputs simultaneously.; +#X text 62 123 first \, convert hz to radians (this step is not necessary +in radians input mode); +#X text 44 82 this is the basic algorithm inside svf~:; +#X text 237 137 cf_radians = sin(2. * PI * cf_hz * x->ifs) \;; +#X text 242 258 bandpass = bandpass + cf_radians * hipass \;; +#X text 242 242 hipass = in_samp - lowpass - q * bandpass \;; +#X text 242 226 lowpass = lowpass + (cf_radians * bandpass) \;; +#X text 242 274 bandpass = bandpass - (bandpass ^ 3.) * 0.0001 \;; +#X restore 499 344 pd svf_algorithm; +#X text 8 240 (float) resonance (0-1); +#X text 8 226 (float) cutoff frequency (Hz); +#X text 8 212 arguments (optional):; +#X obj 526 201 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 493 201 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 460 201 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 427 201 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X obj 508 219 *~ 0; +#X obj 475 219 *~ 0; +#X obj 442 219 *~ 0; +#X obj 409 219 *~ 0; +#X floatatom 507 151 0 0 0 0 - - -; +#X obj 498 12 import cyclone; +#X obj 409 175 svf~ 797 0.5; +#X obj 409 269 *~ 0.7; +#X obj 464 54 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 3700 1; +#X connect 4 0 32 0; +#X connect 6 0 34 0; +#X connect 11 0 36 0; +#X connect 16 0 4 0; +#X connect 16 0 11 0; +#X connect 16 0 27 0; +#X connect 17 0 19 0; +#X connect 18 0 17 0; +#X connect 19 0 34 1; +#X connect 24 0 28 1; +#X connect 25 0 29 1; +#X connect 26 0 30 1; +#X connect 27 0 31 1; +#X connect 28 0 35 0; +#X connect 29 0 35 0; +#X connect 30 0 35 0; +#X connect 31 0 35 0; +#X connect 32 0 34 2; +#X connect 34 0 31 0; +#X connect 34 1 30 0; +#X connect 34 2 29 0; +#X connect 34 3 28 0; +#X connect 35 0 0 0; +#X connect 35 0 0 1; +#X connect 36 0 18 0; diff --git a/doc/help/cyclone/tanh~-help.pd b/doc/help/cyclone/tanh~-help.pd new file mode 100644 index 0000000..695d98d --- /dev/null +++ b/doc/help/cyclone/tanh~-help.pd @@ -0,0 +1,46 @@ +#N canvas 1443 211 694 400 10; +#X declare -lib cyclone; +#X obj 510 185 +~ 11; +#X obj 505 158 *~ 10; +#X obj 505 134 cycle~ 0.5; +#X obj 425 134 cycle~ 110; +#X floatatom 39 92 0 0 0 0 - - -; +#X obj 18 115 *~ 1; +#X text 22 338 outputs signal values always between -1 and 1; +#X obj 439 205 *~ 1; +#X obj 439 273 *~ 0.1; +#X obj 18 71 cycle~ 2; +#X obj 150 110 -~ 3.14159; +#X obj 150 87 *~ 6.28319; +#X obj 150 65 phasor~ 2; +#X obj 439 310 dac~; +#X text 477 242 outputs soft clipped signal; +#X text 15 11 Hyperbolic tangent function (tanh(x)) for signals; +#X text 11 33 turn a sine wave into a square wave by cranking up the +volume!; +#X text 327 95 can be used to simulate analog distortion \, and is +much "smoother" than using clip~; +#X obj 437 13 import cyclone; +#X obj 439 238 tanh~; +#X obj 18 175 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 154 175 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 150 141 tanh~; +#X obj 18 139 tanh~; +#X connect 0 0 7 1; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 7 0; +#X connect 4 0 5 1; +#X connect 5 0 23 0; +#X connect 7 0 19 0; +#X connect 8 0 13 0; +#X connect 8 0 13 1; +#X connect 9 0 5 0; +#X connect 10 0 22 0; +#X connect 11 0 10 0; +#X connect 12 0 11 0; +#X connect 19 0 8 0; +#X connect 22 0 21 0; +#X connect 23 0 20 0; diff --git a/doc/help/cyclone/tanx~-help.pd b/doc/help/cyclone/tanx~-help.pd new file mode 100644 index 0000000..1f6d0de --- /dev/null +++ b/doc/help/cyclone/tanx~-help.pd @@ -0,0 +1,18 @@ +#N canvas 1260 275 593 376 10; +#X declare -lib cyclone; +#X msg 124 135 range -10 10; +#X obj 22 89 *~ 6.28319; +#X obj 22 64 phasor~ 2; +#X text 15 35 tan(x) for signals; +#X text 101 65 this is a real tangent function whose input expects +values between 0 and 2pi (similar to cosx~ and sinx~); +#X text 15 305 output values are asymptotic to inf/-inf when input +values approach -pi/2 and pi/2; +#X obj 22 161 Scope~ 130 130 256 3 128 -10 10 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 477 50 import cyclone; +#X obj 22 122 tanx~; +#X connect 0 0 6 0; +#X connect 1 0 8 0; +#X connect 2 0 1 0; +#X connect 8 0 6 0; diff --git a/doc/help/cyclone/train~-help.pd b/doc/help/cyclone/train~-help.pd new file mode 100644 index 0000000..4b6bb88 --- /dev/null +++ b/doc/help/cyclone/train~-help.pd @@ -0,0 +1,44 @@ +#N canvas 196 287 680 395 10; +#X declare -lib cyclone; +#X text 14 3 Pulse-train generator and metronome; +#X floatatom 304 203 0 0 0 0 - - -; +#X obj 26 318 *~ 0.2; +#X obj 26 356 dac~; +#X obj 26 296 cycle~; +#X obj 26 271 *~ 1000; +#X msg 84 143 200 \, 100 5000 200 5000; +#X obj 26 217 noise~; +#X obj 26 247 sah~; +#X obj 231 243 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 218 163 0 0 0 0 - - -; +#X text 256 243 bang output when transition from 0 to 1 occurs; +#X text 20 27 train~ generates a pulse signal whose period is specifiable +in terms of milliseconds (see <~ for a method of making a pulse wave +at a specified frequency). It also sends out a bang when going from +0 to 1 \, so it can be used as a metronome with a floating-point interval. +The signal output can be used as a control input for sah~ as shown +in the example below \, or at very small intervals \, it is audible. +; +#X text 242 162 signal/float sets pulse width (0.01 to .99); +#X text 239 138 signal/float sets pulse period (ms); +#X text 182 275 Optional arguments set initial interval (default 1000) +\, width (default .5) \, and phase (default 0).; +#X text 335 201 signal/float sets phase of 0-1 transition within pulse +period (0 to 1); +#X obj 449 55 import cyclone; +#X text 83 128 modulate interval; +#X obj 84 164 Line~ 200; +#X obj 84 220 train~ 200 0.75; +#X connect 1 0 20 2; +#X connect 2 0 3 0; +#X connect 2 0 3 1; +#X connect 4 0 2 0; +#X connect 5 0 4 0; +#X connect 6 0 19 0; +#X connect 7 0 8 0; +#X connect 8 0 5 0; +#X connect 10 0 20 1; +#X connect 19 0 20 0; +#X connect 20 0 8 1; +#X connect 20 1 9 0; diff --git a/doc/help/cyclone/trapezoid~-help.pd b/doc/help/cyclone/trapezoid~-help.pd new file mode 100644 index 0000000..13edb66 --- /dev/null +++ b/doc/help/cyclone/trapezoid~-help.pd @@ -0,0 +1,34 @@ +#N canvas 1259 367 519 388 10; +#X declare -lib cyclone; +#X text 29 14 a trapezoidal wavetable; +#X text 278 153 args: <up> <down>; +#X floatatom 96 102 0 0 0 0 - - -; +#X msg 96 123 hi \$1; +#X floatatom 34 102 0 0 0 0 - - -; +#X msg 34 123 lo \$1; +#X text 262 107 down; +#X floatatom 139 105 0 0 0 0 - - -; +#X text 36 40 trapezoid~ is a trapezoidal wavetable with signal inputs +to change ramp up/down phase position. The default lo/hi points are +0 and 1 \, but may be changed using the lo/hi messages.; +#X text 207 107 up; +#X obj 148 228 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X obj 257 20 import cyclone; +#X obj 174 181 Snapshot~ 100; +#X floatatom 175 206 5 0 0 0 - - -; +#X obj 149 150 trapezoid~ 0.1 0.9; +#X obj 263 126 sig~ 0.9; +#X obj 205 127 sig~ 0.1; +#X obj 139 126 phasor~ 2; +#X connect 2 0 3 0; +#X connect 3 0 14 0; +#X connect 4 0 5 0; +#X connect 5 0 14 0; +#X connect 7 0 17 0; +#X connect 12 0 13 0; +#X connect 14 0 10 0; +#X connect 14 0 12 0; +#X connect 15 0 14 2; +#X connect 16 0 14 1; +#X connect 17 0 14 0; diff --git a/doc/help/cyclone/vectral~-help.pd b/doc/help/cyclone/vectral~-help.pd new file mode 100644 index 0000000..64c5354 --- /dev/null +++ b/doc/help/cyclone/vectral~-help.pd @@ -0,0 +1,81 @@ +#N canvas 1476 327 631 562 10; +#X declare -lib cyclone; +#X text 15 35 a vector based envelope follower.; +#X msg 243 350 2; +#X obj 312 332 loadbang; +#X msg 165 341 128; +#X msg 339 369 range 0 10; +#X obj 35 305 sqrt~; +#X text 195 419 more information about the different modes may be gleaned +from the rampsmooth~ \, deltaclip~ \, and slide~ helpfiles simply think +of the changes happening between frames rather than between samples +; +#X text 298 235 - deltaclip <max> <min> \; limits the change in samples +to be in the given range; +#X floatatom 257 116 0 0 0 0 - - -; +#X floatatom 210 116 0 0 0 0 - - -; +#X obj 163 243 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 257 227 0 0 0 0 - - -; +#X floatatom 210 227 0 0 0 0 - - -; +#X obj 163 260 pack deltaclip 1 -1; +#X obj 162 188 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 256 172 0 0 0 0 - - -; +#X floatatom 209 172 0 0 0 0 - - -; +#X obj 162 205 pack slide 1 1; +#X text 298 179 - slide <up> <down> \; logarithmic movement to new +value; +#X obj 163 132 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 163 149 pack rampsmooth 1 1; +#X obj 36 160 adc~; +#X obj 36 234 +~; +#X obj 69 209 *~; +#X obj 36 209 *~; +#X obj 36 184 fft~ 256 256 0; +#X text 17 60 vectral~ is useful for filtering frame based signal data +such as the output of fft~. It may operate in one of the following +modes:; +#X text 298 123 - rampsmooth <up> <down> \; linear ramp across up/down +frames to the new value; +#X text 125 282 argument is vector size(default 512). whichever mode's +message is received last is the current mode of operation; +#X obj 308 32 import cyclone; +#X obj 35 284 vectral~ 256; +#X obj 39 396 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135 +135 135 0; +#X connect 1 0 31 0; +#X connect 2 0 3 0; +#X connect 2 0 1 0; +#X connect 2 0 4 0; +#X connect 3 0 31 1; +#X connect 4 0 31 0; +#X connect 5 0 31 0; +#X connect 8 0 19 0; +#X connect 8 0 20 2; +#X connect 9 0 19 0; +#X connect 9 0 20 1; +#X connect 10 0 13 0; +#X connect 11 0 10 0; +#X connect 11 0 13 2; +#X connect 12 0 10 0; +#X connect 12 0 13 1; +#X connect 13 0 30 0; +#X connect 14 0 17 0; +#X connect 15 0 14 0; +#X connect 15 0 17 2; +#X connect 16 0 14 0; +#X connect 16 0 17 1; +#X connect 17 0 30 0; +#X connect 19 0 20 0; +#X connect 20 0 30 0; +#X connect 21 0 25 0; +#X connect 22 0 30 2; +#X connect 23 0 22 1; +#X connect 24 0 22 0; +#X connect 25 0 24 0; +#X connect 25 0 24 1; +#X connect 25 1 23 0; +#X connect 25 1 23 1; +#X connect 30 0 5 0; |