rill-io
Audio I/O backends — ALSA, CPAL, PipeWire, JACK.
This crate provides only the hardware abstraction layer. Graph processing is
handled by rill-graph::SignalEngine —
this crate is purely about backend I/O.
Key components
AudioBackendtrait — common interface for all I/O backends- Backends (each behind a feature flag):
cpal— cross-platform audio I/O via CPAL (default)alsa— Linux ALSA backendpipewire— PipeWire backendjack— JACK Audio Connection Kit backend
Two-thread architecture
Audio processing is separated into two threads:
- Audio thread (hard RT): runs [
rill-graph::SignalEngine] which callsprocess_tick()for clock boundary andprocess_block()for graph processing. Source/Sink nodes own the I/O buffers. - Control thread (soft RT): runs
PatchbayManagerfor automata, sensors, and servos. Communicates viaCommandQueue/TelemetryQueue.
See rill-graph documentation for details.
Links
- Repository: https://github.com/DigitalRats/rill
- Documentation: https://docs.rs/rill-io