🎵 Room Acoustics
Interactive room acoustics simulator: visualise standing wave pressure patterns, calculate axial and tangential room modes, place a sound source and listener, and see Schroeder frequency and RT60 estimates.
About Room Acoustics & Standing Waves
This simulation shows a 2D plan view of a rectangular room and the standing-wave pressure pattern of a chosen resonant mode. Sound reflecting between parallel walls forms room modes with fixed nodes (silence) and antinodes (loud peaks). The colour heatmap renders the spatial pressure field p(x,y) = cos(nₓπx/W)·cos(n₳πy/D), with axial mode frequencies from f = nc/(2L) and tangential modes from f = (c/2)√((nₓ/W)² + (n₳/D)²).
You set the room width and depth, pick an axial or tangential mode (the frequency slider snaps to the nearest one), and adjust the absorption coefficient and speed of sound. Click to place a source and listener and read the relative SPL where they sit. Room modes matter hugely in recording studios and hi-fi rooms, where bass build-up between 50 and 300 Hz causes severe peaks and dips in the response.
Frequently Asked Questions
What is a room mode?
A room mode is a resonant frequency at which sound reflecting between a room's surfaces forms a standing wave. The wave has fixed nodes, where pressure cancels to near silence, and antinodes, where it peaks. Modes make some bass notes boom and others almost vanish depending on where you stand.
How does the simulation calculate mode frequencies?
Axial modes use f = nc/(2L), where n is the order, c is the speed of sound and L is the room dimension. Tangential modes combine two axes with f = (c/2)√((nx/W)² + (ny/D)²). The heatmap then draws the pressure field cos(nxπx/W)·cos(nyπy/D) across the room plan.
What do the controls actually do?
Width and Depth set the room size in metres, which shifts every mode frequency. The mode buttons select an axial X, axial Y, or tangential pattern, and the frequency slider jumps to whichever room mode is nearest the frequency you dial in (only real modes have a pressure pattern to draw). Absorption and speed of sound feed the RT60 and Schroeder estimates, and you can click to place the source and listener.
What is the Schroeder frequency?
The Schroeder frequency, estimated here as f = 2000√(RT60/V), marks the transition between distinct modal behaviour and a diffuse statistical sound field. Below it individual room modes dominate and equalisation cannot fix the problem; only physical acoustic treatment can. Above it the modes overlap so densely that the room behaves more like a reverberant space.
How is RT60 estimated?
The simulator uses the Sabine formula, RT60 = 0.161V/(αS), where V is the room volume, S is the total surface area and α is the average absorption coefficient. It assumes a 2.5 m ceiling height to compute volume and surface area from your chosen width and depth. Higher absorption shortens the reverberation time.
What is the difference between axial and tangential modes?
Axial modes bounce between just two parallel surfaces and are the strongest, so they cause the most audible colouration. Tangential modes involve four surfaces at once and are typically about 3 dB quieter, but they still tint the sound. The simulator lets you select axial X, axial Y, and several tangential modes to compare their patterns.
Why do the source and listener positions matter?
The pressure field varies across the room, so placing a speaker or your ears at an antinode receives maximum energy at that frequency, exaggerating the resonance. Sitting at a node almost cancels it. The listener SPL readout shows the relative level at the chosen mode, which is why moving a sofa can transform how a room sounds.
Is this physically accurate?
It captures the correct modal frequency relationships and standing-wave geometry for an idealised rectangular room. It is a 2D plan, so the vertical height mode series is not drawn, and it assumes rigid walls and a single mode at a time rather than the full superposition of all modes. RT60 and Schroeder values are standard engineering estimates, not measurements.
Why does my room cause bass build-up?
Low frequencies have wavelengths comparable to room dimensions, so they form strong standing waves where they pile up energy. Rooms with low absorption let these modes ring for a long time, producing booming peaks and hollow dips between roughly 50 and 300 Hz. This is why bass is the hardest part of the spectrum to control in small rooms.
How do bass traps and room proportions help?
Bass traps, such as thick mineral-wool panels and corner stacks, raise absorption at low frequencies, reducing the Q of modes and lowering the Schroeder frequency. Asymmetric room proportions, for example 4.7 : 3.6 : 2.9 m, spread modes more evenly so they do not coincide. Together they give a flatter, more neutral response that is far easier to mix in.
Visualise standing wave pressure patterns in a rectangular room. Select axial and tangential modes, click to place a sound source and a listener, see the SPL heatmap and room mode frequencies update live.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install