Spatial Audio Designer
A fixed left/right pan does not describe sound moving over time. Set timed azimuth, elevation and distance points; this tool interpolates them and calculates an approximate difference in level, delay up to 0.6 ms, simple coloration and distance attenuation between ears for every sample. Compare original and result on headphones and export an actual stereo WAV and JSON with the original file's SHA-256 hash and full path. This educational approximation does not use measured HRTFs, ear anatomy or head tracking. Front/back and height localization are not guaranteed and vary by listener and headphones.
Key features
- Decode local mono or stereo audio supported by the browser and hash the exact original bytes with SHA-256.
- Edit 2–8 timed points with azimuth −180° to 180°, elevation −60° to 60°, and distance 0.5–10 m; inspect a planar path map.
- Interpolate points and change approximate interaural time and level, ear-specific low-pass color and distance level on every sample.
- Bound the render level to 0.6, final WAV peak to 0.95, and original/result browser preview peak to 0.6.
- Save stereo PCM16 WAV and JSON with source hash, exact points, output length and approximation rules.
How to use
- Choose local audio or load the moving pulse-tone example.
- Edit azimuth, elevation and distance at time-ordered path points; add or remove points.
- Set a cautious level, render, and compare the original and result on headphones.
- Save stereo WAV and path JSON with the original hash; keep the original file separately.
Use cases
- Try a short game effect moving from the left to the right.
- Compare the level and tone of the same source near the front and far behind.
- Record a timed set of spatial points in JSON for use in another production setup.
Frequently asked questions
Is this measured binaural HRTF or a 3D audio standard?
No. It synthesizes direction-dependent level and short delays with simple per-ear filtering, without a person's measured HRTF. Front/back and height cues are approximate, vary by listener and device, and may not localize as expected. It also omits head tracking, Doppler shift and room reflections.
How does this differ from stereo panning or a multitrack mixer?
A fixed pan splits one position between left and right. This tool moves a source through timed azimuth, elevation and distance points, adding short interaural delays, filters and distance effects. It does not mix multiple files on independent tracks.
What do azimuth, elevation and distance mean?
Azimuth 0° is front, −90° is left, +90° is right, and ±180° is behind. Elevation 0° is level, positive is above and negative below. Distance 0.5–10 m is a relative design input for attenuation, not a measured physical distance or sound pressure.
What happens between path points?
Azimuth follows the shorter rotation arc, while elevation and distance interpolate linearly. After the last point, the position holds. The first point is at zero seconds; point times must increase and stay within the source duration.
How are stereo input and listening level handled?
Stereo input is averaged to mono before spatialization. Render level is 0.05–0.6, default 0.35. If the result exceeds peak 0.95 it is scaled down as a whole; browser previews of both original and result are separately limited to peak 0.6. Device volume and physical listening safety cannot be guaranteed, so start with headphones turned down.
What files are supported, and what is in JSON?
Files must be at most 8 MiB and decode to 0.2–10 seconds, mono/stereo, 8–48 kHz and up to 480,000 frames. Codec support varies by browser. JSON holds the source-byte SHA-256, decoded information, points, model and output details, not audio. Reproduction needs the same original and compatible decoder.
Privacy
Reading, decoding, SHA-256 hashing, spatializing, previewing and exporting happen locally in your browser without uploading the original file. JSON does not contain original audio bytes. Closing the page clears temporary audio and download URLs.
Comments & questions