diff options
Diffstat (limited to 'pd/doc/3.audio.examples/40.envelope.pitch.pd')
-rw-r--r-- | pd/doc/3.audio.examples/40.envelope.pitch.pd | 209 |
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; |