Interflow is a Rust library that abstracts away platform-specific audio APIs and provides a unified, opinionated interface for audio applications. It aims to simplify the development of audio applications by offering seamless support for duplex audio with separate input and output devices, as well as sample rate and format conversion.
- Unified interface for platform-specific audio APIs.
- Support for duplex audio (simultaneous input and output).
- Separate input and output devices.
- Sample rate conversion.
- Format conversion.
- WASAPI
- ASIO
- ALSA
- PulseAudio
- PipeWire
- JACK
- CoreAudio
Ensure you have the following installed on your system:
- Rust
- Platform-specific audio development libraries:
- Windows: Ensure you have the Windows SDK installed, and optionally the
ASIO SDK if the
asio
feature is enabled. - macOS: Xcode and its command line tools should be installed.
- Linux: Development libraries for ALSA (Advanced Linux Sound
Architecture), PulseAudio, PipeWire, or JACK are only required if their
relevant features are enabled (by default, only
alsa
is).
Interflow
uses cargo
for dependency management and building.