Oscillators
MI-Elements
A browser port of Mutable Instruments Elements — a complete modal synthesis voice that bows, blows, and strikes a tunable resonator.
Try one in your browser →
What is a MI-Elements?
A modal synthesizer is a complete physical modeling voice — an exciter and a resonator packaged together as one instrument. The exciter generates the energy that *starts* a sound (a bow drawing across a string, breath flowing past a reed, a mallet striking a bar). The resonator simulates the body that *receives* that energy and rings with it. Either half on its own is half a voice; together, they produce sounds that feel and respond like real acoustic instruments rather than synthesizers pretending to be.
The defining example is Mutable Instruments Elements, designed by Émilie Gillet and released in 2014. Elements packaged three exciter types — Bow (sustained friction), Blow (filtered noise through an aperture, like breath through a flute), and Strike (impulse, like a mallet) — feeding a tunable modal resonator with controls for Geometry (the inharmonicity of the modes), Brightness (spectral tilt), Damping (decay length), Position (where on the resonator the excitation lands), and Space (built-in reverb).
What makes the architecture so musically powerful is that the exciter and resonator interact dynamically — they are not independent. A bowed bar sounds different from a struck bar even when the bar's resonant modes are identical, because the bow drives all the modes continuously while the mallet drives them once. Hold the gate, raise the bow level, and you get a sustained singing tone. Drop the bow level, raise the strike level, and the same resonator becomes a struck mallet. The exciter is the *gesture*, the resonator is the *body*, and choosing both is how you choose what kind of instrument the patch becomes.
Modal synthesis sits opposite subtractive synthesis in spirit. Subtractive starts from a harmonically rich source and carves it with a filter. Modal starts from a *physical model* of an acoustic body and excites it with energy. The result is timbres that feel breathing, responsive, and acoustic — wooden, metallic, glass-like — in ways no filter can produce.
Our MI-Elements
Our MI-Elements is a port of Émilie Gillet's original Elements, running natively in your browser. The full hardware control surface is exposed: three exciter sections (Bow, Blow, Strike) each with their own Level/Meta/Timbre controls, a resonator section with Coarse/Fine/Geometry/Brightness/Damping/Position, a Space reverb, and the full set of CV inputs and attenuverters from the original.
Be honest about status: the implementation is still being polished. The parameter and CV routing is in place, but the full exciter+resonator chain is being brought online in stages. We are publishing this concept page now because the *idea* of a modal synthesizer and its parameters are useful to anyone learning physical modeling, even if our specific port is not yet feature-complete.
Elements is 34 HP — by far the largest oscillator-class module in the rack — and the size is the point. When the port is finished, every parameter that shapes the *physics* of the simulated instrument is on the panel at once: which exciter, how hard, where on the resonator, how stiff the body, how long it rings, how much space it sits in. There is no other path in Webrack to those sounds; until the engines come online, the panel and parameters can be used to design patches that will work the moment the sound catches up.
In a patch
Elements is designed to be a complete voice. Patch V/Oct from a sequencer, a gate from the same sequencer to the gate input, raise either Strike, Bow, or Blow Level (or any combination), and the module produces sound. No external VCA, filter, envelope, or reverb is needed — though you can certainly add them.
Combining exciter types is where the design becomes expressive. Strike for the *attack*, bow for the *sustain*: a hammered string that rings out into a bowed sustain. Strike + blow: a marimba bar with breath underneath. The three exciters all feed the same resonator, so they share its tuning, geometry, and damping — they sound like *the same physical object* responding to different gestures.
Patch CV into the dedicated modulation inputs (BwT, BlT, StT, Dmp, Pos, Spc) for animated, evolving voices. A slow LFO on Position simulates a bow drifting across a string. An envelope on Damping produces a *rapidly-decaying* attack into a *long-sustaining* tail. Modulating Geometry over a note morphs the material itself — the patch starts on a string and ends on a bell.
Inputs
- Blow In (audio) — External blow exciter input. Replaces the internal blow noise source with your own audio signal for the blow exciter section.
- Strike In (audio) — External strike exciter input. Replaces the internal strike impulse with your own audio signal for the strike exciter section.
- Gate (gate) — Gate input. Triggers and sustains the exciters. Rising edge starts the strike, sustained high activates bow and blow. Duration matters for sustained sounds.
- V/Oct (cv) — Pitch CV input (1V per octave). Controls the resonator pitch. Connect a sequencer for melodies.
- Strength (cv) — Excitation strength CV. Controls how hard the exciters drive the resonator.
- FM (cv) — Frequency modulation CV for the resonator pitch.
- BwT (cv) — Bow timbre CV modulation input. Amount scaled by the BwT attenuverter.
- BlT (cv) — Blow timbre CV modulation input. Amount scaled by the BlT attenuverter.
- StT (cv) — Strike timbre CV modulation input. Amount scaled by the StT attenuverter.
- Dmp (cv) — Damping CV modulation input. Amount scaled by the Dmp attenuverter.
- Pos (cv) — Position CV modulation input. Amount scaled by the Pos attenuverter.
- Spc (cv) — Space (reverb) CV modulation input. Amount scaled by the Spc attenuverter.
Outputs
- Main (audio) — Main resonator output. The full physical modeling voice output with all exciters mixed through the resonator.
- Aux (audio) — Auxiliary output. Provides the resonator output with different filtering, offering a complementary timbral character.
Controls
- Contour — Envelope contour (0 to 1). Shapes the internal envelope that controls exciter dynamics when a gate is received. Short = percussive, long = gradual attack.
- Bow Level — Bow exciter level (0 to 1). Controls the intensity of the continuous friction exciter. Like pressing a violin bow harder against the string.
- Bow Timbre — Bow timbre (0 to 1). Adjusts the brightness and character of the bow excitation.
- Blow Level — Blow exciter level (0 to 1). Controls the amount of breath/noise excitation. Like blowing harder into a flute.
- Blow Meta — Blow meta parameter (0 to 1). Controls the character of the blow exciter - from breathy noise to more tonal, focused blowing.
- Blow Timbre — Blow timbre (0 to 1). Adjusts the spectral quality of the blow noise.
- Strike Level — Strike exciter level (0 to 1, default 0.5). Controls the intensity of the impulse/mallet exciter. Higher = harder hit.
- Strike Meta — Strike meta parameter (0 to 1). Controls the character of the strike - from sharp click to soft mallet.
- Strike Timbre — Strike timbre (0 to 1). Adjusts the spectral content of the strike impulse.
- Coarse — Coarse tuning as a MIDI note (24-108). Sets the base pitch of the resonator. 48 = C3, 60 = C4 (middle C).
- Fine — Fine tuning (-1 to +1 semitones). For subtle pitch adjustments and detuning.
- FM — FM amount (-1 to +1). Controls the depth of frequency modulation from the FM CV input.
- Geometry — Resonator geometry (0 to 1). Controls the relationship between partials - from perfectly harmonic (string-like) to very inharmonic (bell-like, metallic).
- Brightness — Resonator brightness (0 to 1). Controls the high-frequency content of the resonance. Low = dark and warm. High = bright and shimmering.
- Damping — Resonator damping (0 to 1). How quickly the sound dies out. Low = long ringing sustain. High = short, muted decay.
- Position — Excitation position (0 to 1). Where on the resonating surface the excitation is applied. Changes which harmonics are emphasized.
- Space — Built-in reverb amount (0 to 1). Adds space and diffusion to the output. Turn up for ambient, atmospheric sounds.
- BwT Atn — Bow timbre CV attenuverter (-1 to +1). Scales the BwT CV input.
- BlT Atn — Blow timbre CV attenuverter (-1 to +1). Scales the BlT CV input.
- StT Atn — Strike timbre CV attenuverter (-1 to +1). Scales the StT CV input.
- Dmp Atn — Damping CV attenuverter (-1 to +1). Scales the Dmp CV input.
- Pos Atn — Position CV attenuverter (-1 to +1). Scales the Pos CV input.
- Spc Atn — Space CV attenuverter (-1 to +1). Scales the Spc CV input.
Native port of
A port of Emilie Gillet's Elements, originally released in 2014 under MIT. The C++ source compiles to WebAssembly inside Webrack. The DSP integration is still being wired up, so this page documents the concept and its parameters; the full exciter+resonator chain is being brought online.
- Mutable Instruments Elements
← Back to all modules