
FM Synthesis on the C4
The C4 has some modest FM capabilities. Both sine waves may have audio rate frequency
modulation turned on, thus serving as what is referred to as a "carrier". The modulation signal
(cleverly called the "modulator") may come either from the input signal, or the other sine, selected
by the modulation source switch below the FM depth control. An envelope is applied to the
modulator, Envelope 1 for Sine 1 (that's the sine that we are FM-ing, not the modulator) and
Envelope 2 for Sine 2. (Also note that even the input signal gets the envelope applied.) All the
usual other pitch controls (octave, semitones, and Detune/LFO Modulate) may still be utilized.
If the frequency of the modulating signal is below 20 Hz, FM will sound like vibrato. But audio
rate FM will distort the waveshape beyond all recognition, and introduce a variety of other
harmonics, whose relative amplitudes will change in a non-obvious way with depth. The harmonics
also change depending on the frequency ratio of the two signals. As might be expected, tuning
to exact octaves sounds the most consonant; fifths also work well, but things get increasingly
inharmonic for more disonant intervals. (It may be noted that to get these results the FM depth
needs to be capable of being large enough to force the oscillators to, essentially, turn around
and run backwards – the frequency has gone negative. Pretty easy in the digital world, damned
tough in analog.)
Classic FM synthesizers like the Yamaha DX-7 had six of what they termed "operators", which
contained a sine oscillator and two envelopes, one for FM depth and one for gain of the output
signal, which could serve as a modulator for another operator. The six operators could be
arranged in quite a number of series and parallel configurations.
We have a very limited set of configurations, although we have our input audio signal, which, of
course, the DX-7 didn't have.
Input —> Sine-1
Input —> Sine-2
Both of these may be used at once.
Input —> Sine-1
Sine-1 —> Sine-2

Although Sine-1 is used to modulate Sine-2, we can also listen to its output. (Note – don't use the
sines as modulators unless they are defined in one of the four Voice blocks, or the pitch will be
undefined.)
Sine-1 —> Sine-2
Sine-1 —> Sine-2
Sine-2 —> Sine-1
The depths have to be kept small for the cross-modulation case, or the result will turn into noise.
But if you want noise as a sound, you've got it.
So that's all we can do (other than trivially swapping Sine-1 and Sine-2 in a few places.) One
does get an FM sound; it doesn't sound like analog. The DX-7 could do modulation chains like:
Op-1 —> Op-2 —> Op-3 —> Op-4
Op-1 is putting out a sine wave, because it has nothing modulating it. Op-2 will have a more
interesting and time-varying output. So, when we do
Input —> Sine-1 —> Sine-2
the Input signal will sort of correspond to the Op-2 output, and thus achieve some approximation
of the four-operator chain in the DX-7.
FM has not been enabled on the other synth waveforms to save code space, and also because
bright waveforms tend to get just too bright when FM'd. In some cases, you may wish to turn
down the guitar's tone control if there is too much high frequency content. If too many high
frequencies are generated by the FM process, they will begin to alias, that is, to reappear at
random non-harmonic pitches. The DX-7 ran at a sampling rate of 60 kHz. We are running at
48 kHz, so aliasing will be a little worse.
The DX-7 was famous for being difficult to program. If you have a sound in mind, it is quite
obscure how to set up all the FM parameters to get it. We aren't going to be any easier. A
more enjoyable approach is to muck about with the controls until you get a sound you like, then
save it and write a song that needs it.