Sound — Modular Audio Toolkit for Games
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.
Highlights
- Simple default manager –
AudioManagerexposes one‑line playback APIs. - Pluggable backends – CPAL baseline with optional Kira/Rodio integrations (Tier 2).
- Advanced mixing – Bus DAGs, per‑bus FX chains, soft clipping, spatialization helpers.
- Voice virtualization – Smart eviction/reactivation for 512+ simultaneous voices.
- Procedural audio – Feature‑gated
AudioGraph, oscillators, envelopes, filters, mixers. - Tested + documented – Extensive unit/integration tests covering buses, codecs, mixing.
Getting Started
Add the crate to your project:
[]
= { = "0.1", = ["tier2"] }
Play a sound with default settings:
use *;
Feature Flags
| 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.
Status & Roadmap
- Tier 1 + Tier 2 Phase 1–2 are implemented (
AudioManager, mixer v2, procedural graph). - Upcoming phases: streaming backends, expanded FX suite, profiling, advanced spatial.
Contributions are welcome—please open an issue or PR with proposals.