FM Operator

Sourcesfm2Moderate CPU

2-operator FM voice — bells, e-pianos, metallic basses.

What it does

Two-operator FM synthesis voice.

Wraps daisysp::Fm2 — a modulator oscillator FMs a carrier. SetFrequency sets the carrier; SetRatio sets the modulator ratio; SetIndex sets depth. No native SetAmp, so the Amp port is a post-multiply VCA.

Parameters

  • Ratio

    ratio
    Default 2Range 0 … 12

    The modulator pitch as a multiple of the carrier, which is what decides whether the result sounds tuned. Whole numbers keep the sidebands on the harmonic series, so 1, 2 and 3 give recognisable pitched tones like e-pianos and basses. Fractional values put them between harmonics, which reads as bell, gong or generally metallic — musical, but no longer clearly at one pitch. This is per-sample, so it can be modulated.

  • Index

    index
    Default 1Range 0 … 10

    How deep the modulation goes, which in FM is the brightness control. At 0 the modulator does nothing and you are left with a plain sine carrier; raising it adds sidebands and the tone gets brighter and buzzier. Around 5 corresponds to roughly 2π radians of deviation. Wiring an envelope into this is the single most useful thing you can do with the tile, since it gives the bright attack and mellow tail that makes FM sound like a struck instrument.

Ratio is the modulator pitch as a multiple of the carrier (integer ratios = harmonic/tonal, fractional = clangorous/bell-like). Index is the FM depth (brightness) — 5 ≈ 2π rad. Wire an envelope into Index for an evolving timbre, and into Amp (a VCA) to play notes. Freq / Ratio / Index are per-sample (modulatable).

Ports

In

  • Freq frequency
  • Ratio ratio
  • Index index
  • Amp amplitude

Out

  • Audio Out output

Audio Control

Inputs

Freq
Carrier pitch in Hz.
Ratio
Modulator freq as a multiple of the carrier.
Index
FM depth / brightness (5 ≈ 2π rad).
Amp
Output level (VCA). Defaults to 1.0.

Outputs

Audio Out
FM voice output.