For a moving source (e.g., car fly‑by) and a stationary listener, outdoor reverb consists of two key components.
The direct sound reaches the listener first; a short time later (typically 5–50 ms) a reflection from the ground arrives. The delay is computed from the geometry (assuming \(d \gg h_s, h_r\)):
$$ \tau \approx \frac{2\,h_s h_r}{c_0\,d}, $$where \(h_s\) and \(h_r\) are the source and receiver heights above the ground, and \(d\) is the horizontal distance. This formula is derived from the path‑length difference between the direct ray and the ground‑reflected ray, divided by the speed of sound \(c_0\). It is a standard first‑order approximation for flat ground. The reflected signal is attenuated by the ground reflection coefficient (≈0.6–0.9) and low‑pass filtered because soft ground absorbs high frequencies.
Scattering from distant buildings, trees, and terrain creates a reverberant tail. We implement a Feedback Delay Network (FDN) with 8 delay lines [1]. The feedback matrix is an orthogonal Hadamard matrix, ensuring energy preservation. At each time step:
The FDN state can be updated every 50–100 ms without audible artefacts.
The final output for each ear is:
$$ \text{out} = g_{\text{direct}}\,p_{\text{direct}} + g_{\text{echo}}\,p_{\text{echo}} + g_{\text{fdn}}\,p_{\text{fdn}}. $$Distance‑dependent gains follow realistic \(1/r\) spreading and atmospheric absorption (high‑frequency roll‑off above 2 kHz over long distances).