# frequency modulation synthesis # links * [an introduction to fm](https://ccrma.stanford.edu/software/snd/snd/fm.html) * [frequency modulation synthesis](http://qcpages.qc.cuny.edu/~howe/music726.1/FMSynthesis.html) * [wikipedia: frequency modulation synthesis](https://en.wikipedia.org/wiki/Frequency_modulation_synthesis) * [wikipedia: frequency modulation](https://en.wikipedia.org/wiki/Frequency_modulation) * [formulas for frequency modulation](http://alumni.media.mit.edu/~gan/Gan/Education/NUS/Physics/MScThesis/Chapter2.html) # notes * modulating the frequency of one signal by another * vibrato is slow frequency modulation below 20 hz * relatively rich sounds through the ease of creating time-varying spectra * the modulator frequency defines the location of spectral components * the modulator amplitude defines the amplitudes, number of spectral components, and bandwidth * because only the frequency changes, the waveform looks level and not spikey. it looks distinctly different from a waveform created by summing the corresponding partials * the overall amplitude stays practically the same regardless of bandwidth * partials with negative frequencies are possible, which in this context means they will have an inverted phase. these partials may interfere with the positive frequency partials * there can be multiple carriers and modulators, and the general name for each is operator * modulation depth: frequency deviation from the carrier frequency * modulation index or index of modulation * carrier-deviation-frq / mod-frq * example: carrier 200, modulator 100, modulator peak amplitude 300 (-300 to 300), modulation index 6 (600 / 100) * if the modulation were not be around the center then the center frequency would vary with the modulation index # operator configurations * feedback: has a more even partial number and amplitude as index changes * multiple carrier * superimposes the spectra of each carrier * can create formant regions, additionally with differing decay times per formant region * multiple modulator * parallel * sidebands: c +- (i * m1) +- (k * m2) * like each produced sideband is modulated as a carrier by the other modulator * wave equation: a * sin(c(t) + i1 sin(m1 t) + i2 * sin(m2 t)) series In series MM FM the modulating sine wave M1 is itself modulated by M2 amplitude SMMFMt = A × sin {Ct + [I1 × sin(M1t + [I2 × sin(M2t)])]}. # partial frequencies ~~~ carrier-frequency - partial-index * modulator-frequency carrier-frequency + partial-index * modulator-frequency ~~~ # partial amplitudes bessel(partial-index, modulator-amplitude / modulator-frequency) the first parameter is the order of the [bessel function](/computer/guides/bessel.html) and the second argument is the modulation index [online calculator](/dynamic/fm-partials) # time domain waveform fm(t) = carrier-amplitude * sin(t * carrier-frequency + modulator-amplitude * sin(t * modulator-frequency)) alternative: fm(t) = sum(n, -infinity, infinity, bessel(n, modulator-amplitude / modulator-frequency) * sin(t * carrier-frequency + n * t * modulator-frequency))