How does FM synthesis work? Operators, algorithms, and ratios explained

FM synthesis has a reputation for being hard. It isn’t, really — it just uses a different vocabulary from the subtractive synths most producers learn on first. Once you understand three things — operators, algorithms, and ratios — the rest falls into place.

This guide walks through each one in plain English, using the WXR-700 as a reference, but everything here applies to any FM synth: the original 1980’s hardware, Dexed, FM8, or anything else built on the same idea.

What FM synthesis actually is

Subtractive synthesis starts with a harmonically rich waveform (a saw or square) and removes frequencies with a filter. FM synthesis goes the other way: it starts with simple sine waves and uses one sine wave to modulate the frequency of another, which generates new harmonics that weren’t there before.

That single idea — one oscillator modulating another’s frequency — is the entire foundation. Everything else is how you organise it.

Operators: the building blocks

An operator is just an oscillator with its own envelope and level control. It has:

  • A waveform (usually sine, though WXR-700 also offers saw and square)
  • A frequency ratio relative to the note you play
  • An output level (how loud it is)
  • An amplitude envelope (attack, decay, sustain, release)

On its own, an operator just plays a tone. The interesting stuff happens when operators interact.

An operator can do one of two jobs at any moment:

  • Carrier — its output goes to your speakers. You hear it.
  • Modulator — its output is fed into another operator’s frequency input. You don’t hear it directly; you hear its effect on whatever it’s modulating.

The same operator can be a carrier in one patch and a modulator in another. What determines which is the algorithm.

Algorithms: how operators are wired together

An algorithm is the routing diagram that says which operators modulate which, and which ones reach the output. Classic 6-operator FM synths shipped with 32 algorithms. WXR-700 has 20 factory algorithms plus a custom algorithm editor — and because it’s an 8-operator design, each algorithm can build far more complex stacks than a 6-op synth can.

A few patterns you’ll see again and again:

  • Stacked pair (modulator → carrier) — one operator modulates another. This is the simplest FM sound and already gives you bell-like, electric-piano, or metallic tones depending on the ratio.
  • Series stack (1 → 2 → 3 → 4) — modulators feeding modulators feeding a carrier. Produces complex, evolving timbres because each stage adds its own harmonic content.
  • Parallel carriers — several carriers played at once, each with its own modulator. Used for layered sounds: a tine plus a body, a pad plus a transient.
  • Feedback loops — an operator modulating itself. Adds noise and grit; essential for many bass and lead patches.

The same set of operators with the same settings will sound completely different in two different algorithms. Changing the algorithm is one of the most dramatic things you can do to a patch.

Ratios: the single most important parameter

Each operator’s frequency is set as a ratio of the played note. Play middle C with an operator at ratio 1.00 and it produces middle C. Set it to 2.00 and it produces the octave above.

Ratios fall into two broad categories, and the distinction matters more than almost anything else in FM:

  • Whole-number ratios (1, 2, 3, 4, 5…) produce harmonic sounds — musical, pitched, recognisable as notes. These are what you use for electric pianos, basses, brass, leads.
  • Non-integer ratios (1.41, 3.07, 0.012…) produce inharmonic sounds — bells, metals, glass, gongs, alien textures. The further the ratio is from a whole number, the more clangorous the result.

This is why FM is so good at percussion, bells, and cinematic textures: small changes in the modulator’s ratio shift the timbre from “musical” to “metallic” in a way subtractive synthesis simply can’t replicate.

A few ratio recipes to try:

  • Electric piano: carrier 1.00, modulator 14.00, modulator level low — the high integer ratio adds the characteristic tine “ping” without making the note inharmonic.
  • Bell: carrier 1.00, modulator 3.50, modulator level medium — the non-integer ratio creates the bell’s inharmonic partials.
  • Bass: carrier 0.50, modulator 1.00 with feedback — the sub-octave carrier plus a fundamental modulator gives FM bass its growl.

Envelopes: how the sound evolves over time

Each operator has its own envelope. On a carrier, the envelope shapes loudness — exactly what you’d expect. On a modulator, the envelope shapes how much modulation is applied over time, which means it changes the timbre over time, not the volume.

This is the second superpower of FM, and the reason FM patches feel alive in a way that filter-swept subtractive patches often don’t:

  • A modulator with a fast decay produces a bright attack that quickly mellows — think electric piano tine, plucked string, marimba.
  • A modulator with a slow attack produces a sound that grows in brightness — think evolving pad, swelling brass.
  • A modulator with a long release adds harmonic content to the tail of the note, not just volume.

Because every operator has an independent envelope, an 8-operator patch has eight envelopes evolving in parallel. That’s where the “living, breathing” quality of good FM patches comes from.

Putting it together

The workflow for designing an FM patch, once you know these three things, is roughly:

  1. Pick an algorithm that matches the kind of sound you want — simple stack for a clean tone, parallel carriers for a layered sound, feedback for grit.
  2. Set the carrier ratios to define the pitch and harmonic character.
  3. Set the modulator ratios to define the timbre — integer for musical, non-integer for metallic.
  4. Set the modulator levels to control how strong the FM effect is. Low levels stay subtle; high levels push into screaming, distorted territory.
  5. Shape the envelopes — especially on the modulators — to give the sound movement.

That’s FM synthesis. Three concepts, an infinite design space.

If you want to try this hands-on with an 8-operator engine, a custom algorithm editor, and the ability to import classic hardware patches as SysEx, WXR-700 is built for exactly this kind of exploration.