7个版本
0.1.1 | 2022年4月29日 |
---|---|
0.1.0 | 2022年4月29日 |
0.0.4 | 2020年6月3日 |
0.0.2 | 2020年4月5日 |
#298 在 音频
在 audeye 中使用
55KB
1.5K SLoC
sndfile.rs
libsndfile的Rust安全包装。
使用此crate,您可以读取或保存音频文件。
入门指南
具有最小功能
[dependencies]
sndfile = "0.1"
支持ndarray
[dependencies.sndfile]
version = "0.1"
features = ["ndarray_features"]
...并查看文档了解如何使用它。
示例
extern crate sndfile;
extern crate ndarray;
fn main() {
use sndfile::*;
let mut snd = sndfile::OpenOptions::ReadOnly(ReadOptions::Auto).from_path(
"/mnt/st4t_0/tuxzz/muz/muz0/Call My Name/13.Loow.flac"
).unwrap();
let data: ndarray::Array2<f32> = snd.read_all_to_ndarray().unwrap();
let samplerate = snd.get_samplerate();
let n_frame = snd.len().unwrap();
let n_channels = snd.get_channels();
let title = snd.get_tag(TagType::Title).unwrap();
println!("Loaded song `{}`:", title);
println!(" Length: {:.2} seconds", n_frame as f64 / samplerate as f64);
println!(" Sample rate: {} Hz", samplerate);
println!(" Channel count: {}", n_channels);
println!(" DC offset = {}", data.mean().unwrap());
}
/*
== Expected output ==
Loaded song `Loow`:
Length: 277.06 seconds
Sample rate: 44100 Hz
Channel count: 2
DC offset = 0.00018921464
*/
许可证
许可协议
- MIT许可证 (LICENSE 或 http://opensource.org/licenses/MIT)
依赖项
~28–385KB