The audio crate will use the denoise crate to remove background noises from microphone input. We intent to contribute this to rodio. Before that can happen a PR needs to land in candle. Until then this lives here. Uses a candle fork which removes the dependency on `protoc` and has the PR's mentioned above already applied. Release Notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev>
12 lines
431 B
Rust
12 lines
431 B
Rust
use rodio::{nz, source::UniformSourceIterator, wav_to_file};
|
|
|
|
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
let file = std::fs::File::open("airconditioning.wav")?;
|
|
let decoder = rodio::Decoder::try_from(file)?;
|
|
let resampled = UniformSourceIterator::new(decoder, nz!(1), nz!(16_000));
|
|
|
|
let mut denoised = denoise::Denoiser::try_new(resampled)?;
|
|
wav_to_file(&mut denoised, "denoised.wav")?;
|
|
Ok(())
|
|
}
|