Skip to content
This repository has been archived by the owner on May 8, 2023. It is now read-only.
/ rainout Public archive

Cross-platform audio and MIDI IO

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

MeadowlarkDAW/rainout

Repository files navigation

☔ rainout ☔ (Rust Audio IN-OUT)

Documentation Crates.io License

This project has been abandoned. If anyone wants to take this over, please let me know!

If you want to connect to audio and MIDI devices in Rust, check out cpal, midi-control, tinyaudio, and/or miniaudio instead.


A cross-platform, highly configurable, low-latency, and robust solution for connecting to audio and MIDI devices.

This crate is experimental and a work in progress. It is not yet ready for any kind of production use.

Current Progress

Backend Single Audio Device Multiple Audio Devices MIDI In/Out MIDI 2.0 In/Out
Pipewire (Linux) ◻ NYI ◻ NYI ◻ NYI ◻ NYI
CoreAudio (MacOS) ◻ NYI ◻ NYI ◻ NYI ◻ NYI
WASAPI (Windows) ⚠️ WIP (Currently output-only) ❓ Not on roadmap* ➖ Not Applicable ➖ Not Applicable
Windows MIDI ➖ Not Applicable ➖ Not Applicable ◻ NYI ◻ NYI
ASIO (Windows) ◻ NYI ◻ NYI ◻ NYI ◻ NYI
Jack (Linux) ✔️ Functional ✔️ Functional ✔️ Functional ◻ NYI
Jack (Windows) ✔️ Functional ✔️ Functional ✔️ Functional ◻ NYI
Jack (MacOS) ✔️ Functional ✔️ Functional ✔️ Functional ◻ NYI
Pulseaudio** (Linux) ◻ NYI ⛔ Not on roadmap ◻ NYI ⛔ Not on roadmap
Alsa** (Linux) ◻ NYI ⛔ Not on roadmap ◻ NYI ⛔ Not on roadmap
  • "Single Audio Device" means the ability to connect to a single audio device. This audio device can be input-only, output-only, or natively duplex (i.e. an audio interface with both microphone inputs and speaker outputs). "Multiple Audio Devices" means the ability to connect to a separate input and output audio device and then syncing them together in software.
  • * WASAPI makes it tricky to sync multiple audio devices together without adding a lot of extra latency, which is why it's not currently on the roadmap. However, we may add support for this if there is enough demand for it.
  • ** The Pulseaudio and ALSA backends may prove to be unecessary in the advent of Pipewire.

Contributing

If you wish to contribute, take a look at the current Design Document.

If you have any questions, you can reach us in the Meadowlark Discord Server under the rainout channel or the Rust Audio Discord Server under the rusty-daw channel.

About

Cross-platform audio and MIDI IO

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages