// the find
tesselode/kira
Library for expressive game audio.
Kira is a Rust audio library for games, sitting above cpal and handling the things cpal doesn't: tweened parameter changes, a mixer with effects chains, beat-synchronized playback, and spatial audio. It's for Rust game developers who want something between raw cpal and a full engine audio subsystem.
The tween system is the core differentiator — smoothly ramping volume, pitch, or panning over time without managing your own interpolation is something you'd otherwise write yourself. The clock system for beat-accurate scheduling is genuinely useful for rhythm games or any music-driven experience. Backend abstraction is real: the mock backend makes unit-testing audio logic actually possible without spawning audio hardware. The effect chain (filter, reverb, delay, compressor, distortion) covers the common cases and plugs into mixer sub-tracks cleanly.
WASM support is incomplete and the README says so openly — no streaming, no file loading, which rules out a lot of browser-based games without significant workarounds. The roadmap lists a C API as a future goal, meaning non-Rust engines can't use it today. Spatial audio is there but Doppler is listed as missing, which will matter for anyone doing fast-moving 3D audio. With 1049 stars and one maintainer, the bus factor is high — the changelog shows long gaps, and a library this deep in the audio stack is painful to replace mid-project.