Skip to main content
This page is the demo

Spatial audio.
The sink makes the mix.

A wai.audio.scene carries sound objects — each a content-addressed source plus a position trajectory — not a baked stereo mix. Your device renders them to a mix with the same deterministic Rust engine (compiled to WASM) that generated the conformance corpus, then checks the BLAKE3 of its PCM against the corpus's expected hash: mixdown-equivalence, the audio counterpart of replay-equivalence. Press play and watch the radar — you hear the object pan because your sink mixed it, not because a server sent a stereo file.

objects rate Hz dur scene hash mixdown hash

Objects, not a mix

Today's audio ships a fixed channel mix. A wai.audio.scene ships the sound objects + where they are; the sink renders the mix it can actually play — stereo here, 5.1 or binaural/HRTF on a capable sink. Lever 3 for hearing.

Mixdown-equivalence

The mix is bit-exact: the wai.det.fixed64 floor, a sqrt-only constant-power pan, integer quantization — no floats touch it. So the mixdown hash in the HUD equals the one in audio-conformance/expected_hashes.json, on any machine. Replay-equivalence with the tick replaced by the audio sample.

A world whose sim is a mixer

This reuses the interactive-worlds machinery wholesale — the fixed-point floor, content-addressed sources, the section container, the conformance corpus. A spatial-audio scene is a world; its physics is a mixdown. Same standard, a second sense.

Sources are decoded wai.audio.* objects (the corpus ships them as PCM, so the demo isolates the mixdown). Reference engine + conformance corpus in the open-standards repo; Apache-2.0.