#N canvas 584 43 553 590 12;
#X declare -path else;
#X obj 213 502 out~;
#X obj 213 467 sine~;
#X obj 213 399 +~;
#X obj 213 433 mtof~;
#X obj 163 244 nbx 5 14 24 90 0 0 empty \$0-carrier empty 0 -8 0 10
#dcdcdc #000000 #000000 0 256;
#X obj 163 271 f2s~ 10;
#X obj 231 330 sine~;
#X obj 231 363 *~;
#X obj 287 330 nbx 5 14 -1e+37 1e+37 0 0 empty \$0-index empty 0 -8
0 10 #dcdcdc #000000 #000000 0 256;
#X obj 287 355 f2s~ 10;
#X obj 231 302 mtof~;
#X text 158 221 Carrier;
#X text 286 308 Index;
#X obj 231 244 nbx 5 14 24 90 0 0 empty \$0-mod empty 0 -8 0 10 #dcdcdc
#000000 #000000 0 256;
#X obj 231 271 f2s~ 10;
#X text 234 221 Mod.;
#X text 63 58 It's also possible to work with exponential MIDI pitch
values rather than a linear frequency input. Note that the difference
here is that the frequency deviation (that is \, the modulation index)
is now in semitones \, not hertz!;
#X obj 365 423 initmess \; \$0-carrier 60 \; \$0-mod 34 \; \$0-index
28;
#X text 287 242 (deviation in MIDI values);
#X obj 356 18 declare -path else;
#X text 63 125 This does change the overall modulating signal. We basically
have a different and non symmetrical waveform as a result \, which
promotes a distinct behaviour and output. The main difference in the
patch is to just use [mtof~] to convert to hertz!;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 6 0 7 0;
#X connect 7 0 2 1;
#X connect 8 0 9 0;
#X connect 9 0 7 1;
#X connect 10 0 6 0;
#X connect 13 0 14 0;
#X connect 14 0 10 0;
