Epidaurus

why the seat rows sound the way they do
t = 0 ms –
–
voice listener crowd noise limestone audience

grid – · – cells · Δx – · resolved to – · step 0 · – Mcell/s

The seat rows as a filter

Runs

Each run fires one source and records every seat at once. Six runs cover the three variants for the voice and the crowd noise.

Scene

Listener

Levels are relative to free field at the same distance, in octave bands. Click the field to move the listener; Shift-click moves the crowd noise.

Along the cavea

Voice from the stage, level re free field per seat row in the chosen octave band.

Listen

Impulse response

Energy–time curve at the listener, voice from the stage, after the 2D → 3D correction; 2 ms windows.

Seat-row cell one row, periodic

A flight of rows plane wave at grazing incidence

Method

Linear acoustics on a staggered pressure–velocity grid (the acoustic Yee scheme), second order in space and time, in WebGPU compute shaders at fp32. The cross-section runs from the stage through the orchestra to the top row: a 2D simulation, so every source is a line source. Limestone is a locally reacting impedance and the audience a porous layer, both fitted to the absorption Rindel (2025) used for Epidaurus. Split-field PML absorbs at the edges.

Spectra are shown relative to the free field at the same distance, which removes the 2D spreading; listening responses are corrected from line to point source with a half-derivative and 1/√r weighting. The validation page compares the solver with closed-form answers.

Sources