aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/E08.even.odd.pd
diff options
context:
space:
mode:
Diffstat (limited to 'pd/doc/3.audio.examples/E08.even.odd.pd')
-rw-r--r--pd/doc/3.audio.examples/E08.even.odd.pd116
1 files changed, 116 insertions, 0 deletions
diff --git a/pd/doc/3.audio.examples/E08.even.odd.pd b/pd/doc/3.audio.examples/E08.even.odd.pd
new file mode 100644
index 00000000..bfa950a9
--- /dev/null
+++ b/pd/doc/3.audio.examples/E08.even.odd.pd
@@ -0,0 +1,116 @@
+#N canvas 213 27 840 639 12;
+#X floatatom 45 74 0 0 0;
+#X obj 99 164 wrap~;
+#X graph graph1 0 -1.02 882 1.02 624 153 824 23;
+#X array phasor-output 882 float 0;
+#X pop;
+#X obj 45 102 phasor~ 0;
+#X text 81 73 frequency;
+#X obj 45 130 -~ 0.5;
+#X obj 99 192 -~ 0.5;
+#X obj 36 244 -~;
+#X obj 98 244 +~;
+#X graph graph1 0 -1.02 882 1.02 625 288 825 158;
+#X array wrap-output 882 float 0;
+#X pop;
+#X graph graph1 0 -1.02 882 1.02 626 423 826 293;
+#X array sum 882 float 0;
+#X pop;
+#X graph graph1 0 -1.02 882 1.02 626 563 826 433;
+#X array difference 882 float 0;
+#X pop;
+#X obj 172 166 tabwrite~ phasor-output;
+#X obj 172 218 tabwrite~ wrap-output;
+#X obj 172 282 tabwrite~ sum;
+#X obj 172 327 tabwrite~ difference;
+#X msg 172 120 bang;
+#X text 106 13 BUCHLA'S METHOD;
+#X floatatom 119 369 0 0 0;
+#N canvas 159 26 618 383 output 0;
+#X obj 393 156 t b;
+#X obj 393 106 f;
+#X obj 393 56 inlet;
+#X text 399 25 mute;
+#X obj 393 181 f;
+#X msg 480 174 0;
+#X msg 393 81 bang;
+#X obj 393 131 moses 1;
+#X obj 480 149 t b f;
+#X obj 452 113 moses 1;
+#X obj 138 144 dbtorms;
+#X obj 452 88 r master-lvl;
+#X obj 138 38 r master-lvl;
+#X obj 393 206 s master-lvl;
+#X obj 22 181 inlet~;
+#X obj 254 37 inlet;
+#X text 254 14 level;
+#X obj 254 96 s master-lvl;
+#X msg 151 61 set \$1;
+#X obj 151 85 outlet;
+#X msg 269 60 \; pd dsp 1;
+#X obj 138 190 line~;
+#X obj 22 212 *~;
+#X obj 138 167 pack 0 50;
+#X text 34 159 audio;
+#X text 148 106 show level;
+#X obj 73 182 inlet~;
+#X obj 73 213 *~;
+#X obj 22 241 dac~ 1;
+#X obj 73 241 dac~ 2;
+#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 23 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 21 0 27 1;
+#X connect 22 0 28 0;
+#X connect 23 0 21 0;
+#X connect 26 0 27 0;
+#X connect 27 0 29 0;
+#X restore 81 392 pd output;
+#X msg 156 369 MUTE;
+#X text 13 430 A patch to split a sawtooth into even and odd harmonics
+ala Buchla. The wrap~ object folds its input into the interval [0 \,
+1) so taht \, for instance \, subtracting 1/5 from a phasor and wrapping
+it gives another phasor a half cycle out of phase frmo the original.
+Adding and subtracting the two give the results shown and heard. (Listen
+to the two outputs separately \, then together.);
+#X text 631 567 ---- 0.02 seconds ----;
+#X text 577 613 updated for Pd version 0.34;
+#X text 193 369 <-- output;
+#X connect 0 0 3 0;
+#X connect 1 0 6 0;
+#X connect 3 0 5 0;
+#X connect 5 0 1 0;
+#X connect 5 0 12 0;
+#X connect 5 0 8 0;
+#X connect 5 0 7 0;
+#X connect 6 0 13 0;
+#X connect 6 0 8 1;
+#X connect 6 0 7 1;
+#X connect 7 0 15 0;
+#X connect 7 0 19 0;
+#X connect 8 0 14 0;
+#X connect 8 0 19 1;
+#X connect 16 0 13 0;
+#X connect 16 0 14 0;
+#X connect 16 0 15 0;
+#X connect 16 0 12 0;
+#X connect 18 0 19 2;
+#X connect 19 0 18 0;
+#X connect 20 0 19 3;