Skip to content

orottier/crowd-sonar

Repository files navigation

Crowd Sonar

Using Web Audio API to determine audience member positions for immersive performances

Work in progress - to be presented at Web Audio Conference 2025

Time Difference of Arrival

Time Difference of Arrival Curves A two-speaker setup (red dots) can divide the room in e.g. 9 different zones, depending on ping volume and room effects (echos, absorption). The zones follow the so-called constant TDOA curves.

Beep Recording Recording of a real world ping emitted by laptop speakers and recorded with a cellphone. The ping duration is 100 milliseconds (highlighted) with a 1ms tween at the start and end. The onset of the wave is relatively clear, whereas the ending is not well defined due to echos and speaker effects. The frequency slide is intentional (from 440Hz to 660Hz) to aid the time domain analysis.

Cross correlation Screenshot of the static analysis app. In the top chart, the recorded signal is shown in black, and the left and right speaker beep (pure signal, not recorded) in respectively red and blue. The bottom chart shows the dot product of the input signal and the beep signal, green for the left beep, yellow for the right. Using the sliders, we can hunt for the maximum cross correlation value in order to find the TDOA.

About

Using Web Audio API to determine audience member positions for immersive performances

Topics

Resources

Stars

Watchers

Forks

Contributors