THREE.JS / WEBAUDIO / TIMING

Make timing audible.

The pinned timing example schedules a positional ping exactly when five spheres change direction at the floor. Start is user-gesture gated; this contract uses a deterministic local WAV buffer in place of the absent official MP3.

Awaiting user gestureWEBGL2

Start the audio context to unlock the Timer, AudioListener, and PositionalAudio field.

audio
locked
balls
5
bounces
0
source
not loaded
timer
0.00 s
sample
—
diagnostics
0
Selected source contractTimer → bouncing state transition → PositionalAudio.play()

The local generated WAV preserves AudioLoader, AudioListener, five positional sources, user-gesture unlock, exact direction-change triggering, timer controls, sampling, and teardown. The official MP3, exact page/pixel presentation, audio-device matrix, and whole-example fidelity remain separate.

Derived from the pinned WebAudio timing example. Source review is pinned to the current study commit.