#audio-processing #aubio #recognition #processing #ffi #safe-bindings

aubio-rs

为aubio库提供安全的音乐和声音标签绑定

4个版本

0.2.0 2021年4月30日
0.1.3 2020年4月4日
0.1.2 2020年2月14日
0.1.0 2020年1月23日

#597音频

每月24次下载
用于 音频相似度搜索

GPL-3.0 许可证

4.5MB
114K SLoC

Rust 89K SLoC // 0.0% comments C 19K SLoC // 0.1% comments Python 6K SLoC // 0.2% comments Forge Config 300 SLoC // 0.8% comments Batch 165 SLoC Shell 48 SLoC // 0.1% comments

安全的aubio库绑定

github crate docs GPL-3.0 CI

此项目旨在提供aubio C库的安全Rust绑定。

Aubio是一个用于标记音乐和声音的库。

它监听音频信号并尝试检测事件。例如,当鼓被敲击时,音符的频率是多少,或者节奏旋律的速度是多少。

其功能包括在每个攻击之前分割声音文件,执行音高检测,敲击节拍,并从现场音频生成midi流。

aubio提供了多种算法和例程,包括

  • 几种攻击检测方法
  • 不同的音高检测方法
  • 节奏跟踪和节拍检测
  • MFCC(梅尔频率倒谱系数)
  • FFT和相位声码器
  • 上/下采样
  • 数字滤波器(低通、高通等)
  • 频谱滤波
  • 瞬态/稳态分离
  • 声音文件读写访问
  • 适用于音乐应用的数学工具

名称aubio来自音频的一个拼写错误:结果中可能存在一些错误。

crate功能

以下功能可用于自定义crate配置

  • bindgen 强制生成绑定,而不是使用预生成的(对于不受支持的架构很有用
  • builtin 强制编译内置的aubio C库
  • pkg-config 使用pkg-config查找已安装的库
  • shared 构建共享的aubio C库
  • static 构建静态的aubio C库
  • fftw3 启用使用fftw3

当使用pkg-config功能时,如果找到已安装的aubio库,则将使用它。要强制构建和链接内置版本,您可以使用builtin功能。

依赖项