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 中使用

MIT 许可证

55KB
1.5K SLoC

sndfile.rs

libsndfile的Rust安全包装。
使用此crate,您可以读取或保存音频文件。

Travis-CI Status Latest version Documentation License

入门指南

sndfile.rs可在crates.io上找到.

具有最小功能

[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
*/

许可证

许可协议

依赖项

~28–385KB