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. Exact given the sources' decoded PCM; this corpus
ships PCM sources. 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, not a mix
A wai.audio.scene ships the sound objects and where they are. The sink is a
computer: it renders the mix it can actually play. The stereo floor, played here, is
bit-exact; a sink may also render other layouts, such as binaural, which the extension
treats as perceptual rather than byte-exact.
Mixdown-equivalence
The mix is bit-exact: the wai.det.fixed64 floor, a sqrt-only constant-power pan,
integer quantization, no floats. Given the same decoded sources, 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.
wai.audio.* objects. Exact given the sources' decoded PCM; this
corpus ships PCM sources, so the demo isolates the mixdown. The spatial-audio extension, its
reference engine and its conformance corpus are in the open-standards repo under Apache-2.0. The scenes this tab renders are the corpus files.
Read the spatial audio extension text on this site.