aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/21.more.pulses.pd
diff options
context:
space:
mode:
Diffstat (limited to 'pd/doc/3.audio.examples/21.more.pulses.pd')
-rw-r--r--pd/doc/3.audio.examples/21.more.pulses.pd138
1 files changed, 138 insertions, 0 deletions
diff --git a/pd/doc/3.audio.examples/21.more.pulses.pd b/pd/doc/3.audio.examples/21.more.pulses.pd
new file mode 100644
index 00000000..1aa97555
--- /dev/null
+++ b/pd/doc/3.audio.examples/21.more.pulses.pd
@@ -0,0 +1,138 @@
+#N canvas 15 126 902 581 12;
+#X obj 220 171 line~;
+#X msg 350 15 \; pd dsp 1;
+#X msg 434 16 \; pd dsp 0;
+#X text 371 46 ON;
+#X text 451 47 OFF;
+#X floatatom 68 303 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 39 331 pd output;
+#X msg 106 303 MUTE;
+#X text 150 302 <-- output amplitude;
+#X obj 220 147 pack 0 50;
+#X floatatom 220 46 0 0 0;
+#X text 640 544 updated for Pd version 0.26;
+#X obj 70 108 *~;
+#X obj 220 72 / 10;
+#X obj 220 96 moses 0;
+#X msg 220 120 0;
+#X obj 39 275 hip~ 5;
+#X graph graph1 0 0 128 300 620 491 876 361;
+#X array spectrum 128 float 0;
+#X pop;
+#X text 215 28 bandwidth;
+#X msg 135 235 bang;
+#X text 177 234 <-- click to graph;
+#N canvas 204 17 358 238 fft 0;
+#X obj 46 48 inlet~;
+#X obj 159 181 tabwrite~ spectrum;
+#X obj 159 145 inlet;
+#X obj 46 78 rfft~;
+#X obj 46 111 *~;
+#X obj 77 111 *~;
+#X obj 46 141 sqrt~;
+#X obj 191 45 block~ 1024 1;
+#X connect 0 0 3 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 3 0 4 1;
+#X connect 3 1 5 0;
+#X connect 3 1 5 1;
+#X connect 4 0 6 0;
+#X connect 5 0 6 0;
+#X connect 6 0 1 0;
+#X restore 68 237 pd fft;
+#X text 618 497 0;
+#X text 851 492 5512;
+#X obj 78 141 *~;
+#X obj 18 141 sig~ 1;
+#X obj 39 194 /~;
+#X obj 54 168 +~;
+#X obj 70 79 osc~ 86.1328;
+#X text 103 107 call this X;
+#X text 111 141 X^2;
+#X text 84 171 1+X^2;
+#X text 71 196 1/(1+X^2);
+#X text 10 357 This is the form of pulse train used in the Phase Aligned
+Formant (PAF) algorithm. It has the neat property that its amplitude
+spectrum drops off as a perfectly exponential function of frequency.
+This algorithm is protected by French and US patents. contact Vincent
+Puig to learn what restrictions may apply.;
+#X text 11 457 On the other hand \, there are rumors that exp(-X*X)
+actually sounds better than 1/(1+X*X). To compute exp(-X*X) efficiently
+you will want to employ tabread4~ with a stored bell curve. I don't
+want to know you're doing this. However \, the first Pd user who e-mails
+me the correct formula for the output spectrum wins a free CO2 fire
+extinguisher.;
+#X text 28 4 ANOTHER PULSE WIDTH MOD ALGORITHM;
+#X connect 0 0 12 1;
+#X connect 5 0 6 1;
+#X connect 6 0 5 0;
+#X connect 7 0 6 2;
+#X connect 9 0 0 0;
+#X connect 10 0 13 0;
+#X connect 12 0 24 0;
+#X connect 12 0 24 1;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 14 1 9 0;
+#X connect 15 0 9 0;
+#X connect 16 0 6 0;
+#X connect 19 0 21 1;
+#X connect 24 0 27 1;
+#X connect 25 0 26 0;
+#X connect 25 0 27 0;
+#X connect 26 0 16 0;
+#X connect 26 0 21 0;
+#X connect 27 0 26 1;
+#X connect 28 0 12 0;