sound

Crates.iosound
lib.rssound
version0.1.0
created_at2025-12-11 16:42:45.929615+00
updated_at2025-12-11 16:42:45.929615+00
descriptionA lightweight, modular audio system for games — Tier 1 (simple, indie-friendly)
homepage
repository
max_upload_size
id1980078
size171,642
saptak santra (saptak7777)

documentation

README

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 managerAudioManager exposes 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:

[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 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.

Commit count: 0

cargo fmt