aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/40.envelope.pitch.pd
diff options
context:
space:
mode:
Diffstat (limited to 'pd/doc/3.audio.examples/40.envelope.pitch.pd')
-rw-r--r--pd/doc/3.audio.examples/40.envelope.pitch.pd209
1 files changed, 209 insertions, 0 deletions
diff --git a/pd/doc/3.audio.examples/40.envelope.pitch.pd b/pd/doc/3.audio.examples/40.envelope.pitch.pd
new file mode 100644
index 00000000..42fc9ba8
--- /dev/null
+++ b/pd/doc/3.audio.examples/40.envelope.pitch.pd
@@ -0,0 +1,209 @@
+#N canvas 222 84 686 544 12;
+#X obj 48 106 r trigger;
+#X obj 48 154 tabread4~ dbtorms;
+#X floatatom 86 232 0 0 0;
+#N canvas 159 26 495 266 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 425 153 t b f;
+#X obj 397 117 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 397 92 r master-lvl;
+#X obj 83 42 r master-lvl;
+#X obj 338 210 s master-lvl;
+#X obj 22 181 inlet~;
+#X obj 199 41 inlet;
+#X text 199 18 level;
+#X obj 199 100 s master-lvl;
+#X msg 96 65 set \$1;
+#X obj 96 89 outlet;
+#X msg 214 64 \; pd dsp 1;
+#X obj 83 194 line~;
+#X obj 22 212 *~;
+#X obj 22 241 dac~;
+#X obj 83 171 pack 0 50;
+#X text 20 158 audio;
+#X text 93 110 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 48 258 pd output;
+#X msg 124 232 MUTE;
+#X text 166 231 <-- output amplitude;
+#X text 141 298 <-- attack;
+#X text 568 305 <-- release;
+#X obj 48 208 *~;
+#N canvas 151 343 812 522 make-table 0;
+#X msg 82 49 bang;
+#X obj 82 78 t b b;
+#X obj 141 142 f;
+#X obj 179 142 + 1;
+#X msg 150 112 0;
+#X obj 82 107 until;
+#X obj 141 176 t f f;
+#X floatatom 369 67 0 0 0;
+#X floatatom 369 127 0 0 0;
+#N canvas 0 0 450 300 graph1 0;
+#X array dbtorms 123 float 1;
+#A 0 0 0 1.25893e-05 1.41254e-05 1.58489e-05 1.77828e-05 1.99526e-05
+2.23872e-05 2.51189e-05 2.81838e-05 3.16228e-05 3.54813e-05 3.98107e-05
+4.46684e-05 5.01187e-05 5.62341e-05 6.30957e-05 7.07946e-05 7.94328e-05
+8.91251e-05 1e-04 0.000112202 0.000125893 0.000141254 0.000158489 0.000177828
+0.000199526 0.000223872 0.000251189 0.000281838 0.000316228 0.000354813
+0.000398107 0.000446684 0.000501187 0.000562341 0.000630957 0.000707946
+0.000794328 0.000891251 0.001 0.00112202 0.00125893 0.00141254 0.00158489
+0.00177828 0.00199526 0.00223872 0.00251189 0.00281838 0.00316228 0.00354813
+0.00398107 0.00446684 0.00501187 0.00562341 0.00630957 0.00707946 0.00794328
+0.00891251 0.01 0.0112202 0.0125893 0.0141254 0.0158489 0.0177828 0.0199526
+0.0223872 0.0251189 0.0281838 0.0316228 0.0354813 0.0398107 0.0446684
+0.0501187 0.0562341 0.0630957 0.0707946 0.0794328 0.0891251 0.1 0.112202
+0.125893 0.141254 0.158489 0.177828 0.199526 0.223872 0.251189 0.281838
+0.316228 0.354813 0.398107 0.446684 0.501187 0.562341 0.630957 0.707946
+0.794328 0.891251 1 1.12202 1.25893 1.41254 1.58489 1.77828 1.99526
+2.23872 2.51189 2.81838 3.16228 3.54813 3.98107 4.46684 5.01187 5.62341
+6.30957 7.07946 7.94328 8.91251 10 11.2202 12.5893;
+#X coords 0 10 123 0 200 100 1;
+#X restore 538 298 graph;
+#X text 740 391 0;
+#X text 742 291 10;
+#X text 544 403 ------ 123 samples ------;
+#N canvas 0 0 450 300 graph2 0;
+#X array mtof 130 float 1;
+#A 0 8.1758 8.66196 9.17702 9.72272 10.3009 10.9134 11.5623 12.2499
+12.9783 13.75 14.5676 15.4339 16.3516 17.3239 18.354 19.4454 20.6017
+21.8268 23.1247 24.4997 25.9565 27.5 29.1352 30.8677 32.7032 34.6478
+36.7081 38.8909 41.2034 43.6535 46.2493 48.9994 51.9131 55 58.2705
+61.7354 65.4064 69.2957 73.4162 77.7817 82.4069 87.3071 92.4986 97.9989
+103.826 110 116.541 123.471 130.813 138.591 146.832 155.563 164.814
+174.614 184.997 195.998 207.652 220 233.082 246.942 261.626 277.183
+293.665 311.127 329.628 349.228 369.994 391.995 415.305 440 466.164
+493.883 523.251 554.365 587.33 622.254 659.255 698.456 739.989 783.991
+830.609 880 932.328 987.767 1046.5 1108.73 1174.66 1244.51 1318.51
+1396.91 1479.98 1567.98 1661.22 1760 1864.66 1975.53 2093 2217.46 2349.32
+2489.02 2637.02 2793.83 2959.96 3135.96 3322.44 3520 3729.31 3951.07
+4186.01 4434.92 4698.64 4978.03 5274.04 5587.65 5919.91 6271.93 6644.88
+7040 7458.62 7902.13 8372.02 8869.84 9397.27 9956.06 10548.1 11175.3
+11839.8 12543.9 13289.8 14080;
+#X coords 0 12000 130 0 200 100 1;
+#X restore 537 130 graph;
+#X obj 283 102 mtof;
+#X floatatom 282 127 0 0 0;
+#X text 541 237 ------ 130 samples ------;
+#X text 746 223 0;
+#X text 748 123 12000;
+#X obj 81 203 mtof;
+#X obj 72 167 sel 129;
+#X obj 80 229 tabwrite mtof;
+#X obj 369 99 tabread4 mtof;
+#X obj 71 418 moses 2;
+#X msg 55 267 bang;
+#X obj 55 296 t b b;
+#X obj 126 357 f;
+#X obj 164 357 + 1;
+#X msg 148 329 0;
+#X obj 55 325 until;
+#X obj 47 385 sel 122;
+#X msg 71 449 0;
+#X obj 115 450 dbtorms;
+#X obj 126 385 t f f;
+#X obj 71 482 tabwrite dbtorms;
+#X text 312 40 ... and test accuracy;
+#X text 23 15 patch to recalculate the mtof table;
+#X text 107 267 bang to recalculate dbtorms table;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 1 1 4 0;
+#X connect 2 0 3 0;
+#X connect 2 0 6 0;
+#X connect 2 0 20 0;
+#X connect 3 0 2 1;
+#X connect 4 0 2 1;
+#X connect 5 0 2 0;
+#X connect 6 0 19 0;
+#X connect 6 1 21 1;
+#X connect 7 0 14 0;
+#X connect 7 0 22 0;
+#X connect 14 0 15 0;
+#X connect 19 0 21 0;
+#X connect 20 0 5 1;
+#X connect 22 0 8 0;
+#X connect 23 0 31 0;
+#X connect 23 1 32 0;
+#X connect 24 0 25 0;
+#X connect 25 0 29 0;
+#X connect 25 1 28 0;
+#X connect 26 0 27 0;
+#X connect 26 0 30 0;
+#X connect 26 0 33 0;
+#X connect 27 0 26 1;
+#X connect 28 0 26 1;
+#X connect 29 0 26 0;
+#X connect 30 0 29 1;
+#X connect 31 0 34 0;
+#X connect 32 0 34 0;
+#X connect 33 0 23 0;
+#X connect 33 1 34 1;
+#X restore 451 222 pd make-table;
+#X text 35 6 PITCH ENVELOPES;
+#X text 125 24 For pitch envelopes \, unlike amplitude envelopes \,
+discontinuities are allowed and sometimes you would rather the envelope
+generator actually jump to zero when it's triggered. The "adsr2" object
+does this for you if you send a negative trigger instead of a positive
+one:;
+#X obj 280 106 r trigger2;
+#X obj 280 178 tabread4~ mtof;
+#X obj 280 202 osc~;
+#X msg 46 288 \; pd dsp 1 \; trigger 1 \; trigger2 1;
+#X text 358 297 <-- attack;
+#X msg 249 293 \; pd dsp 1 \; trigger 1 \; trigger2 -1;
+#X msg 472 293 \; pd dsp 1 \; trigger 0 \; trigger2 0;
+#X obj 280 154 +~ 69;
+#X text 358 314 restarting;
+#X text 363 331 pitch env;
+#X text 37 377 We have added a new table \, mtof \, for converting
+audio signals from pitch to frequency. Its range is 1-127 \, so you
+want to add a base pitch in before you start reading from it.;
+#X text 37 443 This is an extreme use of pitch enveloping. In a real
+situation you might want an envelope controlling vibrato depth or the
+like instead of straight pitch.;
+#X obj 48 130 adsr2 100 50 200 90 1000;
+#X obj 280 130 adsr2 20 200 100 100 1000;
+#X text 413 497 updated for Pd version 0.35;
+#X connect 0 0 24 0;
+#X connect 1 0 8 0;
+#X connect 2 0 3 1;
+#X connect 3 0 2 0;
+#X connect 4 0 3 2;
+#X connect 8 0 3 0;
+#X connect 12 0 25 0;
+#X connect 13 0 14 0;
+#X connect 14 0 8 1;
+#X connect 19 0 13 0;
+#X connect 24 0 1 0;
+#X connect 25 0 19 0;