You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hound can read and write the WAVE audio format, an ubiquitous format for raw,
uncompressed audio. The main motivation to write it was to test
Claxon, a FLAC decoding library written in Rust.
Examples
The following example renders a 440 Hz sine wave, and stores it as a mono wav
file with a sample rate of 44.1 kHz and 16 bits per sample.
use std::f32::consts::PI;use std::i16;use hound;let spec = hound::WavSpec{channels:1,sample_rate:44100,bits_per_sample:16,sample_format: hound::SampleFormat::Int,};letmut writer = hound::WavWriter::create("sine.wav", spec).unwrap();for t in(0 .. 44100).map(|x| x asf32 / 44100.0){let sample = (t *440.0*2.0*PI).sin();let amplitude = i16::MAXasf32;
writer.write_sample((sample * amplitude)asi16).unwrap();}
The file is finalized implicitly when the writer is dropped, call
writer.finalize() to observe errors.
The following example computes the root mean square (RMS) of an audio file with
at most 16 bits per sample.
Contributions in the form of bug reports, feature requests, or pull requests are
welcome. See contributing.md.
License
Hound is licensed under the Apache 2.0 license. It may be used in
free software as well as closed-source applications, both for commercial and
non-commercial use under the conditions given in the license. If you want to
use Hound in your GPLv2-licensed software, you can add an exception
to your copyright notice. Please do not open an issue if you disagree with the
choice of license.