Skip to content

Latest commit

 

History

History
33 lines (25 loc) · 890 Bytes

README.md

File metadata and controls

33 lines (25 loc) · 890 Bytes

Rust Audio Basic Utilities (rabu)

Some basic audio utilities and processors. These tools are meant to be simple and easy to use, while also expressing as much intend as possible.

The complete docs can be found at docs.rs.


Examples

Strongly typed units can easily be converted into each other:

use rabu::units::{SampleRate, Samples, Seconds};

let seconds = Seconds::from(3.0);
let sample_rate = SampleRate::from(44100);

let samples = seconds.to_samples(sample_rate);

assert_eq!(samples, Samples::from(132_300));

Audio buffers can be used in a way that makes sense:

use rabu::buffer::Buffer;
use rabu::units::{Channels, Samples};

let mut buffer = Buffer::allocate(Channels::from(2), Samples::from(4));

for channel in buffer.iter_chans_mut() {
    for sample in channel.iter_mut() {
        *sample = 1.0;
    }
}