aboutsummaryrefslogtreecommitdiff
path: root/blosc/blsaw~.pd
diff options
context:
space:
mode:
Diffstat (limited to 'blosc/blsaw~.pd')
-rw-r--r--blosc/blsaw~.pd297
1 files changed, 297 insertions, 0 deletions
diff --git a/blosc/blsaw~.pd b/blosc/blsaw~.pd
new file mode 100644
index 0000000..8969f73
--- /dev/null
+++ b/blosc/blsaw~.pd
@@ -0,0 +1,297 @@
+#N canvas 62 77 344 334 10;
+#X text 120 257 copyright by Roman Haefeli;
+#X text 36 284 Published under the GNU Public License;
+#N canvas 0 0 646 649 oscillator~ 0;
+#N canvas 314 100 498 265 number_of_harmonics_allowed 0;
+#X obj 135 68 / 2;
+#X obj 15 151 /;
+#X obj 135 44 samplerate~;
+#X obj 15 98 t b f;
+#X text 241 49 sr / 2 = nyquist frequency;
+#X obj 15 229 outlet;
+#X obj 14 18 inlet~;
+#X obj 15 121 f;
+#X obj 135 21 loadbang;
+#X text 104 209 harmonics never should exceed the nyquist frequency
+;
+#X obj 15 49 snapshot~;
+#X obj 78 21 bang~;
+#X obj 15 72 change;
+#X obj 15 177 int;
+#X obj 15 200 change;
+#X connect 0 0 7 1;
+#X connect 1 0 13 0;
+#X connect 2 0 0 0;
+#X connect 3 0 7 0;
+#X connect 3 1 1 1;
+#X connect 6 0 10 0;
+#X connect 7 0 1 0;
+#X connect 8 0 2 0;
+#X connect 10 0 12 0;
+#X connect 11 0 10 0;
+#X connect 12 0 3 0;
+#X connect 13 0 14 0;
+#X connect 14 0 5 0;
+#X restore 161 113 pd number_of_harmonics_allowed;
+#X obj 40 33 inlet~;
+#X obj 39 456 outlet~;
+#X obj 287 374 snapshot~;
+#X obj 206 273 == 0;
+#X obj 206 377 f;
+#X obj 206 356 sel 1;
+#X obj 246 320 change;
+#X obj 287 348 sel 1;
+#X text 33 494 number of harmononics;
+#X text 32 512 without exceeding nyquist;
+#X text 31 531 at given frequeny:;
+#X text 251 520 best method:;
+#X obj 559 178 inlet;
+#X text 565 150 phase;
+#X text 340 346 sync phase \, when switching dsp on;
+#X msg 408 69 get_num_of_tables;
+#X obj 408 132 route num_of_tables;
+#X obj 408 23 loadbang;
+#X obj 40 272 phasor~;
+#X text 196 81 get the number of tables ->;
+#X text 227 496 |;
+#X text 227 505 |;
+#X text 227 514 |;
+#X text 227 523 |;
+#X text 227 533 |;
+#X text 227 542 |;
+#X text 227 551 |;
+#X text 227 560 |;
+#X text 227 567 |;
+#X text 227 576 |;
+#X text 227 585 |;
+#X text 227 594 |;
+#X text 227 604 |;
+#X text 25 541 __________________________________________________;
+#X text 25 575 __________________________________________________;
+#X obj 161 223 >;
+#X obj 408 91 s BLSAW;
+#X obj 408 111 r BLSAW;
+#X text 246 563 bandlimited saw;
+#X text 245 595 raw saw;
+#X obj 161 143 t f f;
+#X text 199 221 switch to raw saw \, when number of allowed harmonics
+exceeds num_of_tables;
+#X text 32 565 0 < n <= num_of_tables;
+#X text 40 596 n > num_of_tables;
+#N canvas 0 0 448 226 bandlimited_saw 0;
+#X obj 16 31 inlet~;
+#X obj 71 33 inlet;
+#X obj 261 34 inlet;
+#X obj 17 192 outlet~;
+#X msg 71 96 set \$1;
+#X obj 261 124 switch~;
+#X obj 347 36 inlet;
+#X text 69 14 choose table;
+#X text 346 17 set phase;
+#X text 256 14 switch dsp;
+#X obj 71 71 makefilename BLSAW%d;
+#X obj 17 134 tabosc4~;
+#X connect 0 0 11 0;
+#X connect 1 0 10 0;
+#X connect 2 0 5 0;
+#X connect 4 0 11 0;
+#X connect 6 0 11 1;
+#X connect 10 0 4 0;
+#X connect 11 0 3 0;
+#X restore 166 405 pd bandlimited_saw;
+#N canvas 438 301 207 227 raw_saw 0;
+#X obj 6 16 inlet~;
+#X obj 7 156 outlet~;
+#X obj 118 21 inlet;
+#X obj 118 46 switch~;
+#X obj 7 66 *~ -2;
+#X obj 7 92 +~ 1;
+#X connect 0 0 4 0;
+#X connect 2 0 3 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 0;
+#X restore 40 401 pd raw_saw;
+#X obj 408 46 del 0;
+#X connect 0 0 41 0;
+#X connect 1 0 45 0;
+#X connect 1 0 0 0;
+#X connect 1 0 19 0;
+#X connect 3 0 45 3;
+#X connect 4 0 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 45 1;
+#X connect 6 0 5 0;
+#X connect 7 0 8 0;
+#X connect 7 0 45 2;
+#X connect 8 0 3 0;
+#X connect 13 0 45 3;
+#X connect 13 0 19 1;
+#X connect 16 0 37 0;
+#X connect 17 0 36 1;
+#X connect 18 0 47 0;
+#X connect 19 0 3 0;
+#X connect 19 0 46 0;
+#X connect 36 0 4 0;
+#X connect 36 0 46 1;
+#X connect 38 0 17 0;
+#X connect 41 0 36 0;
+#X connect 41 1 5 1;
+#X connect 45 0 2 0;
+#X connect 46 0 2 0;
+#X connect 47 0 16 0;
+#X restore 19 161 pd oscillator~;
+#X obj 19 136 inlet~;
+#X obj 112 137 inlet;
+#X obj 19 185 outlet~;
+#N canvas 555 327 605 504 lookup-table-creation 0;
+#X obj 15 195 until;
+#X obj 15 217 f;
+#X obj 50 217 + 1;
+#X obj 58 195 1;
+#X obj 80 345 pack f s;
+#X obj 15 125 t f b b;
+#X msg 136 270 clear;
+#X obj 15 248 t b f f;
+#X obj 15 407 f;
+#X obj 15 474 send;
+#X msg 80 374 obj 10 \$1 table \$2 515;
+#X text 282 374 create the necessary tables;
+#X text 238 439 fill each table with the appropriate sinesum \,;
+#X text 237 457 respectively the appropriate number of harmonics.;
+#X obj 131 318 makefilename BLSAW%d;
+#N canvas 535 94 218 342 bandlimited_saw_sinesum 0;
+#X obj 43 67 until;
+#X obj 21 38 t b f b;
+#X obj 84 67 1;
+#X obj 43 99 f 1;
+#X obj 84 99 + 1;
+#X obj 43 194 list prepend;
+#X obj 154 195 list;
+#X obj 21 233 list;
+#X obj 135 129 b;
+#X obj 21 278 list trim;
+#X obj 21 16 inlet;
+#X obj 21 300 outlet;
+#X obj 21 256 list prepend sinesum 512;
+#X obj 43 143 pow -1;
+#X obj 43 167 * 0.63662;
+#X text 120 167 = 2 / pi;
+#X connect 0 0 3 0;
+#X connect 1 0 7 0;
+#X connect 1 1 0 0;
+#X connect 1 2 2 0;
+#X connect 1 2 8 0;
+#X connect 2 0 3 1;
+#X connect 3 0 4 0;
+#X connect 3 0 13 0;
+#X connect 4 0 3 1;
+#X connect 5 0 6 0;
+#X connect 5 0 7 1;
+#X connect 6 0 5 1;
+#X connect 7 0 12 0;
+#X connect 8 0 7 1;
+#X connect 8 0 5 1;
+#X connect 9 0 11 0;
+#X connect 10 0 1 0;
+#X connect 12 0 9 0;
+#X connect 13 0 14 0;
+#X connect 14 0 5 0;
+#X restore 15 442 pd bandlimited_saw_sinesum;
+#X obj 80 317 * 20;
+#X obj 80 396 s pd-\$0-lookup-tables-saw;
+#X obj 138 123 r \$0-create_additional_tables;
+#X obj 15 28 r \$0-create_tables;
+#X obj 15 66 \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 0 7 0;
+#X connect 2 0 1 1;
+#X connect 3 0 1 1;
+#X connect 4 0 10 0;
+#X connect 5 0 0 0;
+#X connect 5 1 3 0;
+#X connect 5 2 6 0;
+#X connect 6 0 17 0;
+#X connect 7 0 8 0;
+#X connect 7 1 16 0;
+#X connect 7 2 8 1;
+#X connect 7 2 14 0;
+#X connect 8 0 15 0;
+#X connect 10 0 17 0;
+#X connect 14 0 4 1;
+#X connect 14 0 9 1;
+#X connect 15 0 9 0;
+#X connect 16 0 4 0;
+#X connect 18 0 0 0;
+#X connect 19 0 20 0;
+#X connect 20 0 5 0;
+#X restore 22 66 pd lookup-table-creation;
+#N canvas 647 5 291 900 \$0-lookup-tables-saw 0;
+#X restore 22 94 pd \$0-lookup-tables-saw;
+#X msg 204 226 version 0.2.0;
+#N canvas 169 33 537 620 singleton-communication 0;
+#X obj 127 22 loadbang;
+#X obj 171 100 + 1;
+#X obj 16 96 spigot;
+#X obj 149 153 == 1;
+#X obj 127 47 t b b b;
+#X obj 270 225 \$1;
+#X obj 127 184 t b b;
+#X msg 270 246 newdollar1 \$1;
+#X obj 125 396 > \$1;
+#X obj 134 419 sel 1;
+#X obj 134 441 f;
+#X text 189 397 if new is bigger \, use new number_of_tables;
+#X obj 134 373 t f f f;
+#X obj 178 502 - \$1;
+#X obj 178 526 moses 1;
+#X obj 222 549 s \$0-create_additional_tables;
+#X obj 127 214 f;
+#X obj 127 240 sel 1;
+#X obj 127 264 s \$0-create_tables;
+#X obj 18 348 route get_num_of_tables newdollar1;
+#X obj 18 423 \$1;
+#X msg 18 461 num_of_tables \$1;
+#X obj 171 77 value BLSAW.instance;
+#X obj 149 131 value BLSAW.instance;
+#X obj 270 267 s BLSAW;
+#X obj 16 69 r BLSAW;
+#X obj 16 120 s \$0-BLSAW;
+#X obj 18 319 r \$0-BLSAW;
+#X obj 18 488 s BLSAW;
+#X connect 0 0 4 0;
+#X connect 1 0 23 0;
+#X connect 2 0 26 0;
+#X connect 3 0 2 1;
+#X connect 3 0 16 1;
+#X connect 4 0 6 0;
+#X connect 4 1 23 0;
+#X connect 4 2 22 0;
+#X connect 5 0 7 0;
+#X connect 6 0 16 0;
+#X connect 6 1 5 0;
+#X connect 7 0 24 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 1;
+#X connect 10 0 13 1;
+#X connect 10 0 20 1;
+#X connect 12 0 8 0;
+#X connect 12 1 10 1;
+#X connect 12 2 13 0;
+#X connect 13 0 14 0;
+#X connect 14 1 15 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 19 0 20 0;
+#X connect 19 1 12 0;
+#X connect 20 0 21 0;
+#X connect 21 0 28 0;
+#X connect 22 0 1 0;
+#X connect 23 0 3 0;
+#X connect 25 0 2 0;
+#X connect 27 0 19 0;
+#X restore 21 36 pd singleton-communication;
+#X connect 2 0 5 0;
+#X connect 3 0 2 0;
+#X connect 4 0 2 1;