Skip to content

mitchmindtree/sound_stream

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
This branch is 12 commits behind RustAudio:master.

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 

DEPRECATED

rust-portaudio's API has improved enough to the point where sound_stream is no longer necessary.

SoundStream Build Status

A simple-as-possible, fast audio I/O stream wrapping PortAudio for Rust! It looks like this:

// The callback we'll use to pass to the Stream. It will write the input directly to the output.
let f = Box::new(move |input: &[f32], _: Settings,
                       output: &mut[f32], _: Settings,
                       dt: f64, _: CallbackFlags| {
    for (output_sample, input_sample) in o.iter_mut().zip(i.iter()) {
        *output_sample = *input_sample;
    }
    CallbackResult::Continue
});

// Run our callback on the default, duplex, non-blocking stream.
let stream = SoundStream::new()
    .duplex(StreamParams::new(), StreamParams::new())
    .run_callback(f)
    .unwrap();

Usage

Add sound_stream to your Cargo.toml dependencies like so:

[dependencies]
sound_stream = "*"

For more details, see the example.

PortAudio

SoundStream uses PortAudio as a cross-platform audio backend. The rust-portaudio dependency will first try to find an already installed version on your system before trying to download it and build PortAudio itself.

License

MIT - Same license as PortAudio.

About

A Rust audio IO stream in the style of an "Event Iterator" driven by PortAudio.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%