| Crates.io | sound |
| lib.rs | sound |
| version | 0.1.0 |
| created_at | 2025-12-11 16:42:45.929615+00 |
| updated_at | 2025-12-11 16:42:45.929615+00 |
| description | A lightweight, modular audio system for games — Tier 1 (simple, indie-friendly) |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1980078 |
| size | 171,642 |
Sound (formerly Ash Audio) is a lightweight yet extensible Rust audio stack inspired by Bevy's ECS patterns. Tier 1 ships with a simple CPAL backend and ready‑to‑use managers; Tier 2 layers on AAA‑grade capabilities such as DAG buses, per‑bus FX, voice virtualization, and procedural audio graphs.
AudioManager exposes one‑line playback APIs.AudioGraph, oscillators, envelopes, filters, mixers.Add the crate to your project:
[dependencies]
sound = { version = "0.1", features = ["tier2"] }
Play a sound with default settings:
use sound::prelude::*;
fn main() -> sound::types::Result<()> {
let mut manager = AudioManager::new()?;
manager.play_sound("assets/music.ogg", "music")?;
manager.set_mix_state("gameplay")?;
Ok(())
}
| Feature | Description |
|---|
effects | Enables the shared DSP infrastructure (effect trait + chains).
tier2 | Convenience bundle for all advanced capabilities (includes backends, FX, streaming, procedural audio, profiling scaffold).
procedural | Standalone procedural audio graphs if you only need synthesis.
backend-kira, backend-rodio | Optional third‑party backends for Tier 2.
See Cargo.toml for the full feature graph.
AudioManager, mixer v2, procedural graph).Contributions are welcome—please open an issue or PR with proposals.