Index Modulation in FM-Synthesis

Another fun way to look at it – in the original example, the ratio between the modulator frequency and the carrier frequency is 0.01.

Since the modulation index decreases inversely relative to the modulator frequency, then increasing the carrier and modulator frequencies proportionally would lower the modulation index. So we can raise the modulator width proportionally and keep the same modulation index.

(
f = { |f_car = 100, dur = 1|
	{
		var modRatio = 0.01;
		var modWidth = f_car;  // index always = 1/modRatio
		var f_mod = f_car * modRatio;
		
		SinOsc.ar(
			f_car + (modWidth * SinOsc.ar(f_mod))
		)
	}.plot(duration: dur);
};
)

// Original example
f.(100, 1);

// Original example, 50 times faster
f.(5000, 1/50);

In both cases, the modulation yields the same wave shape, just on a different timescale. But the perceptual effect of 50 Hz modulation versus 1 Hz modulation will be totally different.

I don’t have the math to develop it, but I suspect, if you have a lot of closely-spaced sidebands (100 Hz, 100+/-1, 100+/-2 etc.) that they would reinforce and cancel out in a way that produces the effect of a slowly changing frequency. Compare to Auditory illusion with exponentially-spaced frequencies where a sum of closely-spaced, fixed-frequency sine waves sounds entirely convincingly like downward frequency sweeps. At higher modulator and carrier frequencies, the sidebands are not so tightly spaced and the spectral effect is very different.

hjh

1 Like