Advanced FM: multi-operator voices and instrument emulation
Learning objectives
- learner can structure multi-operator FM voices (operators, algorithms, feedback, key/rate scaling) into independently-enveloped spectral bands
- learner can dial FM parameters to emulate acoustic families (brass, woodwind, bell/percussive) using ratio and index-amplitude coupling
- learner can use FM extensions — feedback, dual carriers/formants, inverted and static index envelopes — for expressive, natural timbres
Capstone — one whole task that evidences the objectives
Program a six-operator FM patch that emulates a chosen acoustic instrument (brass, woodwind, or tuned bell), justifying the algorithm choice, C:M ratios per band, index envelopes, and key/rate scaling.
Prerequisite modules
This module moves you from two-operator FM sketches to the whole task of programming a believable acoustic emulation on a six-operator voice — the DX7-lineage skill behind every convincing FM electric piano, brass stab, and bell you hear in a live set. On stage or in a Surge XT/FM8 rig, you rarely have a sampler slot to spare; being able to conjure a brass section or a tuned gamelan bell from six sines, and then bend it expressively, is what makes FM worth its reputation.
The arc starts supported: first internalize that an operator is a bundle (oscillator + scaler + envelope, per “An FM operator bundles an oscillator, a key/velocity scaler, and an envelope”) and why six of them split a voice into three independently-enveloped spectral bands. A first exercise uses algorithm 32’s all-carrier additive mode with staggered harmonic attacks — a safe sandbox where every operator is audible. From there, exercises reintroduce modulation: Chowning’s two-breakpoint index envelope gives you the spectral trajectory of a single note; the brass, woodwind, and percussive parameter recipes then serve as JIT how-to pointers for each acoustic family. Key sync, rate scaling by keyboard position, and the held-steady modulation depth principle keep patches consistent and natural as you play across the range.
The required atoms gate the capstone directly — you cannot justify an algorithm, per-band C:M ratios, index envelopes, and scaling without them, and the perceptual-group-evolution principle is your license to stop chasing exact partial curves. Supporting atoms enrich the result: performance wheel coupling, formant-adjacent tricks from Surge XT routings, EBM bass and drum-texture variants, and post-FM EQ show where the same voice architecture goes next.
Runnable examples
Generated from the context/ instrument corpus by concept (redistributable idioms only). Do not edit — regenerate with gen-module-examples.mjs.
fm-timbre
note("c3").s("sine").fm(4).fmh(2).fmi(3)
strudel-0204 · CC0
osc (midicps 24 * (1 ~~ 4 $ osc 110)) >> audio
punctual-0006 · CC0-1.0
formant-vowel
note("<c3 e3 g3>").vowel("<a e i o>")
strudel-0036 · CC0
d1 $ note "c e g" # sound "supersquare" # vowel "a e i"
tidal-0035 · CC0
additive-synthesis
{ Klang.ar(`[[100, 200, 300, 400], [0.4, 0.3, 0.2, 0.1]]) * 0.1 }.play
supercollider-0022 · CC0
Atoms in this module
Required — these gate the capstone
Supporting — enrichment, not gating
Part of curricula
- Synthesist / Sound Designer — deep DSP to a performed live synth rig — Deep DSP — advanced operators, spectral, physical, formant, procedural required