aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/F06.ring.modulation.pd
blob: 0380a07da76bafb32a6cded2e359816e09a87698 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
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;