You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andreas Linz 0e6f0f84e8 rustfmt 7 years ago
examples rustfmt 7 years ago
src Add `set_latency` to `OutStream` 7 years ago
tests Implement `default` for `SoundIo` and add `name` argument to `new` 7 years ago
.gitignore s/.bk/.rs.bk/gc 7 years ago
Cargo.toml Increase version number to `0.1.6` 7 years ago
LICENSE_APACHE_20 Relicense under MIT/Apache-2.0 as it is common in the Rust eco system 7 years ago
LICENSE_MIT Relicense under MIT/Apache-2.0 as it is common in the Rust eco system 7 years ago Fix license section 7 years ago Add TODO 7 years ago
circle.yml Fix circle.yml 7 years ago

A Rusty Wrapper for libsoundio

Circle CI rustdoc license

Rsoundio is a wrapper for libsoundio, a cross-platform realtime audio in- and output library.

The following backends are supported:

  • JACK
  • PulseAudio
  • ALSA
  • CoreAudio

For a comparison of libsoundio with other audio libaries, take a look at the wiki.

This is a work in progress and there are still some things that don't work, especially recording via input streams is not supported yet (see TODOs. Most of the input stream implementation can be copied from the output stream though.


Add it to the dependencies section of your projects Cargo.toml

rsoundio = "0.1.*"


cargo run --example sine


  • add documentation
  • implement InStream
  • implement remaining callback registrations for SoundIo struct
  • let write_stream_FMT accept an iterator instead of a Vec<Vec<FMT>>
  • make rsoundio::ffi private and only export the enums
  • publish on
  • write examples


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.