aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/A08.phase.mod.pd
blob: 716ba6abb9e792d88770a66b693d264e275ec176 (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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
#N canvas 36 68 722 738 12;
#X obj 216 145 *~;
#X floatatom 216 88 0 0 0;
#X obj 297 125 line~;
#X floatatom 128 108 0 0 0;
#X obj 128 222 cos~;
#X obj 128 178 +~;
#X floatatom 166 299 0 0 100;
#N canvas 159 26 495 270 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 182 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 159 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 128 326 pd output;
#X msg 204 299 MUTE;
#X obj 216 113 osc~ 0;
#X obj 297 99 pack 0 50;
#X floatatom 297 46 0 0 0;
#X obj 297 73 / 100;
#X text 271 8 modulation index;
#X text 271 23 in hundredths;
#X text 125 65 carrier;
#X text 124 83 frequency;
#X text 201 64 frequency;
#X text 202 47 modulation;
#X text 33 119 carrier;
#X text 33 134 phase -->;
#X text 6 162 phase;
#X text 5 177 modulation-->;
#X text 12 204 output;
#X text 11 221 waveform -->;
#X text 527 6 PHASE MODULATION;
#X text 417 703 updated for Pd version 0.34;
#X text 13 377 Most implementations of "FM" actually use phase \, not
frequency \, modulation \, because it extends in a more natural way
to "multi-operator FM" with three or more oscillators.;
#X text 15 437 To do phase modulation \, we split the "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 the modulating oscillator's output to the phase.
;
#X text 18 587 The units of the "modulation" index change--it is now
dimensionless and relative to the modulation frequency \, and "good"
values tend to be between 0 and 1 In this patch it's in hundredths.
;
#X text 19 658 We also have to use a line~ to smooth changes in the
modulation index \, which wasn't necessary in the previous patch.;
#X obj 128 135 phasor~;
#X obj 117 557 cos~;
#X obj 117 529 phasor~;
#X text 60 539 this:;
#X text 219 532 is the same;
#X text 220 551 as this:;
#X obj 335 544 osc~;
#X graph graph2 0 -1 440 1 509 330 709 190;
#X array phase-out 441 float 1;
#A 0 0.43245 0.433463 0.434452 0.435418 0.43636 0.43728 0.438178 0.439056
0.439912 0.440749 0.441567 0.442366 0.443148 0.443912 0.444659 0.445391
0.446107 0.446809 0.447497 0.448172 0.448834 0.449484 0.450122 0.450751
0.451369 0.451978 0.452579 0.453172 0.453758 0.454338 0.454911 0.45548
0.456045 0.456606 0.457164 0.457719 0.458274 0.458827 0.45938 0.459934
0.460489 0.461046 0.461605 0.462168 0.462735 0.463306 0.463883 0.464466
0.465056 0.465654 0.466259 0.466873 0.467497 0.468131 0.468776 0.469433
0.470102 0.470783 0.471479 0.472188 0.472913 0.473653 0.474409 0.475182
0.475973 0.476782 0.477611 0.478459 0.479327 0.480216 0.481127 0.48206
0.483015 0.483994 0.484997 0.486024 0.487077 0.488156 0.48926 0.490392
0.491552 0.49274 0.493957 0.495203 0.496479 0.497785 0.499123 0.500493
0.501896 0.503332 0.504801 0.506304 0.507842 0.509415 0.511023 0.512667
0.514348 0.516066 0.517821 0.519615 0.521447 0.523318 0.525228 0.527179
0.52917 0.531202 0.533275 0.53539 0.537547 0.539747 0.541992 0.54428
0.546613 0.548989 0.551411 0.553877 0.556389 0.558947 0.561551 0.564202
0.5669 0.569645 0.572437 0.575278 0.578166 0.581104 0.58409 0.587125
0.59021 0.593345 0.596529 0.599764 0.603051 0.606389 0.609778 0.613219
0.61671 0.620254 0.62385 0.627497 0.631197 0.634949 0.638754 0.642612
0.646522 0.650486 0.654503 0.658573 0.662696 0.666873 0.671104 -0.324611
-0.320273 -0.315881 -0.311434 -0.306931 -0.302375 -0.297764 -0.2931
-0.288381 -0.283608 -0.278781 -0.2739 -0.268964 -0.263975 -0.258931
-0.253833 -0.248682 -0.243476 -0.238217 -0.232904 -0.227537 -0.222116
-0.216642 -0.211115 -0.205534 -0.1999 -0.194211 -0.18847 -0.182675
-0.176829 -0.170929 -0.164978 -0.158975 -0.152919 -0.146813 -0.140655
-0.134446 -0.128186 -0.121875 -0.115514 -0.109103 -0.102642 -0.0961313
-0.0895714 -0.0829625 -0.0763049 -0.0695988 -0.0628447 -0.056041 -0.0491896
-0.0422913 -0.0353461 -0.0283546 -0.0213171 -0.0142339 -0.00710538
6.80089e-05 0.00728586 0.0145478 0.0218535 0.0292025 0.0365944 0.0440286
0.0515049 0.0590228 0.0665818 0.0741815 0.0818213 0.0895009 0.0972198
0.104978 0.112776 0.120611 0.128484 0.136393 0.144339 0.15232 0.160337
0.168388 0.176473 0.184592 0.192744 0.200929 0.209146 0.217393 0.225672
0.233981 0.24232 0.250688 0.259084 0.267509 0.27596 0.284439 0.292944
0.301475 0.310031 0.318611 0.327215 0.335842 0.344491 0.353162 0.361854
0.370566 0.379298 0.38805 0.39682 0.405608 0.414413 0.423234 0.432072
0.440924 0.449792 0.458673 0.467567 0.476474 0.485394 0.494324 0.503265
0.512216 0.521176 0.530145 0.539121 0.548104 0.557094 0.566089 0.575089
0.584094 0.593102 0.602113 0.611126 0.620141 0.629157 0.638173 0.647189
0.656203 0.665215 0.674225 0.683232 0.692234 0.701231 0.710224 0.71921
0.728189 0.737161 0.746124 0.755079 0.764024 0.772959 0.781884 0.790796
0.799697 0.808584 0.817458 0.826318 0.835162 0.843992 0.852804 0.861601
0.870379 0.879139 0.887879 0.8966 0.905301 0.913981 0.92264 0.931276
0.93989 0.94848 0.957046 0.965588 0.974105 0.982595 0.99106 0.999497
1.00791 1.01629 1.02464 1.03296 1.04126 1.04952 1.05775 1.06595 1.07412
1.08225 1.09035 1.09841 1.10645 1.11444 1.1224 1.13033 1.13822 1.14607
1.15388 1.16166 1.1694 1.17709 1.18475 1.19237 1.19995 1.20749 1.21498
1.22244 1.22985 1.23722 1.24454 1.25182 1.25906 1.26625 1.2734 0.280502
0.287559 0.29457 0.301536 0.308454 0.315325 0.32215 0.328926 0.335655
0.342335 0.348967 0.35555 0.362084 0.368568 0.375003 0.381388 0.387722
0.394004 0.400235 0.406415 0.412544 0.418621 0.424647 0.430621 0.436542
0.442412 0.448228 0.453993 0.459704 0.465363 0.470969 0.476521 0.48202
0.487466 0.492858 0.498196 0.503481 0.508712 0.513889 0.519011 0.524077
0.52909 0.534049 0.538953 0.543804 0.5486 0.553342 0.55803 0.562664
0.567243 0.571769 0.57624 0.580658 0.585021 0.589331 0.593587 0.597789
0.601938 0.606033 0.610075 0.614064 0.617999 0.621879 0.625706 0.629481
0.633203 0.636873 0.640491 0.644057 0.647571 0.651033 0.654445 0.657805
0.661114 0.664372 0.66758 0.670739 0.673847 0.676905 0.679914 0.682875
;
#X array cos-out 441 float 1;
#A 0 -0.911256 -0.913872 -0.916365 -0.918789 -0.921097 -0.923342 -0.925486
-0.927564 -0.92956 -0.931483 -0.93335 -0.935129 -0.936867 -0.938528
-0.940137 -0.941707 -0.943197 -0.944657 -0.946072 -0.947426 -0.948755
-0.95004 -0.951276 -0.952491 -0.953672 -0.954806 -0.955924 -0.957024
-0.958071 -0.959106 -0.960132 -0.961119 -0.962086 -0.963047 -0.963993
-0.964903 -0.965811 -0.966718 -0.967595 -0.968461 -0.969329 -0.970192
-0.971025 -0.971863 -0.972707 -0.973527 -0.974343 -0.975168 -0.975986
-0.976786 -0.977597 -0.978414 -0.979202 -0.980003 -0.980816 -0.981596
-0.982391 -0.983194 -0.983968 -0.984757 -0.985543 -0.98631 -0.987093
-0.987851 -0.98861 -0.98937 -0.990102 -0.990852 -0.991557 -0.992275
-0.99296 -0.993642 -0.994295 -0.994935 -0.995544 -0.996137 -0.996687
-0.997227 -0.997705 -0.998173 -0.998575 -0.998944 -0.999273 -0.999527
-0.999743 -0.999894 -0.999966 -0.999981 -0.999927 -0.999765 -0.999526
-0.999202 -0.998785 -0.99824 -0.997586 -0.996816 -0.995923 -0.994897
-0.99373 -0.992413 -0.990934 -0.989283 -0.987458 -0.985449 -0.983247
-0.980843 -0.978222 -0.975372 -0.972288 -0.968961 -0.965377 -0.96153
-0.95741 -0.952995 -0.948265 -0.943231 -0.937881 -0.932182 -0.926128
-0.919728 -0.912938 -0.905762 -0.898197 -0.890198 -0.881799 -0.87293
-0.863637 -0.853855 -0.843612 -0.832873 -0.821629 -0.809886 -0.797593
-0.784764 -0.771394 -0.757466 -0.742953 -0.727864 -0.712189 -0.695918
-0.679041 -0.661549 -0.643437 -0.624697 -0.605324 -0.585314 -0.564664
-0.543374 -0.521441 -0.498869 -0.475658 -0.451811 -0.427334 -0.402219
-0.376482 -0.350131 -0.323174 -0.295626 -0.267508 -0.238824 -0.2096
-0.179853 -0.149603 -0.118875 -0.0876953 -0.0560885 -0.0240874 0.00827867
0.040974 0.0739643 0.107208 0.140666 0.174297 0.208056 0.241893 0.275757
0.309603 0.343385 0.377036 0.410498 0.443712 0.476616 0.509148 0.541242
0.572835 0.603858 0.634244 0.66391 0.692797 0.720837 0.747961 0.774084
0.799131 0.823051 0.845758 0.867169 0.887248 0.90588 0.923037 0.938628
0.952605 0.964885 0.975433 0.984153 0.991037 0.995988 0.998986 0.999997
0.998938 0.995807 0.990576 0.983211 0.973668 0.961961 0.948075 0.932007
0.913757 0.893328 0.87073 0.845995 0.81915 0.790227 0.759268 0.726324
0.691452 0.654714 0.616181 0.57593 0.534037 0.490599 0.445716 0.399491
0.352033 0.303459 0.253886 0.203441 0.152259 0.100478 0.0482368 -0.00432081
-0.057045 -0.109786 -0.162386 -0.214696 -0.266564 -0.317814 -0.368301
-0.417864 -0.466337 -0.513584 -0.559424 -0.603732 -0.646344 -0.687125
-0.725934 -0.762631 -0.797101 -0.829205 -0.858847 -0.8859 -0.91028
-0.931885 -0.950636 -0.966466 -0.97929 -0.989092 -0.995773 -0.999358
-0.999773 -0.997042 -0.991152 -0.982099 -0.969941 -0.954655 -0.936332
-0.915008 -0.890737 -0.863625 -0.833713 -0.801132 -0.765979 -0.728348
-0.688394 -0.646219 -0.601975 -0.555817 -0.507869 -0.45832 -0.407319
-0.355036 -0.301652 -0.247328 -0.192258 -0.136617 -0.0805873 -0.0243537
0.0319027 0.0879985 0.143752 0.198986 0.253526 0.307194 0.359834 0.411262
0.461345 0.509907 0.556823 0.601935 0.645131 0.686266 0.725245 0.761935
0.796272 0.828125 0.857461 0.884158 0.9082 0.929508 0.948044 0.9638
0.976698 0.986778 0.99402 0.998404 0.999981 0.998763 0.994751 0.988022
0.978621 0.966582 0.95197 0.93487 0.915357 0.893512 0.869405 0.843139
0.814817 0.784538 0.752408 0.718535 0.68303 0.646007 0.607581 0.567872
0.526996 0.485074 0.442227 0.398573 0.354231 0.30932 0.263957 0.218256
0.172326 0.126282 0.0802317 0.0342922 -0.0114471 -0.0568861 -0.101931
-0.146492 -0.190474 -0.233802 -0.276394 -0.318171 -0.359072 -0.399015
-0.437958 -0.475821 -0.512573 -0.548149 -0.582512 -0.615632 -0.647446
-0.677951 -0.707119 -0.734897 -0.761296 -0.786293 -0.80988 -0.83204
-0.852773 -0.872085 -0.88998 -0.906462 -0.921542 -0.935229 -0.94754
-0.95849 -0.968102 -0.976397 -0.9834 -0.989136 -0.993613 -0.996882
-0.998976 -0.99993 -0.999748 -0.998484 -0.996188 -0.99286 -0.988563
-0.983336 -0.977186 -0.970195 -0.962347 -0.953732 -0.944344 -0.934249
-0.923482 -0.912051 -0.900028 -0.887441 -0.874296 -0.860659 -0.846562
-0.832035 -0.817101 -0.801792 -0.786149 -0.770201 -0.753977 -0.737507
-0.720826 -0.703952 -0.686912 -0.669731 -0.652436 -0.635043 -0.617572
-0.600055 -0.582513 -0.564966 -0.547418 -0.529898 -0.512429 -0.495016
-0.477676 -0.460438 -0.443287 -0.426265 -0.409364;
#X pop;
#X obj 251 241 tabwrite~ phase-out;
#X obj 251 268 tabwrite~ cos-out;
#X msg 251 216 bang;
#X text 298 215 <-- graph them;
#X text 386 99 <-- change smoothly to avoid clicks;
#X connect 0 0 5 1;
#X connect 1 0 9 0;
#X connect 2 0 0 1;
#X connect 3 0 31 0;
#X connect 4 0 7 0;
#X connect 4 0 40 0;
#X connect 5 0 4 0;
#X connect 5 0 39 0;
#X connect 6 0 7 1;
#X connect 7 0 6 0;
#X connect 8 0 7 2;
#X connect 9 0 0 0;
#X connect 10 0 2 0;
#X connect 11 0 12 0;
#X connect 12 0 10 0;
#X connect 31 0 5 0;
#X connect 33 0 32 0;
#X connect 41 0 39 0;
#X connect 41 0 40 0;