Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/solarliner/interflow
Unified and opinionated audio I/O for Rust
https://github.com/solarliner/interflow
Last synced: 11 days ago
JSON representation
Unified and opinionated audio I/O for Rust
- Host: GitHub
- URL: https://github.com/solarliner/interflow
- Owner: SolarLiner
- License: mit
- Created: 2024-07-24T20:10:52.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-07-28T22:32:00.000Z (3 months ago)
- Last Synced: 2024-10-10T20:15:42.958Z (28 days ago)
- Language: Rust
- Homepage: http://solarliner.dev/interflow/interflow/
- Size: 76.2 KB
- Stars: 10
- Watchers: 3
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Interflow
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.## Features
- [x] 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.## Supported drivers
- [ ] WASAPI
- [ ] ASIO
- [ ] ALSA
- [ ] PulseAudio
- [ ] PipeWire
- [ ] JACK
- [ ] CoreAudio## Getting Started
### Prerequisites
Ensure you have the following installed on your system:
- [Rust](https://www.rust-lang.org/tools/install)
- 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).### Building
`Interflow` uses `cargo` for dependency management and building.