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.
Study issue