sound-kit

sound-mixer

One audio context with real buses: levels above 1, ducking that reaches every voice, and a limiter at the end. A typed registry of sounds with variants and voice caps, streamed music, slow motion, and sounds placed in a scene. No dependencies.

bun add @zkmake/sound-mixer
Sounds
Engine
Music
—
Ambience
Whole mix
idle

Placed sound

Seen from above: you're the dot in the middle, facing up. Drag the engine around.

The code


        

The panel on the right is sound-desk

A separate package, @zkmake/sound-desk: a dev panel for this mixer. It has no demo page of its own; it needs a live mix to show, so it's mounted here.
import { mountSoundDesk } from "@zkmake/sound-desk";

mountSoundDesk(mixer, { scapes: { meadow }, playlists: { music } });