#音频处理 #aubio #识别 #处理 #ffi #安全绑定

bliss-audio-aubio-rs

为bliss内部使用提供的aubio-rs

3个版本

0.2.2 2024年5月12日
0.2.1 2023年3月23日
0.2.0 2021年5月16日

#192 in 音频

Download history 12/week @ 2024-05-03 146/week @ 2024-05-10 46/week @ 2024-05-17 27/week @ 2024-05-24 19/week @ 2024-05-31 25/week @ 2024-06-07 61/week @ 2024-06-14 49/week @ 2024-06-21 15/week @ 2024-06-28 46/week @ 2024-07-05 16/week @ 2024-07-12 51/week @ 2024-07-19 43/week @ 2024-07-26 22/week @ 2024-08-02 53/week @ 2024-08-09 11/week @ 2024-08-16

162 每月下载
用于 4 个物品 (2 直接)

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 的名称来自音频中的一个拼写错误:结果中可能存在一些错误。

物品功能

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

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

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

依赖关系