2023-04-05

part of sound/synthesis

- modulating the frequency of one signal by another
- vibrato is slow frequency modulation below 20 hz
- easy way to create 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

- 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)])]}.

carrier-frequency - partial-index * modulator-frequency carrier-frequency + partial-index * modulator-frequency

bessel(partial-index, modulator-amplitude / modulator-frequency)

the first parameter is the order of the bessel function and the second argument is the modulation index

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))