aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nusmuk-audio/examples/analog_synth_emulation.pd357
1 files changed, 186 insertions, 171 deletions
diff --git a/nusmuk-audio/examples/analog_synth_emulation.pd b/nusmuk-audio/examples/analog_synth_emulation.pd
index 120b766..17607e6 100644
--- a/nusmuk-audio/examples/analog_synth_emulation.pd
+++ b/nusmuk-audio/examples/analog_synth_emulation.pd
@@ -1,5 +1,143 @@
-#N canvas 715 107 1012 561 10;
+#N canvas 640 374 1012 561 10;
#X declare -path ..;
+#X obj 489 368 vsl 15 128 0 127 0 1 LFO_freq empty empty 0 -9 0 10
+-262144 -1 -1 9700 1;
+#X obj 546 367 vsl 15 128 0 127 0 1 LFO_shape set_LFO_shape empty 0
+-9 0 10 -262144 -1 -1 5100 1;
+#X obj 843 375 vsl 15 128 0 127 0 1 disto empty empty 0 -9 0 10 -262144
+-1 -1 6100 1;
+#X obj 210 86 vsl 15 128 0 127 0 1 VCO_freq empty empty 0 -9 0 10 -262144
+-1 -1 6100 1;
+#X obj 329 86 vsl 15 128 0 127 0 1 VCO_mod empty empty 0 -9 0 10 -262144
+-1 -1 4900 1;
+#X obj 523 84 vsl 15 128 0 127 0 1 VCF_freq empty empty 0 -9 0 10 -262144
+-1 -1 5900 1;
+#X obj 578 86 vsl 15 128 0 127 0 1 VCF_q empty empty 0 -9 0 10 -262144
+-1 -1 8800 1;
+#X text 486 505 LFO freq;
+#X text 532 528 LFO shape;
+#X text 328 219 Mod LFO;
+#X text 522 222 VCF freq;
+#X obj 628 84 vsl 15 128 0 127 0 1 VCF_mod empty empty 0 -9 0 10 -262144
+-1 -1 3000 1;
+#X text 579 242 Q;
+#X obj 603 366 vsl 15 128 0 127 0 1 LFO_symetry set_LFO_symetry empty
+0 -9 0 10 -262144 -1 -1 2050 1;
+#X text 837 521 disto;
+#X obj 877 441 vradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144
+-1 -1 0;
+#X text 904 487 disto shape;
+#X text 207 220 VCO freq;
+#X obj 683 362 vradio 15 1 0 7 empty empty empty 0 -8 0 10 -262144
+-1 -1 0;
+#X obj 270 86 vsl 15 128 0 127 0 1 VCO_pwm empty empty 0 -9 0 10 -262144
+-1 -1 0 1;
+#X obj 210 275 s VCO_tri_square;
+#X obj 210 255 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 265 239 VCO pwm /shape;
+#X obj 32 87 dac~;
+#X text 601 505 LFO symetry;
+#X text 628 224 Mod LFO;
+#X text 207 58 VCO;
+#X text 521 53 VCF;
+#N canvas 1 222 338 295 disto_shape 0;
+#X obj 31 169 unpack f f f f;
+#X obj 31 193 s disto1_A;
+#X obj 58 214 s disto1_B;
+#X obj 85 233 s disto2_A;
+#X obj 112 254 s disto2_B;
+#X msg 31 85 1 0 0 0;
+#X msg 46 104 0 0 1 0;
+#X msg 62 123 1 0.3 1 -0.3;
+#X msg 78 142 1 -0.5 1 0.5;
+#X obj 31 65 sel 0 1 2 3;
+#X obj 32 39 inlet;
+#X obj 130 67 loadbang;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 0 2 3 0;
+#X connect 0 3 4 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 5 0;
+#X connect 9 1 6 0;
+#X connect 9 2 7 0;
+#X connect 9 3 8 0;
+#X connect 10 0 9 0;
+#X connect 11 0 6 0;
+#X restore 877 508 pd disto_shape;
+#X text 705 485 LFO shape preset;
+#X text 487 333 LFO;
+#N canvas 1 89 450 300 LFO 0;
+#X obj 51 242 s set_LFO_shape;
+#X obj 51 222 unpack f f;
+#X obj 108 262 s set_LFO_symetry;
+#X msg 79 118 0 0;
+#X msg 65 100 0 63.5;
+#X msg 93 136 0 127;
+#X msg 51 82 63.5 63.5;
+#X msg 107 154 127 63.5;
+#X msg 121 172 127 10;
+#X msg 135 190 127 117;
+#X obj 51 63 sel 0 1 2 3 4 5 6;
+#X obj 51 42 inlet;
+#X connect 1 0 0 0;
+#X connect 1 1 2 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 1 0;
+#X connect 7 0 1 0;
+#X connect 8 0 1 0;
+#X connect 9 0 1 0;
+#X connect 10 0 6 0;
+#X connect 10 1 4 0;
+#X connect 10 2 3 0;
+#X connect 10 3 5 0;
+#X connect 10 4 7 0;
+#X connect 10 5 8 0;
+#X connect 10 6 9 0;
+#X connect 11 0 10 0;
+#X restore 683 509 pd LFO shape;
+#X obj 32 14 declare -path ..;
+#X text 704 360 sin;
+#X text 703 377 triangle;
+#X text 705 421 square;
+#X text 703 437 rectangle 1;
+#X text 704 391 saw 1;
+#X text 704 407 saw 2;
+#X text 703 452 rectangle 2;
+#X obj 389 86 vsl 15 128 0 127 0 1 VCO_mod_ADSR empty empty 0 -9 0
+10 -262144 -1 -1 0 1;
+#X text 388 219 Mod ARSR;
+#X obj 688 84 vsl 15 128 0 127 0 1 VCF_mod_ADSR empty empty 0 -9 0
+10 -262144 -1 -1 8100 1;
+#X text 688 224 Mod ADSR;
+#X obj 843 88 vsl 15 128 0 127 0 1 VCA empty empty 0 -9 0 10 -262144
+-1 -1 7000 1;
+#X text 841 57 VCA;
+#X text 845 227 Amplitude;
+#X text 202 351 ADSR;
+#X obj 42 371 tgl 50 0 on_off empty empty 17 7 0 10 -4034 -1 -1 0 1
+;
+#X text 41 428 note on / off;
+#X obj 206 376 vsl 15 128 0 127 0 1 ADSR_A empty empty 0 -9 0 10 -262144
+-1 -1 0 1;
+#X obj 269 376 vsl 15 128 0 127 0 1 ADSR_D empty empty 0 -9 0 10 -262144
+-1 -1 4800 1;
+#X obj 327 377 vsl 15 128 0 127 0 1 ADSR_S empty empty 0 -9 0 10 -262144
+-1 -1 6500 1;
+#X obj 386 377 vsl 15 128 0 127 0 1 ADSR_R empty empty 0 -9 0 10 -262144
+-1 -1 3500 1;
+#X text 204 512 Attack;
+#X text 267 532 Decay;
+#X text 326 514 Sustain;
+#X text 388 533 Release;
+#X text 40 350 Gate;
+#N canvas 429 545 496 510 sound 0;
#N canvas 136 338 399 586 LFO 0;
#X obj 29 97 phasor~;
#X obj 29 18 r LFO_freq;
@@ -64,12 +202,12 @@
#X connect 27 0 17 0;
#X connect 28 0 14 1;
#X restore 67 69 pd LFO;
-#N canvas 21 271 716 547 VCO 0;
+#N canvas 17 281 716 547 VCO 0;
#X obj 29 125 line~;
#X msg 29 105 \$1 20;
#X obj 30 275 mtof~;
#X obj 29 44 r VCO_freq;
-#N canvas 489 231 672 540 pwm~ 0;
+#N canvas 485 241 672 540 pwm~ 0;
#X obj 62 99 phasor~;
#X obj 63 36 inlet~;
#X obj 235 149 +~;
@@ -94,11 +232,11 @@
#X obj 422 241 abs~;
#X obj 421 263 +~ 1.8955;
#X obj 174 427 +~;
-#N canvas 104 42 701 480 sin(x)/x 0;
+#N canvas 104 50 701 480 sin(x)/x 0;
#X obj 220 229 cos~;
#X obj 221 204 -~ 0.25;
#X msg 288 90 1;
-#X floatatom 288 162 5 0 0 0 - - -;
+#X floatatom 288 162 5 0 0 0 - - -, f 5;
#X obj 288 116 atan;
#X obj 288 137 * 8;
#X obj 220 181 /~ 6.238;
@@ -168,7 +306,7 @@
#X obj 220 229 cos~;
#X obj 221 204 -~ 0.25;
#X msg 288 90 1;
-#X floatatom 288 162 5 0 0 0 - - -;
+#X floatatom 288 162 5 0 0 0 - - -, f 5;
#X obj 288 116 atan;
#X obj 288 137 * 8;
#X obj 220 181 /~ 6.238;
@@ -430,36 +568,9 @@
#X connect 26 0 16 0;
#X connect 27 0 23 1;
#X restore 32 144 pd VCF;
-#X obj 489 368 vsl 15 128 0 127 0 1 LFO_freq empty empty 0 -9 0 10
--262144 -1 -1 9000 1;
-#X obj 546 367 vsl 15 128 0 127 0 1 LFO_shape set_LFO_shape empty 0
--9 0 10 -262144 -1 -1 6350 1;
-#X obj 843 375 vsl 15 128 0 127 0 1 disto empty empty 0 -9 0 10 -262144
--1 -1 3400 1;
-#X obj 210 86 vsl 15 128 0 127 0 1 VCO_freq empty empty 0 -9 0 10 -262144
--1 -1 6800 1;
-#X obj 329 86 vsl 15 128 0 127 0 1 VCO_mod empty empty 0 -9 0 10 -262144
--1 -1 2000 1;
-#X obj 523 84 vsl 15 128 0 127 0 1 VCF_freq empty empty 0 -9 0 10 -262144
--1 -1 6200 1;
-#X obj 578 86 vsl 15 128 0 127 0 1 VCF_q empty empty 0 -9 0 10 -262144
--1 -1 8700 1;
-#X text 486 505 LFO freq;
-#X text 532 528 LFO shape;
-#X text 328 219 Mod LFO;
-#X text 522 222 VCF freq;
-#X obj 628 84 vsl 15 128 0 127 0 1 VCF_mod empty empty 0 -9 0 10 -262144
--1 -1 0 1;
-#X text 579 242 Q;
-#X obj 603 366 vsl 15 128 0 127 0 1 LFO_symetry set_LFO_symetry empty
-0 -9 0 10 -262144 -1 -1 6350 1;
-#X text 837 521 disto;
-#X obj 877 441 vradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144
--1 -1 0;
-#X text 904 487 disto shape;
-#N canvas 1 143 450 300 disto1 0;
+#N canvas 1016 535 413 400 disto1 0;
#X obj 39 47 inlet~;
-#X obj 40 256 outlet~;
+#X obj 40 286 outlet~;
#X obj 143 110 / 127;
#X obj 143 47 r disto;
#X obj 199 48 r disto1_A;
@@ -470,37 +581,31 @@
#X msg 56 105 \$1 20;
#X obj 143 132 pow 2;
#X obj 199 69 t b f;
-#X floatatom 190 224 5 0 0 0 - - -;
#X obj 143 152 * 1.5;
-#X obj 39 216 distortion~;
+#X obj 39 246 distortion~;
+#X obj 106 204 hip~ 1000;
+#X obj 40 204 lop~ 1000;
#X connect 0 0 7 0;
#X connect 2 0 10 0;
#X connect 3 0 2 0;
#X connect 4 0 11 0;
#X connect 5 0 9 0;
-#X connect 6 0 12 0;
-#X connect 6 0 14 1;
+#X connect 6 0 13 1;
+#X connect 7 0 15 0;
#X connect 7 0 14 0;
#X connect 8 0 7 1;
#X connect 9 0 8 0;
-#X connect 10 0 13 0;
+#X connect 10 0 12 0;
#X connect 11 0 2 0;
#X connect 11 1 6 1;
-#X connect 13 0 6 0;
+#X connect 12 0 6 0;
+#X connect 13 0 1 0;
#X connect 14 0 1 0;
+#X connect 15 0 13 0;
#X restore 32 124 pd disto1;
-#X text 207 220 VCO freq;
-#X obj 683 362 vradio 15 1 0 7 empty empty empty 0 -8 0 10 -262144
--1 -1 0;
-#X obj 270 86 vsl 15 128 0 127 0 1 VCO_pwm empty empty 0 -9 0 10 -262144
--1 -1 0 1;
-#X obj 210 275 s VCO_tri_square;
-#X obj 210 255 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 265 239 VCO pwm /shape;
-#N canvas 1 131 450 300 disto2 0;
+#N canvas 772 582 402 396 disto2 0;
#X obj 39 47 inlet~;
-#X obj 40 256 outlet~;
+#X obj 40 275 outlet~;
#X obj 143 110 / 127;
#X obj 143 47 r disto;
#X obj 143 174 *;
@@ -512,12 +617,15 @@
#X obj 143 132 pow 2;
#X obj 199 69 t b f;
#X obj 143 152 * 1.5;
-#X obj 39 215 distortion~;
+#X obj 39 234 distortion~;
+#X obj 106 204 hip~ 1000;
+#X obj 40 204 lop~ 1000;
#X connect 0 0 5 0;
#X connect 2 0 10 0;
#X connect 3 0 2 0;
#X connect 4 0 13 1;
-#X connect 5 0 13 0;
+#X connect 5 0 15 0;
+#X connect 5 0 14 0;
#X connect 6 0 5 1;
#X connect 7 0 6 0;
#X connect 8 0 7 0;
@@ -527,94 +635,12 @@
#X connect 11 1 4 1;
#X connect 12 0 4 0;
#X connect 13 0 1 0;
+#X connect 14 0 13 0;
+#X connect 15 0 13 0;
#X restore 33 164 pd disto2;
-#X obj 33 289 dac~;
#X obj 33 182 hip~ 15;
#X obj 33 201 hip~ 15;
#X obj 33 220 hip~ 15;
-#X text 601 505 LFO symetry;
-#X text 628 224 Mod LFO;
-#X text 207 58 VCO;
-#X text 521 53 VCF;
-#N canvas 1 179 274 272 disto_shape 0;
-#X obj 21 -701 unpack f f f f;
-#X obj 21 -677 s disto1_A;
-#X obj 48 -656 s disto1_B;
-#X obj 75 -637 s disto2_A;
-#X obj 102 -616 s disto2_B;
-#X msg 21 -785 1 0 0 0;
-#X msg 36 -766 0 0 1 0;
-#X msg 52 -747 1 0.3 1 -0.3;
-#X msg 68 -728 1 -0.5 1 0.5;
-#X obj 21 -805 sel 0 1 2 3;
-#X obj 22 -831 inlet;
-#X obj 120 -803 loadbang;
-#X connect 0 0 1 0;
-#X connect 0 1 2 0;
-#X connect 0 2 3 0;
-#X connect 0 3 4 0;
-#X connect 5 0 0 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X connect 9 0 5 0;
-#X connect 9 1 6 0;
-#X connect 9 2 7 0;
-#X connect 9 3 8 0;
-#X connect 10 0 9 0;
-#X connect 11 0 6 0;
-#X restore 877 508 pd disto_shape;
-#X text 705 485 LFO shape preset;
-#X text 487 333 LFO;
-#N canvas 1 89 450 300 LFO 0;
-#X obj 51 242 s set_LFO_shape;
-#X obj 51 222 unpack f f;
-#X obj 108 262 s set_LFO_symetry;
-#X msg 79 118 0 0;
-#X msg 65 100 0 63.5;
-#X msg 93 136 0 127;
-#X msg 51 82 63.5 63.5;
-#X msg 107 154 127 63.5;
-#X msg 121 172 127 10;
-#X msg 135 190 127 117;
-#X obj 51 63 sel 0 1 2 3 4 5 6;
-#X obj 51 42 inlet;
-#X connect 1 0 0 0;
-#X connect 1 1 2 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 1 0;
-#X connect 7 0 1 0;
-#X connect 8 0 1 0;
-#X connect 9 0 1 0;
-#X connect 10 0 6 0;
-#X connect 10 1 4 0;
-#X connect 10 2 3 0;
-#X connect 10 3 5 0;
-#X connect 10 4 7 0;
-#X connect 10 5 8 0;
-#X connect 10 6 9 0;
-#X connect 11 0 10 0;
-#X restore 683 509 pd LFO shape;
-#X obj 32 14 declare -path ..;
-#X text 704 360 sin;
-#X text 703 377 triangle;
-#X text 705 421 square;
-#X text 703 437 rectangle 1;
-#X text 704 391 saw 1;
-#X text 704 407 saw 2;
-#X text 703 452 rectangle 2;
-#X obj 389 86 vsl 15 128 0 127 0 1 VCO_mod_ADSR empty empty 0 -9 0
-10 -262144 -1 -1 0 1;
-#X text 388 219 Mod ARSR;
-#X obj 688 84 vsl 15 128 0 127 0 1 VCF_mod_ADSR empty empty 0 -9 0
-10 -262144 -1 -1 7800 1;
-#X text 688 224 Mod ADSR;
-#X obj 843 88 vsl 15 128 0 127 0 1 VCA empty empty 0 -9 0 10 -262144
--1 -1 9300 1;
-#X text 841 57 VCA;
-#X text 845 227 Amplitude;
#X obj 33 238 *~ 0.5;
#N canvas 1 95 450 300 VCA 0;
#X obj 28 259 outlet~;
@@ -666,38 +692,27 @@
#X connect 7 0 8 0;
#X connect 9 0 0 3;
#X restore 116 70 pd ADSR;
-#X text 202 351 ADSR;
-#X obj 42 371 tgl 50 0 on_off empty empty 17 7 0 10 -4034 -1 -1 0 1
-;
-#X text 41 428 note on / off;
-#X obj 206 376 vsl 15 128 0 127 0 1 ADSR_A empty empty 0 -9 0 10 -262144
--1 -1 0 1;
-#X obj 269 376 vsl 15 128 0 127 0 1 ADSR_D empty empty 0 -9 0 10 -262144
--1 -1 2400 1;
-#X obj 327 377 vsl 15 128 0 127 0 1 ADSR_S empty empty 0 -9 0 10 -262144
--1 -1 6500 1;
-#X obj 386 377 vsl 15 128 0 127 0 1 ADSR_R empty empty 0 -9 0 10 -262144
--1 -1 4300 1;
-#X text 204 512 Attack;
-#X text 267 532 Decay;
-#X text 326 514 Sustain;
-#X text 388 533 Release;
-#X text 40 350 Gate;
+#X obj 31 309 outlet~;
+#X obj 230 67 block~ 128 1 2;
+#X obj 32 286 lop~ 15000;
#X connect 0 0 1 0;
#X connect 0 0 2 1;
-#X connect 1 0 20 0;
-#X connect 2 0 27 0;
-#X connect 18 0 36 0;
-#X connect 20 0 2 0;
-#X connect 22 0 39 0;
-#X connect 25 0 24 0;
-#X connect 27 0 29 0;
-#X connect 29 0 30 0;
-#X connect 30 0 31 0;
-#X connect 31 0 55 0;
-#X connect 55 0 56 0;
-#X connect 56 0 28 0;
-#X connect 56 0 28 1;
-#X connect 57 0 56 1;
-#X connect 57 0 1 1;
-#X connect 57 1 2 2;
+#X connect 1 0 3 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 9 0 13 0;
+#X connect 10 0 9 1;
+#X connect 10 0 1 1;
+#X connect 10 1 2 2;
+#X connect 13 0 11 0;
+#X restore 33 52 pd sound;
+#X connect 15 0 28 0;
+#X connect 18 0 31 0;
+#X connect 21 0 20 0;
+#X connect 59 0 23 0;
+#X connect 59 0 23 1;