diff options
Diffstat (limited to 'pd/doc/3.audio.examples/51.ring.modulation.pd')
-rw-r--r-- | pd/doc/3.audio.examples/51.ring.modulation.pd | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/pd/doc/3.audio.examples/51.ring.modulation.pd b/pd/doc/3.audio.examples/51.ring.modulation.pd new file mode 100644 index 00000000..0380a07d --- /dev/null +++ b/pd/doc/3.audio.examples/51.ring.modulation.pd @@ -0,0 +1,153 @@ +#N canvas 1 23 809 567 12; +#X graph graph1 0 -1.02 882 1.02 542 471 742 341; +#X array pulse-output 882 float 0; +#X pop; +#X floatatom 101 331 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 63 359 pd output; +#X msg 139 332 MUTE; +#X text 179 331 <-- output amplitude; +#X floatatom 63 48 0 0 0; +#X obj 63 303 hip~ 5; +#X graph graph1 0 0 128 1000 490 259 746 129; +#X array spectrum 128 float 0; +#X pop; +#X obj 129 278 tabwrite~ pulse-output; +#X msg 129 243 bang; +#X text 170 244 <-- click to graph; +#N canvas 204 17 358 234 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~ 2048 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 74 281 pd fft; +#X text 488 265 0; +#X obj 79 194 osc~ 0; +#N canvas 0 0 600 384 pulse-train 0; +#X obj 185 162 line~; +#X obj 39 251 cos~; +#X obj 185 138 pack 0 50; +#X obj 40 178 -~ 0.5; +#X obj 40 204 *~; +#X obj 185 63 / 10; +#X obj 185 87 moses 0; +#X msg 185 111 0; +#X obj 39 227 clip~ -0.5 0.5; +#X obj 185 187 +~ 1; +#X obj 38 274 +~ 1; +#X obj 184 38 inlet; +#X obj 38 299 outlet~; +#X obj 40 154 phasor~ 344.532; +#X text 51 13 This is the pulse train generator from example 17; +#X connect 0 0 9 0; +#X connect 1 0 10 0; +#X connect 2 0 0 0; +#X connect 3 0 4 0; +#X connect 4 0 8 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 6 1 2 0; +#X connect 7 0 2 0; +#X connect 8 0 1 0; +#X connect 9 0 4 1; +#X connect 10 0 12 0; +#X connect 11 0 5 0; +#X connect 13 0 3 0; +#X restore 63 75 pd pulse-train; +#X floatatom 79 168 0 0 0; +#X text 124 167 <-- modulation frequency; +#X text 102 48 <-- bandwidth; +#X obj 63 218 *~; +#X text 736 262 2656 Hz.; +#X text 196 77 fundamental is 344.5 Hz; +#X text 157 210 an oscillator...; +#X text 66 22 RING MODULATION; +#X text 542 473 ---- 0.02 seconds ----; +#X text 528 533 updated for Pd version 0.34; +#X text 156 195 Just multiply by; +#X text 12 422 Ring modulation is just multiplication by an oscillator. +This patch shows the effect of ring modulation on a pulse train. When +bandwidth is high and modulation frequency is moderately low \, you +see the spectrum reflect off the "y axis".; +#X obj 79 140 * 344.5; +#X floatatom 79 114 0 0 0; +#X text 120 114 <-- modulation frequency as; +#X text 159 128 multiple of fundamental; +#X connect 1 0 2 1; +#X connect 2 0 1 0; +#X connect 3 0 2 2; +#X connect 5 0 14 0; +#X connect 6 0 2 0; +#X connect 9 0 8 0; +#X connect 9 0 11 1; +#X connect 13 0 18 1; +#X connect 14 0 18 0; +#X connect 15 0 13 0; +#X connect 18 0 11 0; +#X connect 18 0 6 0; +#X connect 18 0 8 0; +#X connect 27 0 15 0; +#X connect 28 0 27 0; |