From e65166791149ffbd853aec0d5c1239470b9a07fe Mon Sep 17 00:00:00 2001 From: Cyrille Henry Date: Mon, 17 Sep 2012 09:15:40 +0000 Subject: adding an ADSR svn path=/trunk/externals/nusmuk/; revision=16252 --- nusmuk-audio/examples/analog_synth_emulation.pd | 230 +++++++++++++++++------- 1 file changed, 170 insertions(+), 60 deletions(-) diff --git a/nusmuk-audio/examples/analog_synth_emulation.pd b/nusmuk-audio/examples/analog_synth_emulation.pd index 2e5d1e6..120b766 100644 --- a/nusmuk-audio/examples/analog_synth_emulation.pd +++ b/nusmuk-audio/examples/analog_synth_emulation.pd @@ -1,6 +1,6 @@ -#N canvas 598 507 1202 444 10; +#N canvas 715 107 1012 561 10; #X declare -path ..; -#N canvas 138 332 399 586 LFO 0; +#N canvas 136 338 399 586 LFO 0; #X obj 29 97 phasor~; #X obj 29 18 r LFO_freq; #X obj 29 38 / 127; @@ -64,7 +64,7 @@ #X connect 27 0 17 0; #X connect 28 0 14 1; #X restore 67 69 pd LFO; -#N canvas 29 246 606 548 VCO 0; +#N canvas 21 271 716 547 VCO 0; #X obj 29 125 line~; #X msg 29 105 \$1 20; #X obj 30 275 mtof~; @@ -277,6 +277,13 @@ #X obj 347 156 *~ 1; #X obj 466 104 /~ 127; #X obj 465 125 *~ 12; +#X obj 553 208 *~; +#X msg 568 163 \$1 20; +#X obj 552 46 inlet~; +#X obj 568 186 line~; +#X obj 552 73 *~ 12; +#X obj 568 119 r VCO_mod_ADSR; +#X obj 568 142 / 127; #X connect 0 0 2 0; #X connect 1 0 0 0; #X connect 2 0 4 0; @@ -312,8 +319,15 @@ #X connect 29 0 16 0; #X connect 30 0 31 0; #X connect 31 0 25 0; +#X connect 32 0 2 0; +#X connect 33 0 35 0; +#X connect 34 0 36 0; +#X connect 35 0 32 1; +#X connect 36 0 32 0; +#X connect 37 0 38 0; +#X connect 38 0 33 0; #X restore 32 105 pd VCO; -#N canvas 414 262 558 443 VCF 0; +#N canvas 410 274 558 443 VCF 0; #X obj -2180 173 mtof; #X obj -2180 195 bq_coef_lop; #N canvas 1 91 450 300 5_lines~ 0; @@ -364,10 +378,6 @@ #X msg -2035 175 \$1 20; #X obj -2049 65 inlet~; #X obj -2050 131 snapshot~; -#X obj -2003 109 metro 10; -#X obj -2003 89 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 -1 1; -#X obj -2003 66 loadbang; #X obj -2035 198 line; #X obj -2050 220 *; #X obj -2170 122 t b f; @@ -375,6 +385,13 @@ #X obj -2035 153 r VCF_mod; #X obj -2050 240 / 127; #X obj -2050 261 * 12; +#X obj -1925 66 inlet; +#X obj -1883 93 r VCF_mod_ADSR; +#X obj -1925 138 *; +#X obj -1925 93 * 12; +#X obj -1925 159 t b f; +#X obj -2050 284 +; +#X obj -1883 116 / 127; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 1 2 1; @@ -388,53 +405,58 @@ #X connect 2 4 3 5; #X connect 3 0 5 0; #X connect 4 0 3 0; -#X connect 6 0 20 0; +#X connect 6 0 17 0; #X connect 7 0 8 0; #X connect 8 0 10 0; #X connect 9 0 1 1; #X connect 10 0 9 0; -#X connect 11 0 17 0; +#X connect 11 0 14 0; #X connect 12 0 13 0; -#X connect 13 0 18 0; -#X connect 14 0 13 0; -#X connect 15 0 14 0; -#X connect 16 0 15 0; -#X connect 17 0 18 1; -#X connect 18 0 22 0; +#X connect 13 0 15 0; +#X connect 14 0 15 1; +#X connect 15 0 19 0; +#X connect 16 0 17 0; +#X connect 16 1 17 1; +#X connect 17 0 0 0; +#X connect 18 0 11 0; #X connect 19 0 20 0; -#X connect 19 1 20 1; -#X connect 20 0 0 0; -#X connect 21 0 11 0; -#X connect 22 0 23 0; -#X connect 23 0 19 0; +#X connect 20 0 26 0; +#X connect 21 0 24 0; +#X connect 22 0 27 0; +#X connect 23 0 25 0; +#X connect 24 0 23 0; +#X connect 25 0 13 0; +#X connect 25 1 26 1; +#X connect 26 0 16 0; +#X connect 27 0 23 1; #X restore 32 144 pd VCF; -#X obj 671 86 vsl 15 128 0 127 0 0 LFO_freq empty empty 0 -9 0 10 -262144 --1 -1 0 1; -#X obj 728 85 vsl 15 128 0 127 0 0 LFO_shape set_LFO_shape empty 0 --9 0 10 -262144 -1 -1 0 1; -#X obj 1026 90 vsl 15 128 0 127 0 0 disto empty empty 0 -9 0 10 -262144 --1 -1 0 1; -#X obj 210 86 vsl 15 128 0 127 0 0 VCO_freq empty empty 0 -9 0 10 -262144 --1 -1 0 1; -#X obj 329 86 vsl 15 128 0 127 0 0 VCO_mod empty empty 0 -9 0 10 -262144 --1 -1 0 1; -#X obj 443 84 vsl 15 128 0 127 0 0 VCF_freq empty empty 0 -9 0 10 -262144 --1 -1 0 1; -#X obj 498 86 vsl 15 128 0 127 0 0 VCF_q empty empty 0 -9 0 10 -262144 --1 -1 0 1; -#X text 668 223 LFO freq; -#X text 727 246 LFO shape; +#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 442 222 VCF freq; -#X obj 548 84 vsl 15 128 0 127 0 0 VCF_mod empty empty 0 -9 0 10 -262144 +#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 499 242 Q; -#X obj 785 84 vsl 15 128 0 127 0 0 LFO_symetry set_LFO_symetry empty -0 -9 0 10 -262144 -1 -1 0 1; -#X text 1020 236 disto; -#X obj 1060 156 vradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 +#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 1087 202 disto shape; +#X text 904 487 disto shape; #N canvas 1 143 450 300 disto1 0; #X obj 39 47 inlet~; #X obj 40 256 outlet~; @@ -468,9 +490,9 @@ #X connect 14 0 1 0; #X restore 32 124 pd disto1; #X text 207 220 VCO freq; -#X obj 865 110 vradio 15 1 0 7 empty empty empty 0 -8 0 10 -262144 +#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 0 VCO_pwm empty empty 0 -9 0 10 -262144 +#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 @@ -510,11 +532,10 @@ #X obj 33 182 hip~ 15; #X obj 33 201 hip~ 15; #X obj 33 220 hip~ 15; -#X text 783 223 LFO symetry; -#X obj 33 238 *~ 0.2; -#X text 548 224 Mod LFO; +#X text 601 505 LFO symetry; +#X text 628 224 Mod LFO; #X text 207 58 VCO; -#X text 441 53 VCF; +#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; @@ -542,9 +563,9 @@ #X connect 9 3 8 0; #X connect 10 0 9 0; #X connect 11 0 6 0; -#X restore 1060 223 pd disto_shape; -#X text 887 203 LFO shape preset; -#X text 669 51 LFO; +#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; @@ -575,19 +596,108 @@ #X connect 10 5 8 0; #X connect 10 6 9 0; #X connect 11 0 10 0; -#X restore 865 227 pd LFO shape; +#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~; +#X obj 26 23 inlet~; +#X obj 82 48 r VCA; +#X obj 82 71 / 127; +#X obj 82 92 t f f; +#X obj 82 113 *; +#X obj 82 157 line~; +#X obj 27 196 *~; +#X obj 222 29 inlet~; +#X obj 28 231 *~; +#X obj 221 82 *~; +#X msg 82 135 \$1 20; +#X connect 1 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 5 1; +#X connect 5 0 11 0; +#X connect 6 0 7 1; +#X connect 7 0 9 0; +#X connect 8 0 10 1; +#X connect 8 0 10 0; +#X connect 9 0 0 0; +#X connect 10 0 9 1; +#X connect 11 0 6 0; +#X restore 33 262 pd VCA; +#N canvas 1 137 450 300 ADSR 0; +#X obj 53 169 ADSR -------; +#X obj 70 58 r ADSR_A; +#X obj 87 78 r ADSR_D; +#X obj 104 98 r ADSR_S; +#X obj 122 118 r ADSR_R; +#X obj 53 34 r on_off; +#X msg 53 189 \$1 5; +#X obj 53 211 line~; +#X obj 53 236 outlet~; +#X obj 104 137 / 127; +#X obj 124 237 outlet; +#X connect 0 0 6 0; +#X connect 0 0 10 0; +#X connect 1 0 0 1; +#X connect 2 0 0 2; +#X connect 3 0 9 0; +#X connect 4 0 0 4; +#X connect 5 0 0 0; +#X connect 6 0 7 0; +#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 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 37 0; +#X connect 18 0 36 0; #X connect 20 0 2 0; -#X connect 22 0 40 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 33 0; -#X connect 33 0 28 0; -#X connect 33 0 28 1; +#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; -- cgit v1.2.1