This is a crate for reading and writing wav file.
- PCM 8, 16, 24, 32 bits Int
- PCM 32, 64 bits Float
Add wav_io to your project:
cargo add wav_io
use std::f32::consts::PI;
fn main() {
// make sine wave
let head = wav_io::new_mono_header();
let mut samples: Vec<f32> = vec![];
for t in 0..head.sample_rate {
let v = ((t as f32 / head.sample_rate as f32) * 440.0 * 2.0 * PI).sin() * 0.6;
samples.push(v);
}
// write to file
let mut file_out = std::fs::File::create("./sine.wav").unwrap();
wav_io::write_to_file(&mut file_out, &head, &samples).unwrap();
}