🎷 Reed Instrument Resonance

A clarinet reed is a pressure-controlled valve that self-sustains oscillation by feeding energy back from the air column — a nonlinear feedback loop between reed stiffness and bore standing waves.

SoundInteractive
Reed-valve self-oscillation model · P pause · R reset · Raise blowing pressure past threshold to trigger oscillation

How it Works

A clarinet reed is not a passive vibrating string tuned to the note being played — it is a pressure-controlled valve. The player's steady mouth pressure pushes air across the reed; the reed flexes open and shut in response to the pressure difference between the mouth and the bore, and that flexing modulates the flow of air into the bore. The bore's own resonance reflects pressure back onto the reed with a time delay. Once blowing pressure is high enough, this closed loop — valve nonlinearity feeding a resonant, lagging load — becomes unstable and locks into a self-sustained periodic oscillation: a limit cycle, not a decaying pluck.

Because the clarinet's bore behaves as a cylinder closed at the reed and open at the far end, it only supports quarter-wavelength standing waves. Those resonances sit at odd multiples of the fundamental (f0, 3f0, 5f0 …), so the reed's oscillation and the radiated tone are dominated by odd harmonics — the physical reason a clarinet sounds different from a flute or oboe of similar pitch, and the reason overblowing jumps a twelfth rather than an octave.

Reed force balance: m·x″ + r·x′ + k·x = S·Δp, Δp = p_mouth − p_bore
Bernoulli flow through the valve: U = C_f · A(x) · sign(Δp) · √|Δp|
Closed–open cylindrical bore: f0 = c / (4L)  →  reinforced modes at f0, 3f0, 5f0, …

Frequently Asked Questions

Why does a clarinet need a minimum blowing pressure before it makes any sound at all?

Below the oscillation threshold the reed-bore feedback loop is a damped, stable system — any small perturbation dies out exponentially, so the reed displacement and bore pressure settle back to near zero and the instrument stays silent no matter how long you blow. Only once mouth pressure pushes the linearized loop gain past unity does the fixed point become unstable and the system grows into a saturated limit cycle — a textbook Hopf bifurcation.

Why do clarinets sound "hollow" and emphasize odd harmonics compared to a flute or oboe?

A clarinet's bore is, to a good approximation, a cylinder closed at the reed end and open at the far end. A closed-open pipe only supports quarter-wavelength standing waves, whose resonances fall at odd multiples of the fundamental: f0, 3f0, 5f0. Even harmonics land between these resonances and are strongly damped, so the tone is dominated by odd partials. A flute or oboe is closer to an open-open or conical bore, which reinforces every harmonic, giving a fuller spectrum.

How does reed stiffness affect both pitch stability and timbre?

Reed stiffness sets the spring term k in the reed's force balance m·x″+r·x′+k·x=S·Δp. A stiffer reed responds faster and more linearly, holding the oscillation closer to the bore's own resonance (better pitch stability) but producing a smaller, less harmonic-rich flow pulse. A softer reed swings more slowly and non-linearly, making pitch easier to bend but less stable, and generates a more clipped, harmonically dense pulse.

Why does overblowing a clarinet jump to the 3rd harmonic (a twelfth) instead of the octave, unlike a flute?

Because the closed-open bore only reinforces odd harmonics, the next resonance above the fundamental f0 is 3f0, not 2f0. Overblowing pushes the reed's oscillation up to that next available resonance — a musical twelfth. A flute's open-open bore reinforces every harmonic, so overblowing jumps cleanly to 2f0, an octave.

How is a single-reed feedback loop different from a lip-reed (brass) instrument?

Both are self-sustained nonlinear oscillators coupled to a resonant air column, but the valve is inverted: a clarinet reed is an "inward-striking" valve that closes as the pressure difference across it grows, while a brass player's lips act as an "outward-striking" valve blown open by bore pressure. That sign flip changes which regimes are stable, part of why brass players can lock onto many overtones by lip tension alone.

Why do single reeds (clarinet, saxophone) behave differently from double reeds (oboe, bassoon)?

A single reed vibrates against a rigid, shaped mouthpiece lay, so only one flexible surface participates in the valve action. A double reed has two cane blades vibrating against each other with no rigid backing, adding a degree of freedom and a narrower airway, which raises flow resistance and tends to produce a brighter, more nasal, harmonically denser tone, even though both remain pressure-controlled valves feeding a resonant bore.

What is a limit cycle, and why does the reed settle into one instead of growing forever?

A limit cycle is a stable, self-sustaining periodic orbit a nonlinear system settles into regardless of small differences in starting conditions. Growth here is capped because the reed opening term saturates: once displacement grows enough to close the reed, flow — and the energy fed into the bore — drops to zero, so amplitude cannot increase indefinitely. The system settles where energy input from blowing exactly balances losses each cycle.

Why can the pitch sound unstable or "squeak" near the oscillation threshold?

Near threshold the linearized growth rate is close to zero, so the system takes many periods to settle into a stable limit cycle, and small perturbations can push it between competing modes — often the fundamental and a higher bore resonance. This is the same instability real players experience as a squeak: the reed has not yet committed to a single stable orbit.

Does bore length alone set the pitch, or does the reed matter too?

Bore length sets the underlying resonance ladder, f0 = c/(4L) for the fundamental, but the actual oscillation frequency is pulled slightly away from that ideal value by the reed's own stiffness and damping, an effect called frequency pulling. That is why the stat panel shows both the geometrically computed f0 and the actual detected oscillation frequency, which usually differ slightly.

About this simulation

Written by MySimulator Team · Reviewed by MySimulator Editorial Review

Last updated: 11 July 2026

This simulator integrates the coupled, nonlinear reed–bore equations frame by frame: a damped mass-spring reed valve whose opening is throttled by the pressure difference across it, feeding a Bernoulli-type flow into three resonators tuned to the odd harmonics of a closed-open cylindrical bore. Starting from a tiny perturbation, watch the reed displacement and bore pressure either decay into silence or grow into a genuine self-sustained limit cycle, exactly as real reed instruments do.

🔬 What it shows

A coupled nonlinear ODE system — a damped mass-spring reed valve driven by the pressure difference across it, feeding a Bernoulli-type flow into three resonant bore modes tuned to the odd harmonics of a closed-open cylindrical pipe. From a tiny perturbation, x(t) and p_bore(t) either decay to silence or build into a genuine limit-cycle oscillation.

🎮 How to use

Raise Blowing pressure past the threshold to hear the reed catch and sustain oscillation; adjust Reed stiffness and Damping to feel how they shift that threshold and reshape the waveform; change Bore length to retune f0 = c/(4L). Press Play sound to hear the actual simulated waveform, P to pause, R to reset.

💡 Did you know?

A real clarinet reed moves only a fraction of a millimetre, yet that tiny motion gates the entire acoustic power of the instrument — the reed doesn't supply the sound's energy, the player's breath does. The reed's only job is to open and close a valve at exactly the right moments to keep the bore's resonance alive, precisely the feedback loop this simulation reproduces.

Frequently asked questions

What does the p_mouth slider actually control in stepPhysics()?

p_mouth sets params.pMouth, the constant mouth-side pressure used every substep to compute dp = params.pMouth − pBoreOld inside stepPhysics(). Nothing else in the model depends directly on blowing pressure — the growth or decay of x and the bore modes is entirely a consequence of how that one number changes the sign and size of dp each step.

How does the Reed stiffness (k) slider change the reed's own oscillation frequency?

k scales params.k, which precomputeCoeffs() uses to set wr = 2π·REED_F0_BASE·params.k, the reed's own angular frequency, and then kr = wr²·M_R, the spring constant fed into the reed's force balance. Raising k literally makes the reed stiffer and faster-responding in the simulated ODE, not just louder.

Why does the spectrum display always show the biggest bars at odd ratios like 1, 3, 5?

The modes array only drives resonators at ratio: 1, 3, 5 (with decreasing gain 1.0, 0.5, 0.28) inside stepPhysics(), because those are the only quarter-wave resonances of a closed-open cylindrical bore at the current f0. The Goertzel-based readout in drawSpectrum() evaluates exactly those harmonic bins, so the even-numbered bars are structurally near-zero, not just visually de-emphasized.

What decides whether the state readout says "silent," "building up," or "sustained"?

classifyState() tracks a smoothed RMS of the bore-pressure history buffer (pHistBuf) frame to frame. If the smoothed RMS stays below a small floor it reports "silent"; if it is still changing by more than about 1% between frames it reports "building up"; once it stabilizes it reports "sustained" — directly mirroring the amplitude-growth phase of a real Hopf bifurcation.

What actually gets played when I press "Play sound"?

toggleAudio() does not synthesize a new tone — it copies the last second of real simulated bore pressure out of recBuf, resamples it from the internal SIM_RATE (20000 Hz) to the AudioContext's own sample rate with linear interpolation, writes it into a Web Audio AudioBuffer, and loops it through an AudioBufferSourceNode, so what you hear is literally the coupled reed–bore ODE's own output, odd harmonics and all.