Sferic v0.1 GitHub
Desktop · macOS · Windows · Linux

Spatialize sound through time.

A desktop tool to place a sound source anywhere around a listener and animate it in 3D over time. Visual keyframing, HRTF binaural panning, and a realtime audio engine — built on the Web Audio API.

Sferic perspective view: a wireframe HRTF sphere with the listener head at centre and a chain of orange keyframes traced around it, inspector panel, and waveform timeline
Features

A precision instrument for spatial audio, not a toy.

HRTF binaural panning

PannerNode in HRTF mode delivers immersive, head-related stereo from any position around the listener — fully realtime, sample-accurate.

Visual 3D keyframing

Drop keyframes anywhere on a unit sphere. The trajectory is a smooth interpolated path through them, scrubbable, editable, undoable.

Two views, one mix

Top (X/Z) and side (Z/Y) orthographic projections side-by-side, or a single perspective scene with orbit controls. Switch instantly.

Per-keyframe audio

Each keyframe carries its own gain, low-pass, high-pass, doppler, air-absorption and reverb-send. Curves and tension per node.

Realtime + offline render

Audition with the live engine, then bounce to WAV (16/24/32-bit) or MP3 from the very same project file.

Persisted projects

.sferic.json — text-readable, versioned, diff-friendly. Reopen, share, drop on the window. Your audio gets re-linked automatically.

Loop, snap, BPM

Loop a region while you sculpt. Snap angles (5°, 15°, 30°…). BPM detection on the audio so keyframes can feel the grid.

Built for the desktop

Tauri 2 + native menu bar + hardware-accelerated audio. ~10MB binary on macOS, Windows, Linux. Boots in under a second.

Showcase

Designed like a tool you'd actually want to use.

Perspective 3D

Sculpt the trajectory in space

A wireframe HRTF sphere centres the listener head. Keyframes drop on the sphere surface, the orange path threads them in time order, and orbit controls let you read the motion from any angle.

3D perspective view of the unit sphere with the listener head at the centre and a chain of numbered keyframes connected by an orange trajectory line
Top + side 2D

Precise editing on two axes

Drop into orthographic top (X/Z) and side (Z/Y) projections, both editable at once. Numbered keyframes stay in sync across views; snap angles, zoom, and per-view lock keep edits surgical.

Two side-by-side 2D orthographic views showing the same keyframe layout from above and from the side, with subtle dotted background grids and concentric reference circles
Under the hood

Native-feeling, web-built.

Sferic is a Tauri 2 app: a Rust shell wrapping a Vite + React + TypeScript frontend. The audio graph runs in the browser's audio thread; the UI is insulated by a Zustand store with undo, gesture coalescing, and live AudioEngine sync. Strict TS, zero warnings, no telemetry.

<1s
Cold boot to ready
<10MB
Installed binary
60 fps
RAF-driven scene + waveform
0
Telemetry, ads, accounts
Stack
  • Tauri 2 Native desktop shell, ~10MB binaries, OS menu integration
  • React 19 UI components, hooks, strict TypeScript
  • Three.js + R3F WebGL 3D scene with orbit controls and GLTF head model
  • Web Audio API PannerNode HRTF, AudioWorklet-ready, BiquadFilters per voice
  • Tailwind v4 Utility-first styling tied to a small token palette
  • Zustand Single immutable store + 50-deep undo/redo with gesture coalescing
  • Vite Sub-second HMR; tsc strict in CI
  • Rust (Tauri) Filesystem & dialog plugins, native menu, code-signed bundles
Download

Free. Open source. No account.

Builds are produced by GitHub Actions on every tagged release. v0.1 is the first usable cut — expect rough edges.

Or build from source · git clone https://github.com/dim971/sferic && cd app && pnpm install && pnpm tauri build