10

I am currently working on FM synthesis and while I do understand the roles of carrier frequency, modulator frequency and modulator amplitude, I've been having problems with understanding how lots of software (I suppose also hardware) synthesizers handle these parameters.

For example, here is a basic FM setup in NI FM8:

FM8

In this case, operator E modulates operator F "fully", so on the scale of 0 to 100 provided by FM8, the FM modulation level/amount is set to 100. My question is, what does this level parameter actually mean in terms of modulator amplitude, behind the scenes? From my understanding, the modulator amplitude controls the variation in frequency of the carrier signal. However, when I set the FM level of operator E to 100 as shown here, I can hear and see that this doesn't mean that operator E then has an amplitude of 100 and consequently modulates the frequency of operator F by 100 Hz. From some approximations I made the modulator amplitude is actually in the range of about 6000 when I play a 440 Hz sine wave on my keyboard.

Similar situation with Ableton's Operator synth:

Operator

Here there's no percentage or modulation amount from 0 to 100 as in FM8's case, but rather you set the level of the modulator in dB, from 0 to -inf. From what I understand, if the dB level shown here would be the modulator amplitude, having the knob at 0.0 dB would mean the modulator amplitude would be at 1 and thus the change in frequency of the carrier would be ± 1, but that's not the case. Here too, for a 440 Hz tone the modulator amplitude seems to be around 6000 (same as having the level at 100 in FM8's case). I still don't know what the actual change in frequency of the carrier is given these parameters in Ableton's interface.

I know of the modulation index and it being defined as β = modulator amplitude / modulator frequency, so I thought maybe in the case of FM8, the background calculation is modulator amplitude = β * modulator frequency and the level from 0 - 100 actually controls the value of beta, but then for 440 Hz that would mean the modulator amplitude is 44000 at a level of 100, and that doesn't make sense either.

It seems I'm missing some knowledge that the creators of FM8 and Ableton's Operator share and use.

So, my question is how do synth makers control the modulator amplitude and how does the interface of the synth and the controls from 0 to 100 change the modulator amplitude in the background?

I would be very grateful for any help or insight.

8

Very good question. I found nothing about it in the manuals.

It seems I'm missing some knowledge that the creators of FM8 and Ableton's Operator share and use.

So, my question is how do synth makers control the modulator amplitude and how does the interface of the synth and the controls from 0 to 100 change the modulator amplitude in the background?

You are not missing knowledge, you got it mostly right. Your mistake was to assume that the shown values are the ones they are using internally.

First, let's define modulation index as:

mi = change in carrier frequency / modulator frequency

Then:

change in carrier frequency = mi * modulator frequency

What you are controlling (0 to 100 box in FM8 and -inf to 0dB knob in Operator) is the modulation index, the "fm amount". You are controlling how large the frequency change will be in the carrier by multiplying the modulation index by the frequency of the modulator.

I made some tests, and found that both synths are actually using a modulation index range of 0 to 10 internally. What you see in the controls is how they choose to represent that range.

In FM8 what you see in the GUI is actually the modulation index times 10. When you see level of 98, the actual modulation index is 9.8. They probably just wanted to avoid using a decimal point.

In Operator they went for showing the range in decibels relative to full scale (dbFS), in the amplitude of the modulator. When you see a level of 0dB the actual modulation index is 10, and for a level of -infdB the actual modulation index is 0.

To make this test put a carrier in X frequency (let's say 100Hz), the modulator in a very low frequency (let's say 4Hz), and the modulation index at max (10), using sine waves. You'll hear that the carrier will change it's frequency by +-10*40 = +-40, so it will oscillate between 140Hz and 60Hz.

You can use Live's Spectrum (or any other spectra visualizer) to see this easily, graphically. You can also play sines in the edge frequencies and compare them to the carrier using your ears.

3

FM8 mirrors the DX7 implementation which uses a 0-99 value to represent modulation index of 0 to 14. So, an output level of '85' corresponds to an index of 4.

Chowning

0

This might be a good start: http://www.soundonsound.com/sos/apr00/articles/synthsecrets.htm Here's a quickie about FM: http://music.columbia.edu/cmc/musicandcomputers/chapter4/04_07.php

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.