aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/65.paf.control.pd
diff options
context:
space:
mode:
Diffstat (limited to 'pd/doc/3.audio.examples/65.paf.control.pd')
-rw-r--r--pd/doc/3.audio.examples/65.paf.control.pd219
1 files changed, 219 insertions, 0 deletions
diff --git a/pd/doc/3.audio.examples/65.paf.control.pd b/pd/doc/3.audio.examples/65.paf.control.pd
new file mode 100644
index 00000000..7d329357
--- /dev/null
+++ b/pd/doc/3.audio.examples/65.paf.control.pd
@@ -0,0 +1,219 @@
+#N canvas 89 36 743 752 12;
+#X floatatom 217 684 0 0 0;
+#N canvas 176 241 532 273 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 398 111 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 398 86 r master-lvl;
+#X obj 83 42 r master-lvl;
+#X obj 338 210 s master-lvl;
+#X obj 17 148 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 15 125 audio;
+#X text 93 110 show level;
+#X obj 17 177 hip~ 1;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 12 0;
+#X connect 5 0 12 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 5 0;
+#X connect 8 1 4 1;
+#X connect 9 0 23 0;
+#X connect 10 0 1 1;
+#X connect 10 0 8 0;
+#X connect 11 0 9 0;
+#X connect 11 0 17 0;
+#X connect 13 0 26 0;
+#X connect 14 0 16 0;
+#X connect 14 0 19 0;
+#X connect 17 0 18 0;
+#X connect 20 0 21 1;
+#X connect 21 0 22 0;
+#X connect 21 0 22 1;
+#X connect 23 0 20 0;
+#X connect 26 0 21 0;
+#X restore 179 713 pd output;
+#X msg 255 684 MUTE;
+#X obj 122 565 cos~;
+#X obj 122 542 *~;
+#X obj 165 565 cos~;
+#X obj 220 510 wrap~;
+#X obj 184 510 -~;
+#X obj 165 542 +~;
+#X obj 158 595 -~;
+#X obj 178 627 *~;
+#X obj 140 627 +~;
+#X text 478 719 updated for Pd version 0.34;
+#X text 299 702 <--output;
+#X obj 184 478 samphold~;
+#X floatatom 183 266 4 0 0;
+#X text 181 218 center;
+#X obj 184 345 line~;
+#X obj 184 322 pack 0 50;
+#X obj 67 413 phasor~;
+#X floatatom 69 305 4 0 0;
+#X text 52 256 fundamental;
+#X floatatom 408 361 4 0 0;
+#X obj 408 438 line~;
+#X obj 306 518 *~;
+#X obj 408 415 pack 0 50;
+#N canvas 94 264 600 388 make-table 0;
+#X msg 81 44 bang;
+#X obj 81 73 t b b;
+#X obj 159 142 f;
+#X obj 197 142 + 1;
+#X msg 175 112 0;
+#X obj 81 102 until;
+#X obj 161 177 t f f;
+#X obj 76 306 tabwrite bell-curve;
+#X obj 52 270 expr exp(-$f1*$f1);
+#X obj 63 168 sel 199;
+#X obj 51 241 expr ($f1-100)/25;
+#X graph graph4 0 0 199 1 342 225 542 85;
+#X array bell-curve 200 float 1;
+#A 0 1.12535e-07 1.54727e-07 2.12059e-07 2.89706e-07 3.94519e-07 5.35535e-07
+7.24633e-07 9.77371e-07 1.31404e-06 1.76105e-06 2.35258e-06 3.13275e-06
+4.15832e-06 5.50199e-06 7.25659e-06 9.54016e-06 1.25023e-05 1.63317e-05
+2.1266e-05 2.76026e-05 3.57128e-05 4.60584e-05 5.92113e-05 7.58768e-05
+9.69224e-05 0.00012341 0.000156634 0.000198167 0.000249912 0.000314163
+0.000393669 0.000491721 0.000612231 0.000759842 0.000940028 0.00115923
+0.00142498 0.00174605 0.00213263 0.00259648 0.00315111 0.00381201 0.00459678
+0.0055254 0.0066204 0.00790705 0.0094136 0.0111714 0.013215 0.0155826
+0.0183156 0.0214592 0.0250621 0.0291763 0.0338573 0.0391639 0.0451575
+0.0519019 0.0594631 0.0679081 0.0773047 0.0877205 0.0992216 0.111872
+0.125732 0.140858 0.1573 0.1751 0.194291 0.214896 0.236928 0.260383
+0.285247 0.311486 0.339053 0.367879 0.397882 0.428956 0.46098 0.493812
+0.527292 0.561244 0.595473 0.62977 0.663916 0.697676 0.730811 0.763074
+0.794216 0.823987 0.852144 0.878447 0.902668 0.924595 0.944027 0.960789
+0.974725 0.985703 0.99362 0.998401 1 0.998401 0.99362 0.985703 0.974725
+0.960789 0.944027 0.924595 0.902668 0.878447 0.852144 0.823987 0.794216
+0.763074 0.730811 0.697676 0.663916 0.62977 0.595473 0.561244 0.527292
+0.493812 0.46098 0.428956 0.397882 0.367879 0.339053 0.311486 0.285247
+0.260383 0.236928 0.214896 0.194291 0.1751 0.1573 0.140858 0.125732
+0.111872 0.0992216 0.0877205 0.0773047 0.0679081 0.0594631 0.0519019
+0.0451575 0.0391639 0.0338573 0.0291763 0.0250621 0.0214592 0.0183156
+0.0155826 0.013215 0.0111714 0.0094136 0.00790705 0.0066204 0.0055254
+0.00459678 0.00381201 0.00315111 0.00259648 0.00213263 0.00174605 0.00142498
+0.00115923 0.000940028 0.000759842 0.000612231 0.000491721 0.000393669
+0.000314163 0.000249912 0.000198167 0.000156634 0.00012341 9.69224e-05
+7.58768e-05 5.92113e-05 4.60584e-05 3.57128e-05 2.76026e-05 2.1266e-05
+1.63317e-05 1.25023e-05 9.54016e-06 7.25659e-06 5.50199e-06 4.15832e-06
+3.13275e-06 2.35258e-06 1.76105e-06 1.31404e-06 9.77371e-07 7.24633e-07
+5.35535e-07 3.94519e-07 2.89706e-07 2.12059e-07 1.54727e-07;
+#X pop;
+#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 9 0;
+#X connect 3 0 2 1;
+#X connect 4 0 2 1;
+#X connect 5 0 2 0;
+#X connect 6 0 10 0;
+#X connect 6 1 7 1;
+#X connect 8 0 7 0;
+#X connect 9 0 5 1;
+#X connect 10 0 8 0;
+#X restore 573 591 pd make-table;
+#X obj 67 390 * 0.5;
+#X obj 306 495 cos~;
+#X obj 306 472 -~ 0.25;
+#X obj 306 549 +~ 100;
+#X obj 306 572 tabread4~ bell-curve;
+#X obj 67 442 *~ 2;
+#X obj 179 656 *~;
+#X text 338 597 waveshaper;
+#X text 31 2 CHANGING PAF CONTROLS TO NATURAL UNITS;
+#X obj 67 362 mtof;
+#X obj 68 335 max 0;
+#X obj 206 370 expr 1/$f1;
+#X obj 183 296 mtof;
+#X text 181 238 freq.;
+#X obj 184 394 *~;
+#X text 406 340 bandwidth;
+#X obj 408 389 mtof;
+#X obj 408 474 *~;
+#X obj 408 498 *~ 25;
+#X text 25 33 The more "natural" units for describing a formant might
+be center frequency and bandwidth \, so that you can change the fundamental
+without having the formant shift up and down in parallel. Here all
+three frequencies are expressed in MIDI units. The bandwidth and center
+frequency have to be divided by the fundamental (the expr 1/$f1 takes
+its reciprocal and two *~ objects finish the division.);
+#X text 448 473 divide by fundamental;
+#X text 466 497 range for table;
+#X text 372 548 offset to middle of table;
+#X text 191 416 C.F. relative;
+#X text 192 432 to fundamental;
+#X text 48 275 (MIDI units);
+#X text 215 654 ring mod;
+#X text 25 150 And now you essentially have the PAF. Note \, however
+\, that there's a nice paf~ "external" object in the "extras" library
+that does this all more efficiently and takes care of a couple of subtle
+details we don't see here...;
+#X connect 0 0 1 1;
+#X connect 1 0 0 0;
+#X connect 2 0 1 2;
+#X connect 3 0 9 1;
+#X connect 3 0 11 0;
+#X connect 4 0 8 0;
+#X connect 4 0 3 0;
+#X connect 5 0 9 0;
+#X connect 6 0 7 1;
+#X connect 6 0 10 1;
+#X connect 7 0 4 1;
+#X connect 8 0 5 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 1;
+#X connect 11 0 33 0;
+#X connect 14 0 7 0;
+#X connect 14 0 6 0;
+#X connect 15 0 39 0;
+#X connect 17 0 41 0;
+#X connect 18 0 17 0;
+#X connect 19 0 29 0;
+#X connect 19 0 32 0;
+#X connect 20 0 37 0;
+#X connect 22 0 43 0;
+#X connect 23 0 44 0;
+#X connect 24 0 30 0;
+#X connect 25 0 23 0;
+#X connect 27 0 19 0;
+#X connect 28 0 24 0;
+#X connect 29 0 28 0;
+#X connect 30 0 31 0;
+#X connect 31 0 33 1;
+#X connect 32 0 14 1;
+#X connect 32 0 4 0;
+#X connect 32 0 8 0;
+#X connect 33 0 1 0;
+#X connect 36 0 27 0;
+#X connect 36 0 38 0;
+#X connect 37 0 36 0;
+#X connect 38 0 41 1;
+#X connect 38 0 44 1;
+#X connect 39 0 18 0;
+#X connect 41 0 14 0;
+#X connect 43 0 25 0;
+#X connect 44 0 45 0;
+#X connect 45 0 24 1;