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/71.adsr.sequenced.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/71.adsr.sequenced.pd')
-rw-r--r-- | pd/doc/3.audio.examples/71.adsr.sequenced.pd | 217 |
1 files changed, 217 insertions, 0 deletions
diff --git a/pd/doc/3.audio.examples/71.adsr.sequenced.pd b/pd/doc/3.audio.examples/71.adsr.sequenced.pd new file mode 100644 index 00000000..26300054 --- /dev/null +++ b/pd/doc/3.audio.examples/71.adsr.sequenced.pd @@ -0,0 +1,217 @@ +#N canvas 32 15 950 613 12; +#X obj 33 220 r trigger; +#X floatatom 70 520 0 0 0; +#N canvas 159 26 584 307 output 0; +#X obj 390 189 t b; +#X obj 390 129 f; +#X obj 390 69 inlet; +#X text 397 32 mute; +#X obj 390 219 f; +#X msg 451 217 0; +#X msg 390 99 bang; +#X obj 390 159 moses 1; +#X obj 460 137 moses 1; +#X obj 100 178 dbtorms; +#X obj 460 107 r master-lvl; +#X obj 100 50 r master-lvl; +#X obj 390 249 s master-lvl; +#X obj 26 217 inlet~; +#X obj 239 49 inlet; +#X text 239 22 level; +#X obj 239 120 s master-lvl; +#X msg 115 78 set \$1; +#X obj 115 107 outlet; +#X msg 257 77 \; pd dsp 1; +#X obj 100 233 line~; +#X obj 26 254 *~; +#X obj 26 289 dac~; +#X obj 100 205 pack 0 50; +#X text 24 190 audio; +#X text 112 132 show level; +#X connect 0 0 4 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 4 0 12 0; +#X connect 5 0 12 0; +#X connect 6 0 1 0; +#X connect 7 0 0 0; +#X connect 7 1 5 0; +#X connect 8 1 4 1; +#X connect 9 0 23 0; +#X connect 10 0 1 1; +#X connect 10 0 8 0; +#X connect 11 0 9 0; +#X connect 11 0 17 0; +#X connect 13 0 21 0; +#X connect 14 0 16 0; +#X connect 14 0 19 0; +#X connect 17 0 18 0; +#X connect 20 0 21 1; +#X connect 21 0 22 0; +#X connect 21 0 22 1; +#X connect 23 0 20 0; +#X restore 32 546 pd output; +#X msg 108 521 MUTE; +#X obj 33 438 *~; +#X obj 33 331 *~ 0.01; +#X obj 33 366 *~; +#X obj 33 396 *~; +#X obj 80 360 r pitch; +#X obj 80 410 mtof; +#X floatatom 80 385 4 0 0; +#X floatatom 57 272 4 0 0; +#X obj 57 247 r level; +#X floatatom 131 272 4 0 0; +#X obj 131 247 r attack; +#X floatatom 216 272 4 0 0; +#X obj 216 247 r decay; +#X floatatom 291 272 4 0 0; +#X floatatom 385 272 4 0 0; +#X obj 291 247 r sustain; +#X obj 385 247 r release; +#X obj 509 106 r note; +#X msg 510 195 \; trigger 1; +#X obj 634 185 del; +#X msg 634 210 \; trigger 0; +#X obj 9 167 qlist; +#X obj 8 6 r qlist; +#X msg 30 35 bang; +#X msg 30 60 rewind; +#X obj 37 89 r tempo; +#X floatatom 37 114 4 0 0; +#X msg 37 139 tempo \$1; +#X obj 509 156 t b f; +#X obj 564 157 s pitch; +#X obj 656 120 r duration; +#X floatatom 656 145 4 0 0; +#X floatatom 509 131 4 0 0; +#X obj 289 320 r trigger; +#X floatatom 315 376 4 0 0; +#X floatatom 387 406 4 0 0; +#X floatatom 477 406 4 0 0; +#X floatatom 563 406 4 0 0; +#X floatatom 659 406 4 0 0; +#X obj 315 351 r level2; +#X obj 387 381 r attack2; +#X obj 477 381 r decay2; +#X obj 563 381 r sustain2; +#X obj 659 381 r release2; +#X obj 80 435 tabosc4~ array1; +#X floatatom 239 366 4 0 0; +#X obj 33 482 vcf~; +#X floatatom 140 488 4 0 0; +#X obj 140 463 r q; +#X obj 33 306 adsr 0 0 0 0 0; +#X obj 289 444 adsr 0 0 0 0 0; +#X obj 315 401 / 69.23; +#X obj 239 391 mtof; +#X obj 239 416 sqrt; +#X obj 239 441 sqrt; +#X obj 197 336 r filter; +#X obj 240 494 *~; +#X obj 240 519 *~; +#X obj 289 469 +~ 1; +#X obj 239 466 *~; +#X text 139 215 ADSR for amplitude:; +#X text 402 300 ADSR for filter. Here \, I thought it better to make +the envelope modify a constant "filter pitch"--so the "filter" receive +gets the "mtof" treatment and the ADSR is an offset in halftones (thus +the "/ 69.23" as compared to the previous patch.); +#X text 141 5 USING QLIST TO MAKE SEQUENCES OF "NOTES"; +#N canvas -10 258 703 380 otherstuff 0; +#X obj 289 86 loadbang; +#X obj 418 85 loadbang; +#X graph graph2 0 -1 66 1 62 221 262 81; +#X array array1 67 float 1; +#A 0 0 0 0 0 0.714286 0.742857 0.757143 0.771429 0.778571 0.785714 +0.785714 0.785714 0.785714 0.790476 0.795238 0.614286 0.585714 0.442857 +0.271429 -0.128571 -0.142857 -0.157143 -0.171429 -0.642857 -0.528571 +-0.614286 -0.685714 -0.828571 -0.828571 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.557143 0.571429 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; +#X pop; +#X msg 418 115 \; qlist read qlist2.txt; +#X msg 289 111 \; level 100 \; attack 20 \; decay 300 \; sustain 70 +\; release 300 \; duration 300 \; pitch 72 \; filter 38 \; level2 49 +\; attack2 19 \; decay2 300 \; sustain2 17 \; release2 700 \; q 3 \; +tempo 1; +#X connect 0 0 4 0; +#X connect 1 0 3 0; +#X restore 32 571 pd otherstuff; +#X text 82 34 <--start loop; +#X text 99 62 <--stop loop; +#X text 85 114 <--set tempo; +#X text 248 34 The qlist reads the file \, "qlist2.txt" \, which contains +four "note" messages and a message at the end that restarts the qlist +at the beginning. The "note" messages are translated into a pitch change +and triggers for the ADSRs:; +#X text 694 573 updated for Pd version 0.34; +#X text 155 573 <--loadbangs and table; +#X msg 468 518 \; qlist read qlist2.txt; +#X text 462 494 click to reload qlist2.txt; +#X text 149 521 <--output; +#X connect 0 0 53 0; +#X connect 1 0 2 1; +#X connect 2 0 1 0; +#X connect 3 0 2 2; +#X connect 4 0 50 0; +#X connect 5 0 6 0; +#X connect 5 0 6 1; +#X connect 6 0 7 0; +#X connect 6 0 7 1; +#X connect 7 0 4 0; +#X connect 8 0 10 0; +#X connect 9 0 48 0; +#X connect 10 0 9 0; +#X connect 11 0 53 1; +#X connect 12 0 11 0; +#X connect 13 0 53 2; +#X connect 14 0 13 0; +#X connect 15 0 53 3; +#X connect 16 0 15 0; +#X connect 17 0 53 4; +#X connect 18 0 53 5; +#X connect 19 0 17 0; +#X connect 20 0 18 0; +#X connect 21 0 36 0; +#X connect 23 0 24 0; +#X connect 26 0 25 0; +#X connect 27 0 25 0; +#X connect 28 0 25 0; +#X connect 29 0 30 0; +#X connect 30 0 31 0; +#X connect 31 0 25 0; +#X connect 32 0 23 0; +#X connect 32 0 22 0; +#X connect 32 1 33 0; +#X connect 34 0 35 0; +#X connect 35 0 23 1; +#X connect 36 0 32 0; +#X connect 37 0 54 0; +#X connect 38 0 55 0; +#X connect 39 0 54 2; +#X connect 40 0 54 3; +#X connect 41 0 54 4; +#X connect 42 0 54 5; +#X connect 43 0 38 0; +#X connect 44 0 39 0; +#X connect 45 0 40 0; +#X connect 46 0 41 0; +#X connect 47 0 42 0; +#X connect 48 0 4 1; +#X connect 49 0 56 0; +#X connect 50 0 2 0; +#X connect 51 0 50 2; +#X connect 52 0 51 0; +#X connect 53 0 5 0; +#X connect 54 0 62 0; +#X connect 55 0 54 1; +#X connect 56 0 57 0; +#X connect 57 0 58 0; +#X connect 58 0 63 0; +#X connect 59 0 49 0; +#X connect 60 0 61 0; +#X connect 60 0 61 1; +#X connect 61 0 50 1; +#X connect 62 0 63 1; +#X connect 63 0 60 0; +#X connect 63 0 60 1; |