An audio sample rate conversion library for Rust.
This library provides resamplers to process audio in chunks. The ratio between input and output sample rates is completely free. Implementations are available that accept a fixed length input while returning a variable length output, and vice versa. The resampling is based on band-limited interpolation using sinc interpolation filters. The sinc interpolation upsamples by an adjustable factor, and then the new sample points are calculated by interpolating between these points.
The full documentation can be generated by rustdoc. To generate and view it run:
cargo doc --open
Resample a single chunk of a dummy audio file from 44100 to 48000 Hz.
See also the "fixedin64" example that can be used to process a file from disk.
```rust
use rubato::{Resampler, SincFixedIn, Interpolation};
let mut resampler = SincFixedIn::
let wavesin = vec![vec![0.0f64; 1024];2]; let wavesout = resampler.process(&waves_in).unwrap(); ```
The rubato
crate only depends on the num
crate and should work with any rustc version that crate supports.
License: MIT