wav2json

Crates.iowav2json
lib.rswav2json
version0.1.0
sourcesrc
created_at2024-07-10 14:39:19.834627
updated_at2024-07-10 14:39:19.834627
descriptionA library that decodes wav audio files into json waveform data
homepagehttps://github.com/caojianyu/wav2json
repositoryhttps://github.com/caojianyu/wav2json
max_upload_size
id1298320
size47,660
Jianyu Cao (caojianyu)

documentation

README

wave2json

A library that decodes wav audio files into json waveform data

Examples

Generate a json waveform data file:

use std::{fs::File, io::Write, time::Instant};
use wav2json::Wav;

fn main() {
    // Support for local and network files.
    // let mut wav = Wav::new("http://[host]/sample-15s.wav").set_json_width(1920);
    let mut wav = Wav::new("examples/sample-15s.wav").set_json_width(1920);
    let result_data = wav.decode();

    println!("duration: {}", Instant::now().elapsed().as_millis());

    // Generate json data files that can be rendered.
    let mut json_file = File::create("examples/data.json").expect("create failed");
    json_file.write(b"[").unwrap();
    for v in result_data.iter() {
        json_file.write(v.to_string().as_bytes()).unwrap();
        json_file.write(b",").unwrap();
    }
    json_file.write(b"]").unwrap();
}
Commit count: 12

cargo fmt