aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/71.adsr.sequenced.pd
diff options
context:
space:
mode:
authorGuenter Geiger <ggeiger@users.sourceforge.net>2002-07-29 17:06:19 +0000
committerGuenter Geiger <ggeiger@users.sourceforge.net>2002-07-29 17:06:19 +0000
commit57045df5fe3ec557e57dc7434ac1a07b5521bffc (patch)
tree7174058b41b73c808107c7090d9a4e93ee202341 /pd/doc/3.audio.examples/71.adsr.sequenced.pd
parentda38b3424229e59f956252c3d89895e43e84e278 (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.pd217
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;