phase mod x freq mod equivalence

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Hello, do any of you know how to convert a FM index to a phase mod index equivalent considering they both have the same carrier and modulator frequency? Is it even possible?

This is in respect for sound synthesis and I'm talking about one sinusoid modulating another sinusoidal oscillator.

I'm being able to get very similar sounds from A) and B) with these parameters:

A) FM: carrier freq 200Hz, modulator freq 480Hz, index 400*

* the index is in Hz, this means the carrier freq oscillates 400Hz up then back to original frequency and then down 400Hz and back 480 times a second

B) Phase Mod: carrier freq 200Hz, modulator freq 480Hz, index pi/4 **

** this index means the phase goes up 1/8 of a cycle and then back, down the same amount and back to the original point

FM and Phase Mod are clearly two independent processes, but I've seen people mention it can be equivalent, but I've never read anything that would tell me how to get the same results with both. So I don't know if it can really be done even if it sounds practically the same thing or if I just got lucky.

thanks

Post

The relationship between FM and PM is that PM is basically FM with the derivative of the modulator (or alternatively, FM would be PM with the integral of the modulator). In terms of frequency responses, the FM modulator essentially has an 1/f magnitude multiplier compared to PM.

To convert between comparable modulation amounts (assuming single-frequency sine modulator), simply multiply the "index" by frequency (to convert from FM to PM) and divide to convert the other way. You'll need some further constant to actually match some specific numbers but that's the basic idea anyway.

Post

FM with sine wave modulator = PM with sine wave modulator (and different phase)
FM with square wave modulator = PM with triangle wave modulator
FM with saw wave modulator = PM with parabolic wave (y = x - x^2) modulator
FM with pulse wave modulator = PM with a morph between triangle and saw wave as modulator

TBH, Frequency modulation is kinda broken (try using a 3 oscillator stack or feedback and see what happens) and all practical implementations (all yamaha synths, all well done VSTs) use phase modulation. Usually, for modulation index, they use an exponential scale: on the sound blaster 16 for instance, volume goes from 0 to 63, and every time you go down 8 values, volume is halved (so 55 is half volume, 47 is quarter volume, etc). At full volume (63), the amount of modulation is 4 times the whole waveform (so when the modulation output is 1, the waveform "reading pointer" is wrapped around the waveform forwards 4 times, and when the modulation output is -1, the "reading pointer" is wrapped around the waveform backwards 4 times).

Post

Hi, seems the formula is supposed to be very simple, but I didn't get it working yet. As I said, I was able to make it work with paramaters A) FM: carrier 200Hz / mod freq 480Hz index 400 B) PM: same carrier/mod & index of pi/4. But it doesn't add up to your formula. Moreover, I tried doing it and it didn't work. Could you give me an example with parameter numbers to see if I can make it happen? Maybe I'm not getting it right. Thanks

Post Reply

Return to “DSP and Plugin Development”