I'm new here and while I have started to understand the very basics of Audulus, I'm really stuck when it comes to FM synthesis. I intuitively built a simple synth with vibrato but that's all. I'd like to do audio rate FM modulation. I have gone through several pathches and searched the forum, and while I've read several threads, it's still not clear.
I would desperately love to see a patch where there is a clear focus on only FM, featuring the bare minimals, one modulator and one carrier, using two oscillator modules, and expression modules. It's been confusing for me when I have seen patches where FM is mixed with other forms of synthesis and there is a ton of routing going on, switches etc and I don't know where to start deciphering what's actually relevant for the FM synthesis.
@Plurgid That's a great demo patch! I will be saving that middle C module as well, great stuff hidden in there.
Mathematically they are equivalent, but sonically they have different characteristics. Phase modulation of a sine wave with itself comes very close to morphing it into a sawtooth wave, creating a pseudo lopass filter sort of a sound that is distinctive to the phase distortion casio and yamaha dx series. Regular frequency modulation has all sorts of fun sidebands, huzzah for side bands!
You can contrast the difference between pm and fm when you look at two LFO signals being modulated by a square wave. One is being phase modulated, the other is being frequency modulated.
Thank you very much @RobertSyrett. Very nice illustration.
I made the simplest outline I could, even skipping an envelope. Is there an expression that would make FM work in this outline (I don't have a good grasp of the Phasor module, so I'm not sure whether I'm using it correctly)?
@Miur Yep! You got the basic patch down, now you can customize it into your own module. You can chain these together to create complex algorithms and make far out overtones!
@RobertSyrett Thanks a lot for your help! I wonder about the expression. I'm used to seeing FM defined like this:
x_c(t): carrier signal x_m(t): modulator signal
x_c(t)=A*sin(2*pi*f+x_m(t))t
Then of course you will get the sum of sidebands which can be calculated with the Bessel function and then I guess you should just be able to add those sidebands together, I think.
1) Where does the part of the expression 2^(16*x-8) above come from?
2) Also, if you increase the modulation index above 1 with your expression, you get more extreme results, until you end up with just noise.
1) That 2^(16*x-8) is just exponential scaling for the index of the frequency modulation. It's not strictly required, but it seems to have a nice sweet spot. You should check out the @stschoen Linear FM oscillator, that's where I got that.
2) Yeah, in digital systems you get aliasing above the nyquist frequency and it devolves into noise. Personally I don't mind so much, but there are limitations imposed by the standard sample rate when it applies to frequency modulation.