From 494a07a361fe4ee0e54f77468a976b1a77818770 Mon Sep 17 00:00:00 2001 From: Tom Schouten Date: Fri, 12 Sep 2003 22:26:57 +0000 Subject: creb 0.9.0 svn path=/trunk/externals/creb/; revision=956 --- doc/bitsplit~.pd | 45 ++++++++++ doc/blocknorm~.pd | 77 ++++++++++++++++ doc/blosc~.pd | 110 +++++++++++++++++++++++ doc/bmatrix~.pd | 10 +++ doc/bwin~.pd | 10 +-- doc/clog~.pd | 8 ++ doc/eadsr~.pd | 74 +++++++++------- doc/ead~.pd | 47 ++++++---- doc/examples/formantdynwav.pd | 198 ++++++++++++++++++++++++++++++++++++++++++ doc/lattice~.pd | 40 +++++---- doc/reference.txt | 28 ++++++ doc/resofilt~.pd | 79 +++++++++++++++++ doc/sbosc~.pd | 36 ++++++++ doc/scrollgrid1D~.pd | 111 +++++++++++++++++++++++ 14 files changed, 802 insertions(+), 71 deletions(-) create mode 100644 doc/bitsplit~.pd create mode 100644 doc/blocknorm~.pd create mode 100644 doc/blosc~.pd create mode 100644 doc/bmatrix~.pd create mode 100644 doc/clog~.pd create mode 100644 doc/examples/formantdynwav.pd create mode 100644 doc/resofilt~.pd create mode 100644 doc/sbosc~.pd create mode 100644 doc/scrollgrid1D~.pd (limited to 'doc') diff --git a/doc/bitsplit~.pd b/doc/bitsplit~.pd new file mode 100644 index 0000000..fffce2e --- /dev/null +++ b/doc/bitsplit~.pd @@ -0,0 +1,45 @@ +#N canvas 180 482 616 243 10; +#X obj 111 51 osc~; +#X floatatom 111 29 5 0 0 0 - - -; +#X obj 112 93 bitsplit~ 4; +#X obj 81 177 dac~; +#X obj 81 153 vol~; +#X floatatom 110 136 5 0 0 0 - - -; +#X obj 183 178 dac~; +#X obj 183 154 vol~; +#X floatatom 212 137 5 0 0 0 - - -; +#X floatatom 178 50 5 0 0 0 - - -; +#X obj 112 72 *~ 1; +#X text 267 25 split a signal into a parallel binary word.; +#X text 267 43 MSB = left \, LSB = right.; +#X obj 339 127 *~; +#X obj 367 127 / 2; +#X obj 402 127 *~; +#X obj 430 127 / 2; +#N canvas 0 0 450 300 s 0; +#X obj 152 123 *~; +#X obj 152 89 inlet~; +#X obj 206 90 inlet; +#X obj 206 121 / 2; +#X obj 152 150 outlet~; +#X obj 206 151 outlet; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X restore 383 178 pd s; +#X connect 0 0 10 0; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 2 3 7 0; +#X connect 4 0 3 0; +#X connect 4 0 3 1; +#X connect 5 0 4 1; +#X connect 7 0 6 0; +#X connect 7 0 6 1; +#X connect 8 0 7 1; +#X connect 9 0 10 1; +#X connect 10 0 2 0; +#X connect 14 0 15 1; +#X connect 14 0 16 0; diff --git a/doc/blocknorm~.pd b/doc/blocknorm~.pd new file mode 100644 index 0000000..3f25fc3 --- /dev/null +++ b/doc/blocknorm~.pd @@ -0,0 +1,77 @@ +#N canvas 623 54 632 460 10; +#X text 62 14 blocknorm~: normalize a dsp block to RMS = 1; +#X text 144 33 creation argument = nb channels; +#X obj 96 349 lop~; +#X obj 95 410 tabsend~ state; +#X obj 95 384 blocknorm~ 1; +#X obj 95 320 hip~; +#X obj 134 298 hsl 128 15 100 10000 1 1 empty empty empty -2 -6 0 8 +-262144 -1 -1 3800 1; +#X obj 93 131 tabreceive~ state; +#X obj 138 222 fblock 64; +#X obj 352 388 pdynwav~; +#X obj 351 429 vol~; +#X obj 350 458 dac~; +#X floatatom 389 408 5 0 0 0 - - -; +#X floatatom 406 365 5 0 0 0 - - -; +#X obj 13 144 ead~ 0 20; +#X obj 30 168 noise~; +#X obj 14 191 *~; +#X obj 13 121 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 237 134 1; +#X floatatom 237 157 5 0 0 0 - - -; +#X floatatom 138 202 5 0 0 0 - - -; +#X text 11 64 example: a waveform folding oscillator: power is shifted +up or down in frequency by contraction/dilatation \, and filtered \, +but normalized to preserve total state energy.; +#X obj 466 281 table state 64; +#X obj 94 270 dynwav~; +#X obj 138 245 phasor~; +#X obj 310 181 bang~; +#X msg 268 133 2; +#X obj 310 205 f; +#X floatatom 358 200 5 0 0 0 - - -; +#X msg 357 179 0; +#X msg 387 179 0.03; +#X msg 425 179 0.17; +#X obj 310 241 spigot; +#X obj 348 223 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X text 403 201 phase offset; +#X text 182 201 mod freq; +#X text 366 222 phase sync; +#X obj 134 326 hsl 128 15 100 10000 1 1 empty empty empty -2 -6 0 8 +-262144 -1 -1 8100 1; +#X text 282 157 relative formant shift; +#X connect 2 0 4 0; +#X connect 2 0 9 0; +#X connect 4 0 3 0; +#X connect 5 0 2 0; +#X connect 6 0 5 1; +#X connect 7 0 23 0; +#X connect 8 0 24 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 10 0 11 1; +#X connect 12 0 10 1; +#X connect 13 0 9 1; +#X connect 14 0 16 0; +#X connect 15 0 16 1; +#X connect 16 0 5 0; +#X connect 17 0 14 0; +#X connect 18 0 19 0; +#X connect 19 0 8 1; +#X connect 20 0 8 0; +#X connect 23 0 5 0; +#X connect 24 0 23 1; +#X connect 25 0 27 0; +#X connect 26 0 19 0; +#X connect 27 0 32 0; +#X connect 28 0 27 1; +#X connect 29 0 28 0; +#X connect 30 0 28 0; +#X connect 31 0 28 0; +#X connect 32 0 24 1; +#X connect 33 0 32 1; +#X connect 37 0 2 1; diff --git a/doc/blosc~.pd b/doc/blosc~.pd new file mode 100644 index 0000000..ce70940 --- /dev/null +++ b/doc/blosc~.pd @@ -0,0 +1,110 @@ +#N canvas 456 143 763 746 10; +#X obj 80 243 dac~; +#X obj 80 219 vol~; +#X floatatom 103 195 5 0 0; +#X obj 80 158 blosc~ pulse; +#X floatatom 80 128 5 0 0; +#X text 59 106 one-sided impulse; +#X obj 255 243 dac~; +#X obj 255 219 vol~; +#X floatatom 278 195 5 0 0; +#X floatatom 255 128 5 0 0; +#X text 234 106 two-sided impulse; +#X obj 255 158 blosc~ pulse2; +#X obj 433 241 dac~; +#X obj 433 217 vol~; +#X floatatom 456 193 5 0 0; +#X floatatom 433 126 5 0 0; +#X text 442 105 sawtooth; +#X obj 596 245 dac~; +#X obj 596 221 vol~; +#X floatatom 619 197 5 0 0; +#X floatatom 596 130 5 0 0; +#X text 571 106 hard synced sawtooth; +#X text 53 18 blosc~ - some bandlimited oscillators based on minimal +phase impulse and step functions. (inspired by Eli Brandt's paper "Hard +Sync Without Aliasing".); +#X obj 433 156 blosc~ saw; +#X obj 596 160 blosc~ syncsaw; +#X floatatom 642 130 5 0 0; +#X obj 416 645 dac~; +#X obj 416 610 vol~; +#X floatatom 439 586 5 0 0; +#X text 255 304 bandlimited comparator; +#X obj 416 549 blosc~ comparator; +#X obj 416 435 phasor~; +#X obj 416 519 -~; +#X floatatom 416 380 5 0 0; +#X floatatom 416 355 5 0 0; +#X obj 80 391 phasor~; +#X floatatom 80 367 5 0 0; +#X obj 80 448 blosc~ comparator; +#X obj 80 538 dac~; +#X obj 80 503 vol~; +#X floatatom 103 479 5 0 0; +#X obj 80 420 -~ 0.5; +#X text 75 341 (square - pulse wave); +#X floatatom 150 402 5 0 0; +#X obj 153 384 hsl 50 15 0.01 0.99 0 0 empty empty empty -2 -6 0 8 +-262144 -1 -1 2050 1; +#X msg 150 363 0.5; +#X text 411 332 (pwm); +#X obj 511 416 osc~; +#X floatatom 511 383 5 0 0; +#X obj 511 446 *~; +#X floatatom 561 428 5 0 0; +#X obj 564 406 hsl 50 15 0 0.99 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 2300 1; +#X text 626 406 depth; +#X obj 514 362 hsl 50 15 0.1 10 1 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 4300 1; +#X text 578 362 mod freq; +#X obj 416 460 *~ 2; +#X obj 416 485 -~ 1; +#X connect 1 0 0 0; +#X connect 1 0 0 1; +#X connect 2 0 1 1; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 7 0 6 0; +#X connect 7 0 6 1; +#X connect 8 0 7 1; +#X connect 9 0 11 0; +#X connect 11 0 7 0; +#X connect 13 0 12 0; +#X connect 13 0 12 1; +#X connect 14 0 13 1; +#X connect 15 0 23 0; +#X connect 18 0 17 0; +#X connect 18 0 17 1; +#X connect 19 0 18 1; +#X connect 20 0 24 0; +#X connect 23 0 13 0; +#X connect 24 0 18 0; +#X connect 25 0 24 1; +#X connect 27 0 26 0; +#X connect 27 0 26 1; +#X connect 28 0 27 1; +#X connect 30 0 27 0; +#X connect 31 0 55 0; +#X connect 32 0 30 0; +#X connect 33 0 31 0; +#X connect 34 0 33 0; +#X connect 35 0 41 0; +#X connect 36 0 35 0; +#X connect 37 0 39 0; +#X connect 39 0 38 0; +#X connect 39 0 38 1; +#X connect 40 0 39 1; +#X connect 41 0 37 0; +#X connect 43 0 41 1; +#X connect 44 0 43 0; +#X connect 45 0 44 0; +#X connect 47 0 49 0; +#X connect 48 0 47 0; +#X connect 49 0 32 1; +#X connect 50 0 49 1; +#X connect 51 0 50 0; +#X connect 53 0 48 0; +#X connect 55 0 56 0; +#X connect 56 0 32 0; diff --git a/doc/bmatrix~.pd b/doc/bmatrix~.pd new file mode 100644 index 0000000..5cb34a5 --- /dev/null +++ b/doc/bmatrix~.pd @@ -0,0 +1,10 @@ +#N canvas 523 376 560 300 10; +#X msg 69 127 load matrix.bin; +#X text 27 39 added for completeness. mainly intended for spectral +transfos; +#X text 26 73 the file format is binary floating point \, column encoded. +; +#X obj 46 174 bmatrix~; +#X text 29 23 bmatrix multiplies a signal block with an arbitrary matrix +; +#X connect 0 0 3 0; diff --git a/doc/bwin~.pd b/doc/bwin~.pd index 7f630d8..42b4fd6 100644 --- a/doc/bwin~.pd +++ b/doc/bwin~.pd @@ -1,5 +1,5 @@ -#N canvas 62 558 450 300 10; -#N canvas 409 279 692 500 windowing 1; +#N canvas 95 391 450 300 10; +#N canvas 274 117 692 500 windowing 1; #X obj 62 441 outlet~; #X obj 62 65 inlet~; #X obj 62 142 bfft~; @@ -25,8 +25,8 @@ bwin~ bfft~ bifft~ and dist~; #X msg 344 207 type bfft_db/octave \$1; #X floatatom 517 172 5 0 0; #X msg 345 277 type bfft_db/octave \$1; -#X obj 545 427 block~ 16384 2; #X floatatom 519 244 5 0 0; +#X obj 545 427 block~ 1024 2; #X connect 1 0 19 0; #X connect 2 0 5 0; #X connect 3 0 18 0; @@ -40,12 +40,12 @@ bwin~ bfft~ bifft~ and dist~; #X connect 20 0 16 0; #X connect 21 0 20 0; #X connect 22 0 17 0; -#X connect 24 0 22 0; +#X connect 23 0 22 0; #X restore 53 88 pd windowing; #X obj 41 219 dac~; #X obj 53 150 vol~; #X floatatom 76 124 5 0 0; -#X obj 53 41 adc~ 7; +#X obj 53 41 adc~ 1; #X connect 0 0 2 0; #X connect 2 0 1 0; #X connect 2 0 1 1; diff --git a/doc/clog~.pd b/doc/clog~.pd new file mode 100644 index 0000000..490c406 --- /dev/null +++ b/doc/clog~.pd @@ -0,0 +1,8 @@ +#N canvas 642 410 542 207 10; +#X obj 85 82 clog~; +#X obj 145 82 cexp~; +#X text 235 81 complex log and exp.; +#X text 237 105 see also; +#X obj 309 104 cep~; +#X text 351 103 and; +#X obj 384 105 icep~; diff --git a/doc/eadsr~.pd b/doc/eadsr~.pd index 220ea54..f72bdaf 100644 --- a/doc/eadsr~.pd +++ b/doc/eadsr~.pd @@ -1,41 +1,57 @@ #N canvas 478 386 580 306 10; #X obj 89 227 *~; #X obj 105 40 metro; -#X obj 105 12 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 -1 --1; #X obj 26 203 osc~; -#X floatatom 26 171 5 0 0; -#X floatatom 135 12 5 0 0; -#X floatatom 209 117 5 0 0; -#X floatatom 208 139 5 0 0; -#X obj 77 265 dac~; +#X floatatom 26 171 5 0 0 0 - - -; +#X floatatom 135 12 5 0 0 0 - - -; +#X floatatom 209 117 5 0 0 0 - - -; +#X floatatom 208 139 5 0 0 0 - - -; +#X obj 81 277 dac~; #X msg 58 12 stop; #X msg 26 124 start; #X msg 71 123 stop; #X obj 105 77 del; -#X floatatom 159 50 5 0 0; +#X floatatom 159 50 5 0 0 0 - - -; #X obj 105 197 eadsr~ 0 0; #X text 191 81 exponential attack/decay/sustain/release envelope; #X text 265 125 60db attack and decay time; -#X text 265 182 60db attack and decay time; -#X floatatom 209 160 5 0 0; -#X floatatom 209 180 5 0 0; +#X floatatom 209 160 5 0 0 0 - - -; +#X floatatom 209 180 5 0 0 0 - - -; #X text 264 159 sustain level; -#X connect 0 0 8 0; -#X connect 0 0 8 1; -#X connect 1 0 10 0; -#X connect 1 0 12 0; -#X connect 2 0 1 0; -#X connect 3 0 0 0; -#X connect 4 0 3 0; -#X connect 5 0 1 1; -#X connect 6 0 14 1; -#X connect 7 0 14 2; -#X connect 9 0 1 0; -#X connect 10 0 14 0; -#X connect 11 0 14 0; -#X connect 12 0 11 0; -#X connect 13 0 12 1; -#X connect 14 0 0 1; -#X connect 18 0 14 3; -#X connect 19 0 14 4; +#X obj 88 253 vol~; +#X floatatom 132 238 5 0 0 0 - - -; +#X obj 343 228 table t 10000; +#X obj 343 267 tabwrite~ t; +#X obj 343 247 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 103 13 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 262 276 del; +#X floatatom 276 225 5 0 0 0 - - -; +#X text 265 182 60db release time; +#X connect 0 0 19 0; +#X connect 1 0 9 0; +#X connect 1 0 11 0; +#X connect 2 0 0 0; +#X connect 3 0 2 0; +#X connect 4 0 1 1; +#X connect 5 0 13 1; +#X connect 6 0 13 2; +#X connect 8 0 1 0; +#X connect 9 0 13 0; +#X connect 10 0 13 0; +#X connect 11 0 10 0; +#X connect 12 0 11 1; +#X connect 13 0 0 1; +#X connect 13 0 22 0; +#X connect 16 0 13 3; +#X connect 17 0 13 4; +#X connect 19 0 7 1; +#X connect 19 0 7 0; +#X connect 20 0 19 1; +#X connect 23 0 22 0; +#X connect 23 0 25 0; +#X connect 23 0 9 0; +#X connect 24 0 1 0; +#X connect 25 0 10 0; +#X connect 26 0 25 1; diff --git a/doc/ead~.pd b/doc/ead~.pd index 9d9bc5f..835ba3d 100644 --- a/doc/ead~.pd +++ b/doc/ead~.pd @@ -2,28 +2,39 @@ #X obj 105 111 ead~ 0 0; #X obj 89 179 *~; #X obj 105 40 metro; -#X obj 105 12 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 -1 --1; #X obj 41 144 osc~; -#X floatatom 41 112 5 0 0; -#X floatatom 135 12 5 0 0; -#X floatatom 130 64 5 0 0; -#X floatatom 156 86 5 0 0; -#X obj 77 217 dac~; +#X floatatom 41 112 5 0 0 0 - - -; +#X floatatom 135 12 5 0 0 0 - - -; +#X floatatom 130 64 5 0 0 0 - - -; +#X floatatom 156 86 5 0 0 0 - - -; +#X obj 78 242 dac~; #X text 202 71 60db attack and decay time; -#X obj 70 76 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 -1 +#X obj 70 76 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 58 12 stop; #X text 201 51 exponential attack/decay envelope; +#X obj 89 212 vol~; +#X floatatom 117 193 5 0 0 0 - - -; +#X obj 265 119 table t 5000; +#X obj 265 176 tabwrite~ t; +#X obj 265 152 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 105 13 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; #X connect 0 0 1 1; -#X connect 1 0 9 0; -#X connect 1 0 9 1; +#X connect 0 0 16 0; +#X connect 1 0 13 0; #X connect 2 0 0 0; -#X connect 3 0 2 0; -#X connect 4 0 1 0; -#X connect 5 0 4 0; -#X connect 6 0 2 1; -#X connect 7 0 0 1; -#X connect 8 0 0 2; -#X connect 11 0 0 0; -#X connect 12 0 2 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 2 1; +#X connect 6 0 0 1; +#X connect 7 0 0 2; +#X connect 10 0 0 0; +#X connect 11 0 2 0; +#X connect 13 0 8 0; +#X connect 13 0 8 1; +#X connect 14 0 13 1; +#X connect 17 0 16 0; +#X connect 17 0 0 0; +#X connect 18 0 2 0; diff --git a/doc/examples/formantdynwav.pd b/doc/examples/formantdynwav.pd new file mode 100644 index 0000000..60afd11 --- /dev/null +++ b/doc/examples/formantdynwav.pd @@ -0,0 +1,198 @@ +#N canvas 131 302 276 242 10; +#N canvas 342 154 748 636 stuff 1; +#X obj 59 376 outlet~; +#X obj 59 348 vol~; +#X floatatom 176 317 5 0 0; +#X obj 197 29 bang~; +#X obj 59 290 pdynwav~; +#X floatatom 189 221 5 0 0; +#X obj 46 103 osc~; +#X obj 91 103 osc~; +#X obj 135 102 osc~; +#X obj 104 223 *~; +#X obj 345 87 phasor~; +#X obj 277 185 *~; +#X obj 346 136 *~; +#X obj 346 108 onecomp~; +#X obj 346 164 *~; +#X text 38 33 formant frequencies; +#N canvas 139 0 533 326 to_formant 0; +#X obj 339 217 /; +#X obj 391 149 t b f; +#X obj 291 182 samplerate~; +#X floatatom 335 243 5 0 0; +#X obj 369 47 inlet; +#X obj 405 126 * 1024; +#X obj 30 158 *~; +#X obj 88 159 *~; +#X obj 150 156 *~; +#X obj 30 192 outlet~; +#X obj 88 193 outlet~; +#X obj 150 190 outlet~; +#X obj 150 100 inlet~; +#X obj 88 103 inlet~; +#X obj 30 102 inlet~; +#X connect 0 0 3 0; +#X connect 0 0 8 1; +#X connect 0 0 7 1; +#X connect 0 0 6 1; +#X connect 1 0 2 0; +#X connect 1 1 0 1; +#X connect 2 0 0 0; +#X connect 4 0 5 0; +#X connect 5 0 1 0; +#X connect 6 0 9 0; +#X connect 7 0 10 0; +#X connect 8 0 11 0; +#X connect 12 0 8 0; +#X connect 13 0 7 0; +#X connect 14 0 6 0; +#X restore 45 71 pd to_formant; +#X obj 189 260 +; +#X obj 227 261 -; +#X obj 136 374 outlet~; +#X obj 136 346 vol~; +#X obj 127 290 pdynwav~; +#X floatatom 244 210 5 0 0; +#X obj 253 237 t b f; +#X obj 520 332 block~ 1024; +#X obj 277 28 fblock 1024; +#X obj 469 163 random 120; +#X obj 469 191 - 60; +#X obj 466 139 metro 750; +#X obj 470 111 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 43 -75 *~; +#X floatatom 59 -99 5 0 0; +#X obj 43 -121 osc~; +#X floatatom 43 -151 5 0 0; +#X obj 113 -75 *~; +#X floatatom 129 -99 5 0 0; +#X obj 113 -121 osc~; +#X floatatom 113 -151 5 0 0; +#X obj 180 -74 *~; +#X floatatom 196 -98 5 0 0; +#X obj 180 -120 osc~; +#X floatatom 180 -150 5 0 0; +#X floatatom 531 106 5 0 0; +#X floatatom 84 128 5 0 0; +#X obj 44 157 vol~; +#X floatatom 125 128 5 0 0; +#X obj 85 157 vol~; +#X floatatom 173 129 5 0 0; +#X obj 133 158 vol~; +#X floatatom 304 -126 5 0 0; +#X msg 349 6 1; +#X obj 277 159 phasor~; +#X obj 94 199 *~ 1; +#X msg 389 58 0; +#X msg 197 60 0.25; +#X obj 346 189 *~; +#X msg 194 92 100; +#X obj 374 242 tabsend~ period; +#X obj 494 213 table period 1024; +#X floatatom 298 322 5 0 0; +#X obj 343 -83 loadbang; +#X floatatom 198 -52 5 0 0; +#X obj 182 -28 +~; +#X floatatom 125 -49 5 0 0; +#X obj 109 -25 +~; +#X floatatom 65 -45 5 0 0; +#X obj 49 -21 +~; +#X connect 1 0 0 0; +#X connect 2 0 1 1; +#X connect 2 0 20 1; +#X connect 3 0 54 0; +#X connect 3 0 53 0; +#X connect 4 0 1 0; +#X connect 5 0 16 3; +#X connect 5 0 17 0; +#X connect 5 0 18 0; +#X connect 6 0 44 0; +#X connect 7 0 46 0; +#X connect 8 0 48 0; +#X connect 9 0 4 0; +#X connect 9 0 21 0; +#X connect 9 0 57 0; +#X connect 10 0 13 0; +#X connect 11 0 9 1; +#X connect 12 0 14 0; +#X connect 12 0 14 1; +#X connect 13 0 12 1; +#X connect 13 0 12 0; +#X connect 14 0 55 0; +#X connect 14 0 55 1; +#X connect 14 0 11 1; +#X connect 16 0 6 0; +#X connect 16 1 7 0; +#X connect 16 2 8 0; +#X connect 17 0 4 1; +#X connect 18 0 21 1; +#X connect 20 0 19 0; +#X connect 21 0 20 0; +#X connect 22 0 17 1; +#X connect 22 0 23 0; +#X connect 23 0 18 0; +#X connect 23 0 17 0; +#X connect 23 1 18 1; +#X connect 23 1 17 1; +#X connect 25 0 10 0; +#X connect 25 0 51 0; +#X connect 26 0 27 0; +#X connect 27 0 5 0; +#X connect 28 0 26 0; +#X connect 29 0 28 0; +#X connect 30 0 66 0; +#X connect 31 0 30 1; +#X connect 32 0 30 0; +#X connect 33 0 32 0; +#X connect 34 0 64 0; +#X connect 35 0 34 1; +#X connect 36 0 34 0; +#X connect 37 0 36 0; +#X connect 38 0 62 0; +#X connect 39 0 38 1; +#X connect 40 0 38 0; +#X connect 41 0 40 0; +#X connect 42 0 28 1; +#X connect 43 0 44 1; +#X connect 44 0 52 0; +#X connect 45 0 46 1; +#X connect 46 0 52 0; +#X connect 47 0 48 1; +#X connect 48 0 52 0; +#X connect 50 0 25 1; +#X connect 51 0 11 0; +#X connect 52 0 9 0; +#X connect 53 0 10 1; +#X connect 54 0 8 1; +#X connect 54 0 7 1; +#X connect 54 0 6 1; +#X connect 56 0 47 0; +#X connect 56 0 45 0; +#X connect 56 0 43 0; +#X connect 60 0 50 0; +#X connect 61 0 62 1; +#X connect 62 0 16 2; +#X connect 63 0 64 1; +#X connect 64 0 16 1; +#X connect 65 0 66 1; +#X connect 66 0 16 0; +#X restore 18 14 pd stuff; +#X obj 19 75 dac~; +#X obj 94 79 vols~; +#X obj 96 54 fdn~; +#X floatatom 140 53 5 0 0; +#X floatatom 108 24 5 0 0; +#X floatatom 154 24 5 0 0; +#X connect 0 0 1 0; +#X connect 0 0 3 0; +#X connect 0 1 1 1; +#X connect 0 1 3 0; +#X connect 2 0 1 0; +#X connect 2 1 1 1; +#X connect 3 0 2 0; +#X connect 3 1 2 1; +#X connect 4 0 2 2; +#X connect 5 0 3 1; +#X connect 6 0 3 2; diff --git a/doc/lattice~.pd b/doc/lattice~.pd index 4545470..6f62e3e 100644 --- a/doc/lattice~.pd +++ b/doc/lattice~.pd @@ -1,21 +1,21 @@ #N canvas 338 162 527 557 10; -#X obj 57 -77 vsl 15 250 -1 1 0 1 empty empty empty 20 8 32 8 -262144 --1 -1 12100 1; +#X obj 57 -77 vsl 15 250 -1 1 0 1 empty empty empty 20 8 0 8 -262144 +-1 -1 12500 1; #X msg 57 223 rc 0 \$1; -#X obj 88 -78 vsl 15 250 -1 1 0 1 empty empty empty 20 8 32 8 -262144 --1 -1 7150 1; -#X obj 119 -77 vsl 15 250 -1 1 0 1 empty empty empty 20 8 32 8 -262144 --1 -1 5150 1; -#X obj 149 -77 vsl 15 250 -1 1 0 1 empty empty empty 20 8 32 8 -262144 --1 -1 8100 1; -#X obj 179 -77 vsl 15 250 -1 1 0 1 empty empty empty 20 8 32 8 -262144 --1 -1 11850 1; -#X obj 210 -78 vsl 15 250 -1 1 0 1 empty empty empty 20 8 32 8 -262144 --1 -1 15850 1; -#X obj 241 -78 vsl 15 250 -1 1 0 1 empty empty empty 20 8 32 8 -262144 --1 -1 17550 1; -#X obj 271 -77 vsl 15 250 -1 1 0 1 empty empty empty 20 8 32 8 -262144 --1 -1 15050 1; +#X obj 88 -78 vsl 15 250 -1 1 0 1 empty empty empty 20 8 0 8 -262144 +-1 -1 6432 1; +#X obj 119 -77 vsl 15 250 -1 1 0 1 empty empty empty 20 8 0 8 -262144 +-1 -1 3732 1; +#X obj 149 -77 vsl 15 250 -1 1 0 1 empty empty empty 20 8 0 8 -262144 +-1 -1 4332 1; +#X obj 179 -77 vsl 15 250 -1 1 0 1 empty empty empty 20 8 0 8 -262144 +-1 -1 21232 1; +#X obj 210 -78 vsl 15 250 -1 1 0 1 empty empty empty 20 8 0 8 -262144 +-1 -1 24900 1; +#X obj 241 -78 vsl 15 250 -1 1 0 1 empty empty empty 20 8 0 8 -262144 +-1 -1 18232 1; +#X obj 271 -77 vsl 15 250 -1 1 0 1 empty empty empty 20 8 0 8 -262144 +-1 -1 16932 1; #X msg 86 199 rc 1 \$1; #X msg 118 224 rc 2 \$1; #X msg 147 200 rc 3 \$1; @@ -23,15 +23,16 @@ #X msg 208 199 rc 5 \$1; #X msg 240 224 rc 6 \$1; #X msg 269 200 rc 7 \$1; -#X floatatom 154 -125 5 -1 1; +#X floatatom 154 -125 5 -1 1 0 - - -; #X obj 64 302 lattice~ 8; #X obj 6 254 noise~; #X obj 63 363 vol~; #X obj 63 397 dac~; -#X floatatom 85 333 5 0 0; +#X floatatom 85 333 5 0 0 0 - - -; #X text 159 298 lattice~ a lattice filter; #X text 139 333 [rc ] sets reflection coefficient; #X text 159 311 creation argument sets order; +#X obj 27 330 dist~ 1; #X connect 0 0 1 0; #X connect 1 0 17 0; #X connect 2 0 9 0; @@ -56,8 +57,9 @@ #X connect 16 0 6 0; #X connect 16 0 7 0; #X connect 16 0 8 0; -#X connect 17 0 19 0; +#X connect 17 0 25 0; #X connect 18 0 17 0; #X connect 19 0 20 1; #X connect 19 0 20 0; #X connect 21 0 19 1; +#X connect 25 0 19 0; diff --git a/doc/reference.txt b/doc/reference.txt index 9518d84..ff314e0 100644 --- a/doc/reference.txt +++ b/doc/reference.txt @@ -5,14 +5,34 @@ bdft,bdfts set decay time (ms/sec) and osc frequency (for bdiag~) bhip~ butterworth high pass filter blop~ butterworth low pass filter bpm convert bpm to metro time and phasor freq +cadd~ complex add +ccmap~ conformal self map of the unit disk +cconj~ complex conjugate +cep~/icep~ complex cepstrum and inverse +cinv~ complex inverse +cmul~ complex multiplication count modulo counter +cosc~ complex oscillator +csub~ complex subtraction +dsfosc~ (finite) discrete summation formula oscillator eadh~ exponential attack decay (with hold == duration) eadsrh~ exponential attack decay sustain release (..) +expmap~ exponential map fblock block relative frequency conversion +fmod floating point modulo +fmop~ fm operator +frequor~ like phasor, but for block spectra +idsfosc~ infinite discrete summation formula inv inverse +lattice3 expand a 3D harmonic lattice vector +lpfft~ ifft + lowpass (for anti-aliased dynwav) pdynwav~ phasor~ + dynwav~ scale7 arbitrary 7 tone scale +ti_hihat hihat gop object +ti_snare snare drum gop object tblock block relative time conversion +ucnorm~ normalize a complex signal to unit norm +ucmod~ unit circle modulator vols~ volume for a stereo signal vol~ volume for a mono signal @@ -28,9 +48,14 @@ tilde externs abs~ absolute value bdiag~ block diagonal state space system (spectral processor) bfft~ reordered fft +bitsplit~ convert signal to binary vector bwin~ several windowing functions and spectral envelopes biquadseries~ biquad second order sections (i.e. butterworth) +bitsplit~ convert a signal to binary representation +blocknorm~ normalize a (set of) dsp block(s) (i.e. for spectral processing) +blosc~ several bandlimited oscillators cheby~ chebyshev polynomial waveshaper +clog~ complex log diag~ diagonal state space system (spectral processor) dist~ several distortions & waveshaping functions dwt~ discrete wavelet transform @@ -48,7 +73,10 @@ permut~ random permute a signal block qmult~ multiply 2 quaternion signals qnorm~ normalize a quaternion signal (or any 4 channel sig) ramp~ generates an integer ramp +resofilt~ a reso filter (4pole, 3pole) +sbosc~ smallband oscillator (i.e. for formant synthesis) statwav~ a tabread4~ clone with 8 point interpolation +scrollgrid1D~ a stabilized scroll grid chaotic oscillator tabreadmix~ a tabread~ clone with overlap add (for smooth time stretch) xfm~ coupled frequency modulation diff --git a/doc/resofilt~.pd b/doc/resofilt~.pd new file mode 100644 index 0000000..5adad08 --- /dev/null +++ b/doc/resofilt~.pd @@ -0,0 +1,79 @@ +#N canvas 413 70 819 645 10; +#X floatatom 50 203 5 0 0 0 - - -; +#X obj 118 433 vol~; +#X floatatom 157 409 5 0 0 0 - - -; +#X obj 110 468 dac~; +#X floatatom 291 252 5 0 0 0 - - -; +#X floatatom 290 301 5 0 0 0 - - -; +#X obj 119 341 vol~; +#X floatatom 142 318 5 0 0 0 - - -; +#X obj 295 232 hsl 128 15 20 20000 1 1 empty empty empty -2 -6 0 8 +-262144 -1 -1 7900 1; +#X obj 294 282 hsl 128 15 0 1 0 1 empty empty empty -2 -6 0 8 -262144 +-1 -1 5600 1; +#X obj 242 225 ead~; +#X obj 243 268 *~; +#X obj 235 203 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 259 203 5 0 0 0 - - -; +#X floatatom 305 202 5 0 0 0 - - -; +#X obj 19 170 ead~; +#X obj 20 273 *~; +#X obj 19 102 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 35 147 5 0 0 0 - - -; +#X floatatom 76 147 5 0 0 0 - - -; +#X obj 86 71 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 87 44 metro 125; +#X obj 88 20 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X floatatom 147 16 5 0 0 0 - - -; +#X msg 34 126 10; +#X msg 76 126 400; +#X msg 268 180 20; +#X obj 36 225 blosc~ saw; +#X obj 37 248 -~; +#X msg 141 297 70; +#X text 281 96 all inputs are signal inlets. frequency and reso are +interpolated from their average (rms) value.; +#X msg 305 181 500; +#X text 279 28 resofilt~: high-quality implementations of the moog +4-pole and tb303 3-pole reso ladder filter. state-limited which means +it distorts on high reso input \, and can go into self oscillation +when reso > 1; +#X msg 53 182 70; +#X obj 119 377 resofilt~ 4; +#X text 222 378 creation argument 4 = 4pole \, 3 = 3pole; +#X connect 0 0 27 0; +#X connect 1 0 3 0; +#X connect 1 0 3 1; +#X connect 2 0 1 1; +#X connect 4 0 11 1; +#X connect 6 0 34 0; +#X connect 7 0 6 1; +#X connect 8 0 4 0; +#X connect 9 0 5 0; +#X connect 10 0 11 0; +#X connect 12 0 10 0; +#X connect 13 0 10 1; +#X connect 14 0 10 2; +#X connect 15 0 16 0; +#X connect 16 0 6 0; +#X connect 17 0 15 0; +#X connect 18 0 15 1; +#X connect 19 0 15 2; +#X connect 20 0 12 0; +#X connect 20 0 17 0; +#X connect 21 0 20 0; +#X connect 22 0 21 0; +#X connect 23 0 21 1; +#X connect 24 0 18 0; +#X connect 25 0 19 0; +#X connect 26 0 13 0; +#X connect 27 0 28 0; +#X connect 28 0 16 1; +#X connect 29 0 7 0; +#X connect 31 0 14 0; +#X connect 33 0 0 0; +#X connect 34 0 1 0; diff --git a/doc/sbosc~.pd b/doc/sbosc~.pd new file mode 100644 index 0000000..804b30d --- /dev/null +++ b/doc/sbosc~.pd @@ -0,0 +1,36 @@ +#N canvas 624 424 408 499 10; +#X obj 70 158 sbosc~; +#X floatatom 101 285 5 0 0 0 - - -; +#X obj 70 308 vol~; +#X obj 58 340 dac~; +#X floatatom 70 68 5 0 0 0 - - -; +#X floatatom 136 106 5 0 0 0 - - -; +#X msg 129 139 0; +#X text 171 139 phase; +#X text 56 44 pitch; +#X text 119 84 center freq; +#X text 38 14 sbosc~: smallband periodic complex oscillator.; +#X obj 134 53 hsl 128 15 20 20000 1 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 4163 1; +#X obj 213 91 hsl 128 15 20 20000 1 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 7400 1; +#X obj 85 228 idsfosc~; +#X obj 70 256 *~; +#X floatatom 136 206 5 0 0 0 - - -; +#X obj 194 191 hsl 128 15 -0.99 0.99 0 0 empty empty empty -2 -6 0 +8 -262144 -1 -1 9100 1; +#X text 136 188 bw; +#X connect 0 0 14 0; +#X connect 1 0 2 1; +#X connect 2 0 3 0; +#X connect 2 0 3 1; +#X connect 4 0 0 0; +#X connect 4 0 13 0; +#X connect 5 0 0 1; +#X connect 6 0 0 2; +#X connect 11 0 4 0; +#X connect 12 0 5 0; +#X connect 13 0 14 1; +#X connect 14 0 2 0; +#X connect 15 0 13 1; +#X connect 16 0 15 0; diff --git a/doc/scrollgrid1D~.pd b/doc/scrollgrid1D~.pd new file mode 100644 index 0000000..1649dfb --- /dev/null +++ b/doc/scrollgrid1D~.pd @@ -0,0 +1,111 @@ +#N canvas 309 57 748 724 10; +#X obj 116 116 scrollgrid1D~; +#X msg 36 92 reset; +#X floatatom 111 87 5 0 0; +#X floatatom 187 87 5 0 0; +#X floatatom 237 86 5 0 0; +#X floatatom 290 85 5 0 0; +#X obj 401 200 tabwrite~ t; +#X obj 401 147 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 +-1 -1; +#X obj 504 206 table t 10000; +#X obj 123 222 vol~; +#X floatatom 146 196 5 0 0; +#X text 103 47 frequency; +#X text 197 45 T1; +#X text 249 45 T2; +#X text 301 46 N; +#X msg 111 66 350; +#X msg 235 66 1; +#X msg 291 65 3; +#X msg 188 65 12; +#X obj 379 222 tabwrite~ t; +#X obj 379 147 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 +-1 -1; +#X obj 353 243 tabwrite~ t; +#X obj 353 148 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 +-1 -1; +#X text 233 292 parameters:; +#X text 266 359 N = number of scrolls or unstable rotation centers +in attractor; +#X text 233 404 outputs:; +#X text 230 468 some remarks; +#X text 266 422 the first output is alongside the scoll centers \, +the other two are orthogonal to this line.; +#X text 368 130 X Y Z; +#X obj 178 222 vol~; +#X floatatom 201 196 5 0 0; +#X obj 64 223 vol~; +#X floatatom 87 197 5 0 0; +#X obj 63 282 hip~ 10; +#X floatatom 133 286 5 0 0; +#X obj 63 305 blop~ 4; +#X msg 132 263 500; +#X msg 163 263 5000; +#X text 265 325 T1 = unstable time constant in ms ("attack" time); +#X text 265 342 T2 = stable time constant in ms ("release" time); +#X text 265 660 the entire circuit is clipped \, which means that for +some parameter values that would normally cause a blowup \, its behaviour +is limited to that of an oscillator.; +#X obj 4 283 hip~ 10; +#X obj 4 306 blop~ 4; +#X obj 34 340 dac~; +#X floatatom 180 170 5 0 0; +#X obj 4 402 tabwrite~ t; +#X obj 21 380 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 -1 +-1; +#X msg 142 66 5000; +#X text 264 309 freq = spiral frequency in Hz; +#X text 265 493 this chaotic system is a switched unstable linear system. +it consists of N scrolls (outward spirals). when the amplitude of the +spiral has reached a certain threshold \, it is switched to the nearest +fixed point (a neighbour spiral). the freq parameter determines the +frequency of the outward spiralling motion on a scroll. T1 is the outward +spiralling time constant. T1 large means slow buildup or mild chaotic +motion \, T1 small means fast buildup or turbulent chaotic motion. +T2 is the time constant with which a trajectory is attracted to the +plane of a scroll. T2 small means fast attraction \, T2 large means +slow attraction.; +#X text 45 11 stabilized scroll grid chaotic oscillator with scroll +centers located on a line.; +#X msg 204 262 17000; +#X connect 0 0 21 0; +#X connect 0 0 31 0; +#X connect 0 1 9 0; +#X connect 0 1 19 0; +#X connect 0 2 6 0; +#X connect 0 2 29 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 0 1; +#X connect 4 0 0 2; +#X connect 5 0 0 3; +#X connect 7 0 6 0; +#X connect 9 0 41 0; +#X connect 10 0 9 1; +#X connect 15 0 2 0; +#X connect 16 0 4 0; +#X connect 17 0 5 0; +#X connect 18 0 3 0; +#X connect 20 0 19 0; +#X connect 22 0 21 0; +#X connect 29 0 33 0; +#X connect 30 0 29 1; +#X connect 31 0 33 0; +#X connect 31 0 41 0; +#X connect 32 0 31 1; +#X connect 33 0 35 0; +#X connect 34 0 35 1; +#X connect 34 0 42 1; +#X connect 35 0 43 1; +#X connect 35 0 45 0; +#X connect 36 0 34 0; +#X connect 37 0 34 0; +#X connect 41 0 42 0; +#X connect 42 0 43 0; +#X connect 42 0 45 0; +#X connect 44 0 10 0; +#X connect 44 0 30 0; +#X connect 46 0 45 0; +#X connect 47 0 2 0; +#X connect 51 0 34 0; -- cgit v1.2.1