15 releases

0.1.15 Dec 7, 2024
0.1.14 Feb 16, 2024
0.1.12 Oct 3, 2023
0.1.11 Jul 30, 2023
0.1.4 Mar 29, 2022

#97 in Audio

Download history 49/week @ 2024-11-13 42/week @ 2024-11-20 26/week @ 2024-11-27 203/week @ 2024-12-04 86/week @ 2024-12-11 23/week @ 2024-12-18 16/week @ 2024-12-25 16/week @ 2025-01-01 104/week @ 2025-01-08 69/week @ 2025-01-15 40/week @ 2025-01-22 4/week @ 2025-01-29 35/week @ 2025-02-05 35/week @ 2025-02-12 50/week @ 2025-02-19 40/week @ 2025-02-26

161 downloads per month
Used in 5 crates (4 directly)

MIT license

71KB
1.5K SLoC

wav_io

This is a crate for reading and writing wav file.

Suported format:

  • PCM 8, 16, 24, 32 bits Int
  • PCM 32, 64 bits Float

Functions

Install

Add wav_io to your project:

cargo add wav_io

Samples

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();
}

Example

Dependencies

~220–670KB
~16K SLoC