auxide-io

Crates.ioauxide-io
lib.rsauxide-io
version0.1.2
created_at2026-01-04 04:55:17.253793+00
updated_at2026-01-07 23:30:43.310964+00
descriptionHigh-performance, real-time safe audio I/O layer for Auxide DSP graphs. Bridges deterministic audio processing to hardware output with buffer adaptation, channel routing, and cross-platform streaming via CPAL.
homepage
repositoryhttps://github.com/Michael-A-Kuykendall/auxide-io
max_upload_size
id2021327
size2,237,593
Mike Kuykendall (Michael-A-Kuykendall)

documentation

README

Auxide IO Logo

Crates.io Documentation CI License: MIT

💝 Support Auxide's Growth

🚀 If Auxide helps you build amazing audio tools, consider sponsoring — 100% of support goes to keeping it free forever.

• $5/month: Coffee tier ☕ - Eternal gratitude + sponsor badge • $25/month: Bug prioritizer 🐛 - Priority support + name in SPONSORS.md • $100/month: Corporate backer 🏢 - Logo placement + monthly office hours • $500/month: Infrastructure partner 🚀 - Direct support + roadmap input

🎯 Become a Sponsor | See our amazing sponsors 🙏

Auxide IO

Real-time audio I/O layer for Auxide.
Stream Auxide's audio graphs to speakers with CPAL, featuring buffer size adaptation, channel routing, and RT-safe operation.

Features

  • CPAL Integration: Cross-platform audio I/O with CPAL
  • Buffer Adaptation: Automatic buffer size matching between graph and hardware
  • Channel Routing: Flexible channel mapping and routing
  • Error Recovery: Robust error handling and recovery mechanisms
  • RT-Safe: Zero allocations in audio processing paths

Usage

Add to your Cargo.toml:

[dependencies]
auxide = "0.3"
auxide-io = "0.2"

Example

use auxide_io::{AudioStream, StreamConfig};

// Configure audio stream
let config = StreamConfig {
    sample_rate: 44100.0,
    channels: 2,
    buffer_size: 512,
};

// Create and start audio stream
let mut stream = AudioStream::new(config)?;
stream.start()?;

// Stream will automatically process auxide graphs
// Audio flows from graph output to speakers

Architecture

Auxide IO provides the bridge between Auxide's audio graphs and system audio hardware:

  • Stream Controller: Manages audio stream lifecycle
  • Buffer Adapter: Handles buffer size mismatches
  • Channel Router: Maps graph outputs to hardware channels
  • Error Recovery: Handles device errors gracefully

Status

  • ✅ CPAL Integration: Cross-platform audio I/O working
  • ✅ Buffer Adaptation: Automatic size matching implemented
  • ✅ Channel Routing: Flexible routing system complete
  • ✅ Error Recovery: Robust error handling in place
  • 📋 Performance: Latency optimization ongoing

Community & Support

• 🐛 Bug Reports: GitHub Issues • 💬 Discussions: GitHub Discussions • 📖 Documentation: docs.rs • 💝 Sponsorship: GitHub Sponsors • 🤝 Contributing: CONTRIBUTING.md • 📜 Governance: GOVERNANCE.md • 🔒 Security: SECURITY.md

License & Philosophy

MIT License - forever and always.

Philosophy: Audio I/O should be invisible. Auxide is infrastructure.

Testing Philosophy: Reliability through comprehensive validation.

Forever maintainer: Michael A. Kuykendall
Promise: This will never become a paid product
Mission: Making real-time audio I/O simple and reliable

Auxide Ecosystem

Crate Description Version
auxide Real-time-safe audio graph kernel 0.2.1
auxide-dsp DSP nodes library 0.1.1
auxide-io Audio I/O layer 0.1.2
auxide-midi MIDI integration 0.1.1
Commit count: 33

cargo fmt