An interactive simulator exploring how gas bubbles oscillate in different liquid media — and why they make the sounds they do.
When a gas bubble in a liquid is disturbed — by a pressure wave, a vibration, or simply being formed — it doesn't just sit there. It oscillates, expanding and contracting at a characteristic frequency. This is the Minnaert frequency, named after the Dutch physicist Marcel Minnaert who first described it in 1933.
Understanding this frequency matters across a surprising range of applications: acoustic cavitation in medical ultrasound, the distinct sound signature of carbonated beverages, underwater acoustics, and even industrial mixing processes. The sound of a stream, it turns out, is almost entirely the sound of bubbles.
The Minnaert frequency is derived from the equation of motion of a bubble modeled as a damped harmonic oscillator. For a spherical bubble of radius R in a liquid of density ρ at ambient pressure P₀, the resonant frequency is:
f = (1/2πR) × √(3γP₀/ρ)
I implemented this model computationally and extended it to account for different fluid media — varying surface tension, dissolved gas concentration, and viscosity. The simulator uses presets for water, carbonated water, beer (CO₂ in solution), and nitrogenated stout (a CO₂/N₂ mix), which explains the dramatically different bubble behaviour and sound between, say, a Guinness and a lager.
The finished tool lets users set bubble radius and fluid properties (via presets or custom sliders), visualise the oscillation waveform in real time, and hear the computed resonant frequency as an audio tone. The difference between CO₂ bubbles in lager (~2mm radius, ~1.6 kHz) and nitrogen bubbles in stout (~0.05mm radius, ~65 kHz) is immediately audible.