aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/H07.ssb.modulation.pd
diff options
context:
space:
mode:
Diffstat (limited to 'pd/doc/3.audio.examples/H07.ssb.modulation.pd')
-rw-r--r--pd/doc/3.audio.examples/H07.ssb.modulation.pd150
1 files changed, 150 insertions, 0 deletions
diff --git a/pd/doc/3.audio.examples/H07.ssb.modulation.pd b/pd/doc/3.audio.examples/H07.ssb.modulation.pd
new file mode 100644
index 00000000..968b3b45
--- /dev/null
+++ b/pd/doc/3.audio.examples/H07.ssb.modulation.pd
@@ -0,0 +1,150 @@
+#N canvas 7 6 923 594 12;
+#X obj 170 349 phasor~ 0;
+#X obj 170 393 cos~;
+#X obj 206 371 +~ -0.25;
+#X obj 206 394 cos~;
+#X obj 23 438 *~;
+#X obj 88 438 *~;
+#X obj 22 462 -~;
+#X floatatom 170 322 0 0 0;
+#X obj 23 238 tabread4~ array1;
+#X obj 23 67 r totsamps;
+#X obj 23 142 /;
+#X obj 23 190 *~ 0;
+#X obj 23 166 phasor~ 0;
+#X obj 23 214 +~ 1;
+#X msg 23 117 44100;
+#X obj 23 91 t b f;
+#X obj 62 190 r totsamps;
+#X msg 636 38 \; pd dsp 0;
+#X text 429 14 START;
+#X text 653 20 STOP;
+#X floatatom 51 499 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 22 527 pd output;
+#X msg 87 500 MUTE;
+#X text 121 499 <-- output amplitude;
+#N canvas 0 0 600 388 hilbert 0;
+#X obj 166 190 biquad~ 0.83774 -0.06338 0.06338 -0.83774 1;
+#X obj 166 164 biquad~ 1.94632 -0.94657 0.94657 -1.94632 1;
+#X obj 99 111 biquad~ -0.02569 0.260502 -0.260502 0.02569 1;
+#X obj 99 137 biquad~ 1.8685 -0.870686 0.870686 -1.8685 1;
+#X obj 98 76 inlet~;
+#X obj 166 213 outlet~;
+#X obj 99 213 outlet~;
+#X text 95 261 This is a pair of all-pass filters whose outputs somehow
+manage to be about 90 degrees out of phase from each other. I don't
+know what phase relation they have with the original signal. I adapted
+this from a 4X patch by Emmanuel Favreau \, circa 1982;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 6 0;
+#X connect 4 0 1 0;
+#X connect 4 0 2 0;
+#X restore 23 400 pd hilbert;
+#X graph graph1 0 -1 155947 1 441 284 641 134;
+#X array array1 155948 float 0;
+#X pop;
+#X text 36 257 sample loop for;
+#X text 36 271 test signal;
+#X text 35 314 pair of allpass;
+#X text 34 333 filters to make;
+#X text 34 353 90 degree phase;
+#X text 32 373 shifted versions;
+#X text 201 323 <-- shift frequency;
+#X text 122 438 <-- complex multiply;
+#X text 123 452 (calculate real part);
+#X text 161 412 cosine and sine waves;
+#X text 55 7 SINGLE SIDEBAND MODULATION;
+#X text 55 26 (AKA FREQUENCY SHIFTING);
+#X text 394 296 The signal sideband modulator gives you only one sideband
+for each frequency in teh input signal (whereas ring modulation gave
+both a positie and negative sideband.) You can set the shift frequency
+positive to shift all frequencies upward \, or negative to shift them
+downwards.;
+#X obj 484 417 r readfile;
+#X msg 334 34 \; readfile ../sound/bell.aiff \; pd dsp 1;
+#X obj 484 444 symbol;
+#X msg 483 470 read -resize \$1 array1;
+#X obj 483 496 soundfiler;
+#X obj 483 521 s totsamps;
+#X text 671 568 updated for Pd version 0.33;
+#X connect 0 0 2 0;
+#X connect 0 0 1 0;
+#X connect 1 0 4 1;
+#X connect 2 0 3 0;
+#X connect 3 0 5 1;
+#X connect 4 0 6 0;
+#X connect 5 0 6 1;
+#X connect 6 0 21 0;
+#X connect 7 0 0 0;
+#X connect 8 0 24 0;
+#X connect 9 0 15 0;
+#X connect 10 0 12 0;
+#X connect 11 0 13 0;
+#X connect 12 0 11 0;
+#X connect 13 0 8 0;
+#X connect 14 0 10 0;
+#X connect 15 0 14 0;
+#X connect 15 1 10 1;
+#X connect 16 0 11 1;
+#X connect 20 0 21 1;
+#X connect 21 0 20 0;
+#X connect 22 0 21 2;
+#X connect 24 0 4 0;
+#X connect 24 1 5 0;
+#X connect 39 0 41 0;
+#X connect 41 0 42 0;
+#X connect 42 0 43 0;
+#X connect 43 0 44 0;