Oscillators
MI-Rings
A browser port of Mutable Instruments Rings — a resonator with six physical-modeling modes that turns any input into ringing strings, modal bells, or sympathetic chords.
Try one in your browser →
What is a MI-Rings?
A modal resonator is a module that turns *any* incoming signal into a tuned, ringing tone. Feed it a sharp click, a noise burst, or even a steady audio signal, and it produces the response of a struck or plucked physical object — a bell, a string, a tube, a marimba bar — at a pitch you control with 1V/Oct. The technique is physical modeling synthesis: the module simulates the resonant modes of an idealized object, and the input signal *excites* those modes, the way a mallet strike excites a real bell.
The mathematical foundation is a bank of tuned resonant filters, each tracking one mode (one of the natural frequencies an object resonates at), summed together. A bell has many modes, mostly inharmonic. A plucked string has many modes, very nearly harmonic — f, 2f, 3f, 4f... — but with subtle stretch from string stiffness. A marimba bar has a few strong modes at 1:4:9.8 ratios. The Structure knob in a typical modal resonator continuously interpolates between all of these spectra, letting you morph between materials with a single control.
The module category is most associated with Mutable Instruments and the Rings module designed by Émilie Gillet, released in 2015. Rings combined modal synthesis with two other physical modeling families — Karplus-Strong-style sympathetic strings and FM-based two-operator voices — under the same controls. The Strum input gave it an internal exciter so you could make plucked sounds without any external audio source. Eurorack went from no good modal voice to one of the most-loved modules in the format almost overnight.
What makes modal resonators musically useful, beyond their distinctive bell-and-bowl sound, is their *responsiveness to whatever you feed them*. Send a drum loop through one and you get a tuned, harmonized version of that loop. Send a synth voice through one and you get the same voice with a halo of resonant ring. Send white noise through one and you get a clean tone. The module is both a sound source (with the internal exciter) and an effect (with external audio).
Our MI-Rings
Our MI-Rings is a port of Émilie Gillet's original Rings, running natively in your browser. The full set of parameters from the hardware — Frequency, Structure, Brightness, Damping, Position, Model, Polyphony — is exposed on the panel, along with audio In, Strum gate, V/Oct, FM, and Structure CV inputs, and Odd/Even audio outputs.
Be honest about status: the implementation is still being polished. The parameter routing is in place, but the full set of resonator models is being brought online in stages. We are publishing this concept page now because the *idea* of a modal resonator and its parameters are useful to anyone learning physical-modeling synthesis, even if our specific port is not yet feature-complete.
When the port is finished it will give Webrack a sound source that no other module in the rack can produce — the bell-like, plucked, bowed, *physical* timbres that come from simulating real resonating objects rather than oscillators. Until then the panel and parameters are accurate to the hardware and can be used to design patches that will work the moment the engines come online.
In a patch
As a self-contained voice: patch V/Oct from a sequencer, a gate from the same sequencer into the Strum input, and the internal exciter pings the resonator on every note. Set Damping to taste — low damping for long, ringing sustain; high damping for short, dry plucks. Brightness controls how much high-frequency content the exciter has, like the difference between a felt mallet and a wooden one.
As an effect: patch any audio signal — a kick drum, a hi-hat, a synth voice, even white noise — into the In input. The resonator filters that audio through its modes, producing a tuned harmonic version. A drum loop sent into Rings sounds like the same loop being played on a chromatic percussion instrument.
The Odd and Even outputs carry different harmonic content (odd-numbered partials on one, even-numbered on the other). Patch them to two different paths — left and right channels of a stereo mixer, or two different delays — for an instantly stereo, harmonically split sound. Many Rings patches do exactly this.
Inputs
- In (audio) — Audio excitation input. Feed any audio signal here to excite the resonator. Noise bursts, clicks, and impulses work great. The input audio is filtered through the resonant model.
- Strum (gate) — Strum/trigger input. Each rising edge excites the resonator using the built-in exciter (no external audio needed). Like plucking a virtual string.
- V/Oct (cv) — Pitch CV input (1V per octave). Sets the resonator pitch. Connect a sequencer here for melodies.
- FM (cv) — Frequency modulation input. Modulates the resonator pitch for vibrato or FM effects.
- Struct (cv) — CV modulation for the Structure parameter. Modulate to shift between different resonant characters or chord voicings.
Outputs
- Odd (audio) — Odd harmonics output. Contains the odd-numbered partials of the resonator. Has a hollow, clarinet-like quality in some modes.
- Even (audio) — Even harmonics output. Contains the even-numbered partials. Sounds brighter and more nasal. Mix both outputs for the full spectrum, or use them separately for stereo.
Controls
- Frequency — Base pitch as a MIDI note number (24-108). Sets the fundamental resonant frequency. 60 = middle C. This is the note the resonator "rings" at.
- Structure — Structure (0 to 1). Controls the relationship between partials. In Modal mode, sweeps from perfectly harmonic to very inharmonic. In Sympathetic String modes, selects chord voicings.
- Brightness — Brightness (0 to 1). Controls the amount of high-frequency energy in the resonator. Low = dark, muted. High = bright, shimmering.
- Damping — Damping (0 to 1). How quickly the resonance dies out. Low = long, ringing sustain like a bell. High = short, dry pluck like a muted string.
- Position — Excitation position (0 to 1). Where on the virtual string/surface the excitation happens. Changes which harmonics are emphasized, like plucking a guitar near the bridge vs the neck.
- Model — Resonator model (0-5). 0 = Modal, 1 = Sympathetic Strings, 2 = Modulated/Inharmonic String, 3 = FM Voice, 4 = Quantized Sympathetic (Chords), 5 = Reverb String Synthesis.
Native port of
A port of Emilie Gillet's Rings, originally released in 2017 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 set of resonator models is being brought online.
- Mutable Instruments Rings
← Back to all modules