Ambient sound for focus.
Layer 50 ambient sounds across 10 categories. Independent volume per layer, device routing, real-time state sync. Powered by sonic-core and sonic-runtime.
Clone
git clone https://github.com/mcp-tool-shop-org/stillpoint
cd stillpoint && npm install
Server
SONIC_RUNTIME_PATH=./SonicRuntime.exe \
npx tsx packages/server/src/bin.ts
UI
npm run dev --workspace=@stillpoint/ui
# → http://localhost:5177
Features
Everything you need for ambient sound mixing.
50 Ambient Sounds
10 categories: rain, water, ocean, wind, fire, night, noise, drone, tone, mechanical. 60-second loop-friendly WAV files.
Layered Mixer
Add multiple sounds simultaneously. Each layer has independent volume control. Build complex ambient environments.
Per-Layer Volume
Range sliders with debounced real-time adjustment. Optimistic UI updates for instant feel.
Device Routing
Select your audio output device. Powered by sonic-core per-playback device routing through OpenAL Soft.
Real-Time SSE
Server-Sent Events push state changes instantly. The UI stays in sync without polling.
Tauri Desktop
Native window via Tauri v2. Minimal Rust shell — the real work happens in Node.js and sonic-runtime.
Quick Start
Prerequisites
# Node 20+
node --version
# sonic-runtime binary
# Build from:
# github.com/mcp-tool-shop-org/sonic-runtime
dotnet publish src/SonicRuntime \
-c Release -r win-x64 Dev Setup
# Clone and install
git clone https://github.com/mcp-tool-shop-org/stillpoint
cd stillpoint
npm install
# Terminal 1: server
SONIC_RUNTIME_PATH=/path/to/SonicRuntime.exe \
npx tsx packages/server/src/bin.ts
# Terminal 2: UI
npm run dev --workspace=@stillpoint/ui Architecture
# Three-process model:
#
# Browser/Tauri ──REST+SSE──▶ Node.js server
# │
# ndjson-stdio
# │
# sonic-runtime
# (OpenAL Soft)