Skip to main content
Demo · In the standard

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 — rate — Hz dur — scene hash — mixdown hash —

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.

Sources are decoded 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.