SpatialEditor is a browser-based spatial audio editor.
It started as the thing I originally wanted to make with lrAudioM1: not just a binaural audio demo, but an actual editor where I could take sounds, cut them into moments, move them around the listener and build a whole sequence.
I ended up splitting the projects. lrAudioM1 became the audio engine and HRTF
playground. SpatialEditor became the tool built around the workflow I actually
wanted.
It can be used with any audio, and regular music can be fun in it too, but the thing it was made for is ASMR: arranging small sounds in space, cutting the parts you like, shaping movement, and building a personal sequence that feels like it is happening around your head.
Live version: https://spatialeditor.tche.studio/
SpatialEditor is a timeline editor for spatial audio in the browser.
You import audio files, place them on tracks, cut and move clips, position each clip in a 3D grid, add keyframes or simple motion presets, and export the result as a stereo binaural WAV.
The main idea is not "professional spatial audio production". The main idea is:
what if making a custom ASMR sequence was as easy as arranging clips on a small timeline and telling each sound where to move?
I have already used it for that with sequences I personally like. I do not post those because the source material is not mine, but that is the real use case that made the tool worth building for me.
- Multi-track audio timeline
- Import local audio files
- Cut, move, resize and duplicate clips
- Multi-select clips and edit them together
- Track mute, solo, lock and volume controls
- Clip volume, fades and color/emission controls
- 3D positioning grid around the listener
- Keyframes for manual movement
- Basic motion presets for automatic movement
- Visual feedback showing which spatial cell is active
- Loop markers, project slots and autosave
- Offline WAV export
- Light/dark themes and animated backgrounds
- Portuguese and English interface
Everything runs in the browser. The files are local to your machine.
The way I think about it is:
- Import a folder of sounds.
- Drag the sounds you want into the timeline.
- Cut out the parts that actually work.
- Place each clip around the listener.
- Use keyframes or basic motion when a sound should move.
- Build a sequence like a small personal script.
- Export the binaural result or play it inside the editor using headphones.
The future version I keep imagining is that ASMR creators could record a sound pack, build a SpatialEditor project, and share both the project file and the folder of sounds. Then someone else could open it locally, adjust the movement, change the order, mute parts, loop sections, or make their own version.
That is a distant idea of course.
- It is not a DAW.
- It is not Reaper, Ableton, Pro Tools or Audacity.
- It does not do mixing, mastering or plugin chains.
- It does not try to replace a proper audio production setup.
- It is not a cloud editor or upload service.
If you need a serious production environment, use a serious production environment.
The binaural positioning is based on the engine from
lrAudioM1, vendored into this repo in
src/engine/.
That engine handles the HRTF side: taking a source position around the listener and turning it into binaural stereo through the Web Audio API.
SpatialEditor sits on top of it and adds the editor layer: timeline, clips, keyframes, motion presets, project files, visual grid and export workflow.
See ENGINE_SOURCE.md for the exact source commit used.
React, TypeScript, Vite, Zustand, Three.js, Web Audio API and Vitest.
The HRTF datasets are not mine:
The loading/interpolation/convolution code comes from lrAudioM1; the datasets
themselves belong to their respective sources. Check their terms before
redistributing.
