aboutsummaryrefslogtreecommitdiff
path: root/instruments/foscil~.pd
blob: 26eb2e8647a10c19e3ad36ce28cc9ba6e1a67d03 (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
#N canvas 62 230 1119 650 10;
#X obj 269 352 *~;
#X obj 181 448 cos~;
#X obj 181 396 +~;
#X obj 181 354 phasor~ 0;
#X obj 269 320 osc~ 0;
#X text 601 59 PHASE MODULATION ("FM") USING TWO OSCILLATORS;
#X text 93 314 frequency;
#X text 93 296 modulation;
#X text 438 342 <-- signal with smoothed;
#X text 474 362 modulation index to avoid clicks;
#X text 269 372 amplitude-controlled modulation;
#X text 269 390 oscillator output;
#X text 83 338 carrier;
#X text 83 356 phase -->;
#X text 59 378 phase;
#X text 59 396 modulation-->;
#X text 269 432 output;
#X text 475 452 To do phase modulation \, we split a "carrier oscillator"
into its phase calculation (phasor~) and its waveform lookup (cos~).
These together would be equivalent to an osc~ object \, but the "+~"
between them adds anopther oscillator's output to the phase.;
#X text 475 530 You will get the best graphs by choosing reasonably
low carrier and modulation frequencies (50-100 \, say). The modulation
index is usually between 0 and 1 (which means the control will typically
range from 0-100).;
#X text 717 616 updated for Pd version 0.33;
#X obj 297 585 outlet~;
#X text 267 3 car;
#X text 332 3 mod;
#X text 388 7 index;
#X text 234 447 <-- waveform;
#X obj 182 492 *~;
#X obj 49 448 inlet~;
#X text 42 426 amp (0-1);
#X text 183 3 basefreq;
#X obj 388 26 inlet~;
#X obj 326 26 inlet;
#X obj 261 26 inlet;
#X obj 190 26 inlet;
#X obj 185 145 * 1;
#X obj 183 262 sig~ 0;
#X obj 268 218 * 1;
#X obj 307 71 t b f;
#X obj 238 62 t b f;
#X connect 0 0 2 1;
#X connect 1 0 25 0;
#X connect 2 0 1 0;
#X connect 3 0 2 0;
#X connect 4 0 0 0;
#X connect 25 0 20 0;
#X connect 26 0 25 1;
#X connect 29 0 0 1;
#X connect 30 0 36 0;
#X connect 31 0 37 0;
#X connect 32 0 33 0;
#X connect 32 0 35 0;
#X connect 33 0 34 0;
#X connect 34 0 3 0;
#X connect 35 0 4 0;
#X connect 36 0 35 0;
#X connect 36 1 35 1;
#X connect 37 0 33 0;
#X connect 37 1 33 1;