aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/H16.adsr.filter.qlist.pd
diff options
context:
space:
mode:
Diffstat (limited to 'pd/doc/3.audio.examples/H16.adsr.filter.qlist.pd')
-rw-r--r--pd/doc/3.audio.examples/H16.adsr.filter.qlist.pd167
1 files changed, 167 insertions, 0 deletions
diff --git a/pd/doc/3.audio.examples/H16.adsr.filter.qlist.pd b/pd/doc/3.audio.examples/H16.adsr.filter.qlist.pd
new file mode 100644
index 00000000..f112d2b6
--- /dev/null
+++ b/pd/doc/3.audio.examples/H16.adsr.filter.qlist.pd
@@ -0,0 +1,167 @@
+#N canvas 131 52 921 585 12;
+#X obj 12 219 r trigger;
+#X obj 12 437 *~;
+#X obj 12 330 *~ 0.01;
+#X obj 12 365 *~;
+#X obj 12 395 *~;
+#X obj 59 359 r pitch;
+#X obj 59 409 mtof;
+#X floatatom 59 384 4 0 0 0 - - -;
+#X floatatom 36 271 4 0 0 0 - - -;
+#X obj 36 246 r level;
+#X floatatom 110 271 4 0 0 0 - - -;
+#X obj 110 246 r attack;
+#X floatatom 195 271 4 0 0 0 - - -;
+#X obj 195 246 r decay;
+#X floatatom 270 271 4 0 0 0 - - -;
+#X floatatom 364 271 4 0 0 0 - - -;
+#X obj 270 246 r sustain;
+#X obj 364 246 r release;
+#X obj 499 158 r note;
+#X msg 500 236 \; trigger 1;
+#X obj 602 225 del;
+#X msg 602 247 \; trigger 0;
+#X obj 14 166 qlist;
+#X obj 14 7 r qlist;
+#X msg 35 34 bang;
+#X msg 35 59 rewind;
+#X obj 42 88 r tempo;
+#X floatatom 42 113 4 0 0 0 - - -;
+#X msg 42 138 tempo \$1;
+#X obj 499 201 t b f;
+#X obj 550 198 s pitch;
+#X obj 624 176 r duration;
+#X floatatom 624 201 4 0 0 0 - - -;
+#X floatatom 499 181 4 0 0 0 - - -;
+#X obj 268 319 r trigger;
+#X floatatom 294 375 4 0 0 0 - - -;
+#X floatatom 366 405 4 0 0 0 - - -;
+#X floatatom 456 405 4 0 0 0 - - -;
+#X floatatom 542 405 4 0 0 0 - - -;
+#X floatatom 638 405 4 0 0 0 - - -;
+#X obj 294 350 r level2;
+#X obj 366 380 r attack2;
+#X obj 456 380 r decay2;
+#X obj 542 380 r sustain2;
+#X obj 638 380 r release2;
+#X obj 59 434 tabosc4~ array1;
+#X floatatom 218 365 4 0 0 0 - - -;
+#X obj 12 481 vcf~;
+#X floatatom 119 487 4 0 0 0 - - -;
+#X obj 119 462 r q;
+#X obj 12 305 adsr 0 0 0 0 0;
+#X obj 268 443 adsr 0 0 0 0 0;
+#X obj 294 400 / 69.23;
+#X obj 218 390 mtof;
+#X obj 218 415 sqrt;
+#X obj 218 440 sqrt;
+#X obj 176 335 r filter;
+#X obj 219 493 *~;
+#X obj 219 518 *~;
+#X obj 268 468 +~ 1;
+#X obj 218 465 *~;
+#X text 118 214 ADSR for amplitude:;
+#N canvas 0 258 703 380 otherstuff 0;
+#X obj 289 86 loadbang;
+#X obj 418 85 loadbang;
+#N canvas 0 0 450 300 graph2 0;
+#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 coords 0 1 66 -1 200 140 1;
+#X restore 62 81 graph;
+#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 4;
+#X connect 0 0 4 0;
+#X connect 1 0 3 0;
+#X restore 134 560 pd otherstuff;
+#X text 87 33 <--start loop;
+#X text 104 61 <--stop loop;
+#X text 90 113 <--set tempo;
+#X text 257 562 <--loadbangs and table;
+#X msg 447 517 \; qlist read qlist2.txt;
+#X text 441 493 click to reload qlist2.txt;
+#X obj 12 509 output~;
+#X text 229 19 This is an analog-synth sound made using a wavetable
+oscillator and a "vcf~' object. Unkike the "floyd" example earlier
+\, we use a qlist object to do the sequencing. This can also be adapted
+to make a keyboard synth.;
+#X text 227 85 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 667 551 updated for Pd version 0.39;
+#X text 379 305 ADSR for filter. Here \, it works 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.;
+#X text 231 1 ANALOG_STYLE SYNTH USING QLIST;
+#X connect 0 0 50 0;
+#X connect 1 0 47 0;
+#X connect 2 0 3 0;
+#X connect 2 0 3 1;
+#X connect 3 0 4 0;
+#X connect 3 0 4 1;
+#X connect 4 0 1 0;
+#X connect 5 0 7 0;
+#X connect 6 0 45 0;
+#X connect 7 0 6 0;
+#X connect 8 0 50 1;
+#X connect 9 0 8 0;
+#X connect 10 0 50 2;
+#X connect 11 0 10 0;
+#X connect 12 0 50 3;
+#X connect 13 0 12 0;
+#X connect 14 0 50 4;
+#X connect 15 0 50 5;
+#X connect 16 0 14 0;
+#X connect 17 0 15 0;
+#X connect 18 0 33 0;
+#X connect 20 0 21 0;
+#X connect 23 0 22 0;
+#X connect 24 0 22 0;
+#X connect 25 0 22 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 28 0 22 0;
+#X connect 29 0 20 0;
+#X connect 29 0 19 0;
+#X connect 29 1 30 0;
+#X connect 31 0 32 0;
+#X connect 32 0 20 1;
+#X connect 33 0 29 0;
+#X connect 34 0 51 0;
+#X connect 35 0 52 0;
+#X connect 36 0 51 2;
+#X connect 37 0 51 3;
+#X connect 38 0 51 4;
+#X connect 39 0 51 5;
+#X connect 40 0 35 0;
+#X connect 41 0 36 0;
+#X connect 42 0 37 0;
+#X connect 43 0 38 0;
+#X connect 44 0 39 0;
+#X connect 45 0 1 1;
+#X connect 46 0 53 0;
+#X connect 47 0 69 0;
+#X connect 47 0 69 1;
+#X connect 48 0 47 2;
+#X connect 49 0 48 0;
+#X connect 50 0 2 0;
+#X connect 51 0 59 0;
+#X connect 52 0 51 1;
+#X connect 53 0 54 0;
+#X connect 54 0 55 0;
+#X connect 55 0 60 0;
+#X connect 56 0 46 0;
+#X connect 57 0 58 0;
+#X connect 57 0 58 1;
+#X connect 58 0 47 1;
+#X connect 59 0 60 1;
+#X connect 60 0 57 0;
+#X connect 60 0 57 1;