diff options
author | Guenter Geiger <ggeiger@users.sourceforge.net> | 2002-07-29 17:06:19 +0000 |
---|---|---|
committer | Guenter Geiger <ggeiger@users.sourceforge.net> | 2002-07-29 17:06:19 +0000 |
commit | 57045df5fe3ec557e57dc7434ac1a07b5521bffc (patch) | |
tree | 7174058b41b73c808107c7090d9a4e93ee202341 /pd/doc/3.audio.examples/69.more.adsr.pd | |
parent | da38b3424229e59f956252c3d89895e43e84e278 (diff) |
This commit was generated by cvs2svn to compensate for changes in r58,
which included commits to RCS files with non-trunk default branches.
svn path=/trunk/; revision=59
Diffstat (limited to 'pd/doc/3.audio.examples/69.more.adsr.pd')
-rw-r--r-- | pd/doc/3.audio.examples/69.more.adsr.pd | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/pd/doc/3.audio.examples/69.more.adsr.pd b/pd/doc/3.audio.examples/69.more.adsr.pd new file mode 100644 index 00000000..5b38917a --- /dev/null +++ b/pd/doc/3.audio.examples/69.more.adsr.pd @@ -0,0 +1,117 @@ +#N canvas 105 38 705 609 12; +#X obj 39 140 r trigger; +#X floatatom 70 376 0 0 0; +#N canvas 159 26 495 266 output 0; +#X obj 351 166 t b; +#X obj 351 114 f; +#X obj 351 62 inlet; +#X text 358 30 mute; +#X obj 351 192 f; +#X msg 442 185 0; +#X msg 351 88 bang; +#X obj 351 140 moses 1; +#X obj 442 159 t b f; +#X obj 413 122 moses 1; +#X obj 86 154 dbtorms; +#X obj 413 96 r master-lvl; +#X obj 86 44 r master-lvl; +#X obj 351 218 s master-lvl; +#X obj 23 188 inlet~; +#X obj 207 42 inlet; +#X text 207 19 level; +#X obj 207 104 s master-lvl; +#X msg 100 67 set \$1; +#X obj 100 93 outlet; +#X msg 222 66 \; pd dsp 1; +#X obj 86 202 line~; +#X obj 23 221 *~; +#X obj 23 250 dac~; +#X obj 86 178 pack 0 50; +#X text 21 165 audio; +#X text 97 114 show level; +#X connect 0 0 4 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 4 0 13 0; +#X connect 5 0 13 0; +#X connect 6 0 1 0; +#X connect 7 0 0 0; +#X connect 7 1 8 0; +#X connect 8 0 5 0; +#X connect 9 1 4 1; +#X connect 10 0 24 0; +#X connect 11 0 1 1; +#X connect 11 0 9 0; +#X connect 12 0 10 0; +#X connect 12 0 18 0; +#X connect 14 0 22 0; +#X connect 15 0 17 0; +#X connect 15 0 20 0; +#X connect 18 0 19 0; +#X connect 21 0 22 1; +#X connect 22 0 23 0; +#X connect 22 0 23 1; +#X connect 24 0 21 0; +#X restore 39 406 pd output; +#X msg 107 376 MUTE; +#X text 150 375 <-- output amplitude; +#X text 518 189 <-- attack; +#X text 485 281 <-- release; +#X obj 39 338 *~; +#X obj 39 282 *~; +#X obj 39 310 *~; +#X obj 80 340 osc~ 440; +#X text 88 9 ADSR envelope; +#X text 35 29 You can use the quartic trick to simplify patches using +ADSR envelopes. For amplitude control it's especially simple. It's +usually good enough in practice to control amplitudes by ranging an +ADSR from 0 to 1 (divide by 100 so your input range can be a comfortable +0-100) \, then take fourth power:; +#X obj 77 227 / 100; +#X floatatom 77 197 3 0 100; +#X msg 383 269 \; trigger 0; +#X obj 39 166 unpack; +#X floatatom 39 197 1 0 100; +#X msg 383 175 \; trigger 1 100; +#X text 503 229 <-- softer attack; +#X msg 382 222 \; trigger 1 60; +#X text 441 583 updated for Pd version 0.34; +#X text 14 437 Note that the units aren't dB \; for most of the range +0-100 it's about 0.4 dB per unit. If you want something closer to dB +\, you can set the scale as 0-40 instead of 0-100 (just change "/ 100" +to "/ 40") and then you'll get the response shown in the first patch +in this section.; +#X obj 596 519 *~; +#X obj 596 547 *~; +#X floatatom 605 390 3 0 100; +#X obj 605 416 mtof; +#X obj 605 441 sqrt; +#X obj 605 466 sqrt; +#X text 174 526 To use ADSR to control pitch \, you should; +#X text 173 545 usually just use real pitch units like this-->; +#X obj 596 490 adsr 0; +#X obj 39 253 adsr 0 100 200 70 300; +#X connect 0 0 16 0; +#X connect 1 0 2 1; +#X connect 2 0 1 0; +#X connect 3 0 2 2; +#X connect 7 0 2 0; +#X connect 8 0 9 0; +#X connect 8 0 9 1; +#X connect 9 0 7 0; +#X connect 10 0 7 1; +#X connect 13 0 32 1; +#X connect 14 0 13 0; +#X connect 16 0 17 0; +#X connect 16 1 14 0; +#X connect 17 0 32 0; +#X connect 23 0 24 0; +#X connect 23 0 24 1; +#X connect 25 0 26 0; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 28 0 31 1; +#X connect 31 0 23 0; +#X connect 31 0 23 1; +#X connect 32 0 8 0; +#X connect 32 0 8 1; |