From 65a1b98552d7c6a93aedfb7c9b5d83f9038227cb Mon Sep 17 00:00:00 2001 From: Miller Puckette Date: Sat, 31 Dec 2005 00:59:49 +0000 Subject: Added about 64 files that I hadn't realized weren't in the CVS repository. Threw in pd/portaudio/pa_win_wdmks for good measure, although I haven't tried compiling that in yet (no windoze machine handy today). svn path=/trunk/; revision=4316 --- pd/doc/3.audio.examples/D14.vibrato.pd | 104 +++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 pd/doc/3.audio.examples/D14.vibrato.pd (limited to 'pd/doc/3.audio.examples/D14.vibrato.pd') diff --git a/pd/doc/3.audio.examples/D14.vibrato.pd b/pd/doc/3.audio.examples/D14.vibrato.pd new file mode 100644 index 00000000..3f4d6ea2 --- /dev/null +++ b/pd/doc/3.audio.examples/D14.vibrato.pd @@ -0,0 +1,104 @@ +#N canvas 80 10 709 653 12; +#X obj 28 258 r trigger; +#X obj 28 454 *~; +#X obj 28 482 *~; +#X floatatom 63 304 3 0 100 0 - - -; +#X msg 460 493 \; trigger 0; +#X obj 28 281 unpack; +#X floatatom 28 304 1 0 100 0 - - -; +#X obj 27 533 +~ 0.3; +#X obj 27 559 cos~; +#X obj 27 507 osc~; +#X obj 63 323 mtof; +#X obj 63 345 sqrt; +#X obj 63 367 sqrt; +#X text 572 461 <-- octave up; +#X msg 460 416 \; trigger 1 60; +#X msg 460 453 \; trigger 1 72; +#X text 550 494 <-- release; +#X text 556 512 is optional; +#X obj 28 424 *~; +#X obj 237 404 +~ 1; +#N canvas 0 0 450 300 graph1 0; +#X array array62 131 float 1; +#A 0 0.970031 1 0.970031 0.881921 0.740952 0.555571 0.336891 0.0980184 +-0.146729 -0.382682 -0.595698 -0.773009 -0.88 -0.9 -0.92 -0.92 -0.85773 +-0.707109 -0.514106 -0.290288 -0.0490716 0.195086 0.427551 0.63439 +0.803205 0.86 0.88 0.88 0.88 0.84 0.82 0.471402 0.242986 6.63397e-06 +-0.242974 -0.471391 -0.671554 -0.831465 -0.941541 -0.995184 -0.989178 +-0.923883 -0.803213 -0.68 -0.42 -0.24 0.1 0.4 0.6 0.7071 0.857723 0.956937 +0.998795 0.980787 0.903994 0.773018 0.595708 0.382694 0.146742 -0.0980052 +-0.336878 -0.55556 -0.7 -0.8 -0.88 -0.88 -0.88 -0.84 -0.82 -0.555582 +-0.336903 -0.0980316 0.146716 0.38267 0.595687 0.773001 0.903983 0.980782 +0.998796 0.956945 0.857737 0.707119 0.514117 0.290301 0.0490849 -0.195073 +-0.427539 -0.63438 -0.803197 -0.923873 -0.989174 -0.995187 -0.94155 +-0.83148 -0.671573 -0.471414 -0.242999 -1.99019e-05 0.242961 0.471379 +0.671544 0.831458 0.88 0.9 0.9 0.88 0.803221 0.63441 0.08 -0.14 -0.28 +-0.48 -0.64 -0.72 -0.857717 -0.956933 -0.998794 -0.98079 -0.904 -0.773026 +-0.595719 -0.382706 -0.146755 0.097992 0.336866 0.555549 0.740934 0.881909 +0.970025 1 0.970038; +#X coords 0 1 130 -1 200 100 1; +#X restore 246 508 graph; +#X obj 237 356 tabosc4~ array62; +#X floatatom 237 312 3 0 0 0 - - -; +#X obj 237 333 / 6; +#X obj 237 380 *~; +#X floatatom 391 333 3 0 0 0 - - -; +#X text 236 438 since we'll multiply \,; +#X text 235 453 vibrato output should; +#X text 235 470 be centered at 1 \, not 0; +#X text 273 384 multiply by vib depth; +#X obj 391 361 / 6923; +#X text 62 425 apply vibrato; +#X text 66 453 fourth; +#X text 69 469 power; +#X text 97 537 waveform; +#X text 96 517 simple; +#X text 457 354 4/(exp(log(2)/1200)-1); +#X text 461 335 conversion factor is; +#X text 384 295 vibrato depth; +#X text 383 312 in cents; +#X text 228 274 vibrato speed; +#X text 227 291 in Hertz; +#X obj 28 392 adsr 0 100 200 100 300; +#X obj 26 587 output~; +#X text 88 9 USING ADSRS FOR PORTAMENTO AND ADDING VIBRATO TOO; +#X text 43 30 Portamento can be treated as a special case of an ADSR +envelope \, with 100 percent sustain. Vibrato is properly computed +in units of pitch \, but it's also possible to do the job without having +to convert from pitch to frequency units at the audio rate. To do this +we just raise the "pitch" to the fourth power \, so that it acts pseudo-exponentially. +Rather than add vibrato to the ADSR output \, we multiply a signal +which controls relative frequency. The relative frequency change is +one plus an oscillator.; +#X text 439 626 updated for Pd version 0.39; +#X text 45 185 The table below holds 6 cycles of vibrato with small +variations to get a not-exactly-repeating vibrato. We thus have to +divide vibrato frequency by six. You can just use a sine or triangle +wave if you prefer.; +#X text 573 426 <-- middle C; +#X connect 0 0 5 0; +#X connect 1 0 2 0; +#X connect 1 0 2 1; +#X connect 2 0 9 0; +#X connect 3 0 10 0; +#X connect 5 0 6 0; +#X connect 5 1 3 0; +#X connect 6 0 42 0; +#X connect 7 0 8 0; +#X connect 8 0 43 0; +#X connect 8 0 43 1; +#X connect 9 0 7 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 42 1; +#X connect 18 0 1 0; +#X connect 18 0 1 1; +#X connect 19 0 18 1; +#X connect 21 0 24 0; +#X connect 22 0 23 0; +#X connect 23 0 21 0; +#X connect 24 0 19 0; +#X connect 25 0 30 0; +#X connect 30 0 24 1; +#X connect 42 0 18 0; -- cgit v1.2.1