created_at2023-11-29 20:48:39.609304
updated_at2023-12-30 11:14:42.833298
descriptionAn audio playback library focusing on simplicity



# 🐱 kittyaudio ![]( ![Downloads on]( #### []( | []( | [examples]( | [changelogs]( kittyaudio is a Rust audio playback library focusing on simplicity, speed and low-latency audio playback. Installation with `cargo`: ``` cargo add kittyaudio ``` # Example ```rust use kittyaudio::{include_sound, Mixer}; fn main() { // include a sound into the executable. // this type can be cheaply cloned. let sound = include_sound!("jump.ogg").unwrap(); // create sound mixer let mut mixer = Mixer::new(); mixer.init(); // use init_ex to specify settings let playing_sound =; playing_sound.set_volume(0.5); // decrease volume mixer.wait(); // wait for all sounds to finish } ``` # Features * Low-latency audio playback * Cross-platform audio playback (including wasm) * Handle device changes or disconnects in real time * Low CPU usage * Minimal dependencies * Minimal memory allocations * No `panic!()` or `.unwrap()`, always propogate errors * No unsafe code * Simple API, while being customizable * Optionally use [Symphonia]( to support most audio formats * Feature to disable audio playback support, if you want to use kittyaudio purely as an audio library * Commands to change volume, playback rate and position in the sound with easings * Loops, and commands to change them with easings # Roadmap Those features are not implemented yet. * Effects (reverb, delay, eq, etc.) * C API * Audio streaming from disk
Commit count: 64

cargo fmt