Spatial audio studio · runs in the browser

Put sound where you want it. Then move it.

Drop birdsong two metres to your left and four above. Send a whale call arcing across the field over ninety seconds. Lay a ten hertz binaural beat underneath. Everything renders locally through the Web Audio API, with no account, no upload and no tracking.

Sounds and tools
62
Frequency tools
16
Built-in journeys
9
Account needed
no

field view · top-down · distances in metres

A field, not a playlist

Every sound has a position in three dimensions. Distance sets level and filtering, height changes the ear filters, and the head-related transfer function does the rest.

A timeline, not a loop

Clips say when a sound plays. Keyframes carry position and level through time, so a journey has an arc instead of a constant bed.

A focus view, not a studio

When you only want frequencies, the whole studio collapses into one screen: a mode, a length, one button and the numbers that matter.

01 · The field

Spatial audio you can see

The field is a metre-accurate map of the space around your head. Drag a sound to move it on the ground plane, hold Alt to lift it, and switch to the tilted 3D view to see height directly.

02 · The timeline

Sessions with a shape

A journey is a set of tracks over a fixed length. Every sound gets a clip and, if you want, a path. Named sections mark the phases so a forty-five minute session reads at a glance.

03 · Focus view

One screen when that is all you need

Not every session needs a map. The focus view is a single player: pick a mode, pick a length, press the ring. The readout shows exactly what is playing, in hertz. Sessions have a settling phase, a main phase and a wind-down, and a calming session tapers its own frequencies on the way out instead of just going quiet.

Focus

10 Hz binaural · pink noise

Twenty-five minutes of speech-shaped masking with a beat underneath.

Deep work

brown noise · pad

Fifty minutes, no beat, nothing to follow.

Calm

6 breaths/min · 6 Hz

A breathing pacer at resonance rate with a theta beat.

Sleep

2.5 Hz · brown noise

Forty-five minutes that fade to silence over the last three.

Clarity

40 Hz isochronic

Twenty minutes of gamma-rate pulsing over a quiet drone.

Single tone

432 Hz, adjustable

One frequency you set yourself, with the solfeggio set one tap away.

04 · The library

Forty sounds, seven categories

Recorded ambience for place, synthesised material for texture, and procedural generators for anything that has to hold a frequency exactly.

CategoryWhat is in itHow it is made
NatureBirdsong, rain, thunder, waves, crickets, campfire, jungle at night, river, monkeys, elephant, leopard, deep ocean, whales, dolphinsRecorded samples, looped
PlacesCafé, train, city traffic, city park, subway stationRecorded samples, looped
Sound healingSinging bowls, three gongs, wind chimes, a seven-note chakra bowl setSamples, chakra notes pitch-shifted
InstrumentsPiano, synth pad, bass, strings, flute, bells, drone, arpeggioRendered offline from oscillators
FrequenciesBinaural, isochronic and monaural beats, pure and solfeggio tones, white, pink and brown noise, a breath pacer, a 7.83 Hz pulseProcedural, exact
GenerativeEvolving chord pad, deep drone, sparse shimmerProcedural, never repeats
Your filesAny MP3, WAV, OGG or M4A you drop inDecoded in the browser, never uploaded

Audition any card before you place it. Uploads stay on your machine: there is no server to send them to.

05 · Frequency tools

Labelled for what the research actually says

Plenty of apps sell frequencies with claims the literature does not support. This one ships the tools and tells you where the evidence stands, on the card and in the inspector.

ToolWhat it doesLabel
Pink and white noiseBroadband masking. Pink rolls off the top end, so it sits behind work instead of over it.Some evidence
Brown noiseDeeper still, and popular, but no trial covers this colour specifically. Treat it as masking and texture.Weak evidence
Breath pacerA swell you breathe with, default six breaths a minute.Some evidence
Binaural beatsA different frequency in each ear; the beat is the difference. Needs headphones and stays locked to your head.Weak evidence
Isochronic and monaural beatsA pulsed or summed tone that works on speakers too.Weak evidence
Solfeggio tones, 432 Hz, 7.83 HzPopular frequencies, offered because people ask for them.No evidence
40 Hz gammaClinical work on 40 Hz uses light and sound together, daily, with diagnosed patients. That does not transfer to listening here, and the app says so on the card.Weak evidence

Each label carries a one-line reason, not just a verdict. Pick a binaural beat and the inspector points out that it needs headphones, and offers to swap it for an isochronic pulse that works on speakers. Full references live in the repository under docs/research.

06 · Under the hood

Plain JavaScript, no framework

Audio

Web Audio API. HRTF panner per source, shoulder and pinna peaking filters, low-pass and high-pass inserts, tremolo, a shared convolution reverb bus and a master limiter.

Binaural

Beats bypass the panner and merge straight to left and right, because spatialising them would destroy the beat. The app says so in the inspector.

Rendering

Canvas 2D with a real camera: yaw, pitch, and a blend between orthographic and perspective. Picking and dragging run through the inverse projection, so they stay exact in every view.

State

A command stack for undo, scenes in local storage, and shareable links that carry the whole journey in the URL.

Build

Vite. Two pages: this one and the app. Deployed to Vercel's edge.

Tests

Vitest with jsdom across the audio engine, generators, camera, timeline, presets, scenes and the undo stack.

Open it and place a sound.

Headphones give you the full effect. Nothing installs, nothing signs up.

Open the app