Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
243 lines (242 sloc) 6.17 KB
#N canvas 231 22 985 808 10;
#X obj 74 88 inlet~;
#X obj 465 115 samplerate~;
#X obj 465 172 / 2;
#X obj 465 10 loadbang;
#X obj 451 222 /~;
#X obj 134 748 outlet~;
#X obj 67 512 *~ 2;
#X obj 67 540 -~ 1;
#X obj 133 707 lin-xfade.mmb~;
#X obj 279 672 /~ 1;
#X obj 279 648 -~ 30;
#X obj 559 104 v \$1-bl-maxsamprate.mmb;
#X obj 465 145 min 44100;
#X obj 465 82 t b b;
#X obj 559 131 sel 0;
#X msg 559 155 44100;
#X obj 559 71 r \$1-bl-getmaxsamprate.mmb;
#X obj 500 219 / 30;
#X obj 500 244 int;
#X obj 500 289 s \$0-maxharmonics;
#X obj 500 266 - 1;
#X obj 304 88 inlet~;
#X obj 289 277 +~;
#X obj 304 206 clip~ 0 1;
#X obj 289 297 +~ 1;
#X obj 289 317 wrap~;
#X obj 67 475 expr~ $v1>$v2;
#X text 488 496 adjust for DC offset and amplitude;
#N canvas 495 50 818 674 parabola 0;
#X obj 467 317 expr~ if($v1<1 \, $v1 \, 2-$v1);
#X obj 404 103 expr~ abs(fmod($v1 \, 2));
#X obj 100 307 *~ 1027;
#X obj 100 330 +~ 1;
#X obj 100 245 -~;
#X obj 100 280 clip~ 0 1;
#X obj 176 112 expr~ int($v1);
#X obj 282 307 *~ 1027;
#X obj 282 330 +~ 1;
#X obj 282 245 -~;
#X obj 282 280 clip~ 0 1;
#X obj 80 111 *~ 1024;
#X obj 80 356 +~;
#X obj 262 356 +~;
#X obj 167 484 lin-xfade.mmb~;
#X obj 80 46 inlet~;
#X text 95 64 phasor;
#X obj 290 46 inlet~;
#X text 338 52 number of harmonics;
#X obj 167 542 outlet~;
#X text 543 340 ping pong crossfader;
#X text 469 383 evens;
#X text 11 382 odds;
#X text 447 162 <-- these guys make sure that one tabread is using
on less harmonic than the other. If int(harmonics) is even \, then
odds has on less harmonic \, and vise versa. They switch when the crossfader
brings them to silence.;
#X obj 163 243 r \$0-maxharmonics;
#X obj 339 161 expr~ $v1<1;
#X obj 340 200 expr~ $v1>1;
#X obj 50 383 tabread4~ \$1-bl-parabolatable.mmb;
#X obj 262 384 tabread4~ \$1-bl-parabolatable.mmb;
#X obj 167 511 +~ 0.5;
#X connect 0 0 14 2;
#X connect 1 0 0 0;
#X connect 1 0 25 0;
#X connect 1 0 26 0;
#X connect 2 0 3 0;
#X connect 3 0 12 1;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 6 0 4 0;
#X connect 6 0 9 0;
#X connect 7 0 8 0;
#X connect 8 0 13 1;
#X connect 9 0 10 0;
#X connect 10 0 7 0;
#X connect 11 0 12 0;
#X connect 11 0 13 0;
#X connect 12 0 27 0;
#X connect 13 0 28 0;
#X connect 14 0 29 0;
#X connect 15 0 11 0;
#X connect 17 0 6 0;
#X connect 17 0 1 0;
#X connect 24 0 5 2;
#X connect 24 0 10 2;
#X connect 25 0 4 1;
#X connect 26 0 9 1;
#X connect 27 0 14 0;
#X connect 28 0 14 1;
#X connect 29 0 19 0;
#X restore 183 349 pd parabola;
#N canvas 495 50 818 674 parabola 0;
#X obj 467 317 expr~ if($v1<1 \, $v1 \, 2-$v1);
#X obj 404 103 expr~ abs(fmod($v1 \, 2));
#X obj 100 307 *~ 1027;
#X obj 100 330 +~ 1;
#X obj 100 245 -~;
#X obj 100 280 clip~ 0 1;
#X obj 176 112 expr~ int($v1);
#X obj 282 307 *~ 1027;
#X obj 282 330 +~ 1;
#X obj 282 245 -~;
#X obj 282 280 clip~ 0 1;
#X obj 80 111 *~ 1024;
#X obj 80 356 +~;
#X obj 262 356 +~;
#X obj 167 484 lin-xfade.mmb~;
#X obj 80 46 inlet~;
#X text 95 64 phasor;
#X obj 290 46 inlet~;
#X text 338 52 number of harmonics;
#X obj 167 542 outlet~;
#X text 543 340 ping pong crossfader;
#X text 469 383 evens;
#X text 11 382 odds;
#X text 447 162 <-- these guys make sure that one tabread is using
on less harmonic than the other. If int(harmonics) is even \, then
odds has on less harmonic \, and vise versa. They switch when the crossfader
brings them to silence.;
#X obj 163 243 r \$0-maxharmonics;
#X obj 339 161 expr~ $v1<1;
#X obj 340 200 expr~ $v1>1;
#X obj 50 383 tabread4~ \$1-bl-parabolatable.mmb;
#X obj 262 384 tabread4~ \$1-bl-parabolatable.mmb;
#X obj 167 511 +~ 0.5;
#X connect 0 0 14 2;
#X connect 1 0 0 0;
#X connect 1 0 25 0;
#X connect 1 0 26 0;
#X connect 2 0 3 0;
#X connect 3 0 12 1;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 6 0 4 0;
#X connect 6 0 9 0;
#X connect 7 0 8 0;
#X connect 8 0 13 1;
#X connect 9 0 10 0;
#X connect 10 0 7 0;
#X connect 11 0 12 0;
#X connect 11 0 13 0;
#X connect 12 0 27 0;
#X connect 13 0 28 0;
#X connect 14 0 29 0;
#X connect 15 0 11 0;
#X connect 17 0 6 0;
#X connect 17 0 1 0;
#X connect 24 0 5 2;
#X connect 24 0 10 2;
#X connect 25 0 4 1;
#X connect 26 0 9 1;
#X connect 27 0 14 0;
#X connect 28 0 14 1;
#X connect 29 0 19 0;
#X restore 289 350 pd parabola;
#X obj 187 633 *~;
#X obj 474 520 expr~ 1/(8*($v1-$v1*$v1));
#X obj 238 502 -~;
#X obj 465 42 t b b;
#N canvas 0 22 677 547 check.for.bl-init 0;
#X obj 117 64 inlet;
#X obj 162 119 s \$1-bl-init.ping.mmb;
#X obj 117 86 t b b;
#X obj 162 153 r \$1-bl-init.pong.mmb;
#X msg 162 177 0;
#X obj 117 201 spigot 1;
#X obj 117 359 s pd-\$0-bl-init;
#N canvas 761 22 450 300 \$0-bl-init 0;
#X restore 333 384 pd \$0-bl-init;
#X text 124 436 This pings [bl-init.mmb \$1] and creates an instance
of it if it does not exist.;
#X obj 117 225 f \$1;
#X msg 144 323 obj 20 20 bl-init.mmb \$1 \, loadbang;
#X obj 117 254 sel 0;
#X msg 117 293 obj 20 20 bl-init.mmb \, loadbang;
#X text 321 285 apparently no argument doesn't mean \$1 in [send] and
[receive] will be 0;
#X connect 0 0 2 0;
#X connect 2 0 5 0;
#X connect 2 1 1 0;
#X connect 3 0 4 0;
#X connect 4 0 5 1;
#X connect 5 0 9 0;
#X connect 9 0 11 0;
#X connect 10 0 6 0;
#X connect 11 0 12 0;
#X connect 11 1 10 0;
#X connect 12 0 6 0;
#X restore 509 42 pd check.for.bl-init;
#X obj 184 88 inlet~;
#X text 69 58 phasor;
#X text 180 59 freq;
#X obj 398 37 r pd;
#X obj 398 59 route dsp;
#X obj 398 81 sel 1;
#X connect 0 0 22 0;
#X connect 0 0 28 0;
#X connect 0 0 26 0;
#X connect 1 0 12 0;
#X connect 2 0 4 0;
#X connect 2 0 17 0;
#X connect 3 0 33 0;
#X connect 4 0 28 1;
#X connect 4 0 29 1;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 5 0;
#X connect 9 0 8 2;
#X connect 10 0 9 0;
#X connect 11 0 14 0;
#X connect 12 0 2 0;
#X connect 13 0 1 0;
#X connect 13 1 11 0;
#X connect 14 0 15 0;
#X connect 14 1 12 1;
#X connect 15 0 12 1;
#X connect 16 0 11 0;
#X connect 17 0 18 0;
#X connect 18 0 20 0;
#X connect 20 0 19 0;
#X connect 21 0 23 0;
#X connect 22 0 24 0;
#X connect 23 0 22 1;
#X connect 23 0 26 1;
#X connect 23 0 31 0;
#X connect 24 0 25 0;
#X connect 25 0 29 0;
#X connect 26 0 6 0;
#X connect 28 0 32 0;
#X connect 29 0 32 1;
#X connect 30 0 8 1;
#X connect 31 0 30 1;
#X connect 32 0 30 0;
#X connect 33 0 13 0;
#X connect 33 1 34 0;
#X connect 35 0 4 1;
#X connect 35 0 10 0;
#X connect 38 0 39 0;
#X connect 39 0 40 0;
#X connect 40 0 13 0;
Something went wrong with that request. Please try again.