Crates.io | wav2json |
lib.rs | wav2json |
version | 0.1.0 |
source | src |
created_at | 2024-07-10 14:39:19.834627 |
updated_at | 2024-07-10 14:39:19.834627 |
description | A library that decodes wav audio files into json waveform data |
homepage | https://github.com/caojianyu/wav2json |
repository | https://github.com/caojianyu/wav2json |
max_upload_size | |
id | 1298320 |
size | 47,660 |
A library that decodes wav audio files into json waveform data
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();
}