A backend-agnostic Rust library for creating expressive game audio with tweens, effects, clocks, and spatial audio.
Kira is a backend-agnostic Rust library for creating expressive audio in games. It solves the problem of implementing dynamic, precisely timed audio with effects by providing tools like tweens, a mixer, clocks, and spatial audio support.
Game developers and audio engineers working on Rust-based projects who need fine-grained control over audio playback, timing, and effects.
Developers choose Kira for its combination of backend flexibility, precise timing capabilities, and expressive audio manipulation features, all within a Rust-native ecosystem.
Library for expressive game audio.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables smooth interpolation of audio properties like playback rate with customizable easing curves, demonstrated in the example where a sound's playback rate is gradually increased over three seconds.
Allows real-time application of audio effects such as filters through track-based mixing, shown in the code snippet where a low-pass filter is added to a sub-track to muffle sound.
Supports synchronization of audio events to musical beats, with examples showing sounds scheduled based on clock ticks for rhythm-based interactions, like timing sounds to a 120 BPM tempo.
Works with multiple audio backends for cross-platform flexibility, primarily tested on desktop systems like Windows, Mac, and Linux, though with noted WebAssembly limitations.
As admitted in the README, static sounds cannot be loaded from files and streaming sounds are unsupported in wasm due to thread usage, hindering web-based game development.
Key features like the Doppler effect are missing and listed on the roadmap, limiting out-of-the-box immersive 3D sound capabilities for advanced game audio.
The library is described as 'still in the early stages,' which may lead to breaking changes or unstable APIs, as noted in the contribution section inviting design critiques.