H16.adsr.filter.qlist.pd 5.85 KB
Newer Older
1
#N canvas 187 25 745 613 10;
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#X obj 22 229 r trigger;
#X obj 22 447 *~;
#X obj 22 340 *~ 0.01;
#X obj 22 375 *~;
#X obj 22 405 *~;
#X obj 69 369 r pitch;
#X obj 69 419 mtof;
#X floatatom 69 394 4 0 0 0 - - -, f 4;
#X floatatom 46 281 4 0 0 0 - - -, f 4;
#X obj 46 256 r level;
#X floatatom 120 281 4 0 0 0 - - -, f 4;
#X obj 120 256 r attack;
#X floatatom 205 281 4 0 0 0 - - -, f 4;
#X obj 205 256 r decay;
#X floatatom 280 281 4 0 0 0 - - -, f 4;
#X floatatom 374 281 4 0 0 0 - - -, f 4;
#X obj 280 256 r sustain;
#X obj 374 256 r release;
Miller Puckette's avatar
Miller Puckette committed
20
#X obj 499 158 r note;
21 22 23 24 25 26 27 28 29 30
#X msg 499 256 \; trigger 1;
#X obj 592 234 del;
#X msg 592 256 \; trigger 0;
#X obj 22 201 qlist;
#X obj 22 42 r qlist;
#X msg 43 69 bang;
#X msg 43 94 rewind;
#X obj 50 123 r tempo;
#X floatatom 50 148 4 0 0 0 - - -, f 4;
#X msg 50 173 tempo \$1;
Miller Puckette's avatar
Miller Puckette committed
31
#X obj 499 201 t b f;
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
#X obj 526 233 s pitch;
#X obj 607 185 r duration;
#X floatatom 607 210 4 0 0 0 - - -, f 4;
#X floatatom 499 181 4 0 0 0 - - -, f 4;
#X obj 278 329 r trigger;
#X floatatom 304 385 4 0 0 0 - - -, f 4;
#X floatatom 376 415 4 0 0 0 - - -, f 4;
#X floatatom 456 415 4 0 0 0 - - -, f 4;
#X floatatom 542 415 4 0 0 0 - - -, f 4;
#X floatatom 638 415 4 0 0 0 - - -, f 4;
#X obj 304 360 r level2;
#X obj 376 390 r attack2;
#X obj 456 390 r decay2;
#X obj 542 390 r sustain2;
#X obj 638 390 r release2;
#X obj 69 444 tabosc4~ array1;
#X floatatom 228 375 4 0 0 0 - - -, f 4;
#X obj 22 491 vcf~;
#X floatatom 129 497 4 0 0 0 - - -, f 4;
#X obj 129 472 r q;
#X obj 22 315 adsr 0 0 0 0 0;
#X obj 278 453 adsr 0 0 0 0 0;
#X obj 304 410 / 69.23;
#X obj 228 400 mtof;
#X obj 228 425 sqrt;
#X obj 228 450 sqrt;
#X obj 186 345 r filter;
#X obj 229 503 *~;
#X obj 229 528 *~;
#X obj 278 478 +~ 1;
#X obj 228 475 *~;
#X text 128 230 ADSR for amplitude:;
Miller Puckette's avatar
Miller Puckette committed
64 65 66
#N canvas 0 258 703 380 otherstuff 0;
#X obj 289 86 loadbang;
#X obj 418 85 loadbang;
67
#N canvas 0 0 450 300 (subpatch) 0;
68
#X array array1 67 float 1 black black;
Miller Puckette's avatar
Miller Puckette committed
69 70 71 72 73 74 75 76 77 78 79 80 81 82
#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;
83 84 85 86 87 88 89 90 91
#X restore 144 553 pd otherstuff;
#X text 95 68 <--start loop;
#X text 112 96 <--stop loop;
#X text 98 148 <--set tempo;
#X text 230 553 <--loadbangs and table;
#X msg 447 507 \; qlist read qlist2.txt;
#X text 441 483 click to reload qlist2.txt;
#X obj 22 519 output~;
#X text 201 39 This is an analog-synth sound made using a wavetable
92
oscillator and a "vcf~' object. Unlike the "floyd" example earlier
Miller Puckette's avatar
Miller Puckette committed
93 94
\, we use a qlist object to do the sequencing. This can also be adapted
to make a keyboard synth.;
95
#X text 199 105 The qlist reads the file \, "qlist2.txt" \, which contains
Miller Puckette's avatar
Miller Puckette committed
96 97 98
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.;
99
#X text 370 315 ADSR for filter. Here \, it works better to make the
Miller Puckette's avatar
Miller Puckette committed
100 101
envelope modify a constant "filter pitch"--so the "filter" receive
gets the "mtof" treatment and the ADSR is an offset in halftones.;
102 103 104 105 106 107 108
#X obj 1 1 cnv 15 445 20 empty \$0-pddp.cnv.header analog_style_synth_using_qlist
20 10 1 18 -261139 -33289 0;
#X obj 407 2 pddp/pddplink http://puredata.info/dev/pddp -text pddp
;
#X obj 1 591 cnv 15 445 20 empty \$0-pddp.cnv.footer empty 20 12 0
14 -233017 -33289 0;
#N canvas 44 246 494 284 META 0;
109 110 111 112 113
#X text 12 105 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 85 AUTHOR Miller Puckette;
#X text 12 65 LIBRARY PDDP;
#X text 12 25 LICENSE SIBSD;
#X text 12 125 HELP_PATCH_AUTHORS Updated for release 0.39. Jonathan
114 115
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
116 117
#X text 12 45 DESCRIPTION analog style synth using qlist;
#X text 12 5 KEYWORDS signal tutorial;
118 119 120 121 122 123 124 125
#X restore 392 593 pd META;
#N canvas 13 202 428 190 References 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -261139 -33289 0;
#X text 7 2 analog synth with qlist- Related Help Documents;
#X text 19 37 links:;
#X restore 103 593 pd References;
#X obj 6 593 pddp/pddplink ../5.reference/pddp/help.pd -text help;
Miller Puckette's avatar
Miller Puckette committed
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189
#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;