#音频处理 #识别 #处理 #ffi

aubio

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

5个不稳定版本

0.2.1 2021年5月22日
0.1.0 2018年6月6日
0.0.3 2018年5月26日
0.0.2 2018年5月26日
0.0.1 2018年5月26日

#214 in 音频

Download history 26/week @ 2024-01-21 26/week @ 2024-02-18 14/week @ 2024-02-25 8/week @ 2024-03-03 42/week @ 2024-03-10 15/week @ 2024-03-17 33/week @ 2024-03-24 21/week @ 2024-03-31 13/week @ 2024-04-07 25/week @ 2024-04-14 7/week @ 2024-04-21

67 每月下载次数

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

此Crate提供对aubio C库的安全Rust绑定。

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

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

它的功能包括在每次攻击之前分割声音文件,执行音高检测,敲击节奏,并从实时音频生成MIDI流。

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

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

aubio这个名字来源于音频的拼写错误:结果中可能存在一些错误。

Crate特性

以下特性可用于自定义配置

  • bindgen 强制生成绑定,而不是使用预生成的(对不受支持的架构有用
  • builtin 强制编译内置aubio C库
  • pkg-config 使用pkg-config查找已安装的库
  • shared 构建共享aubio C库
  • static 构建静态aubio C库
  • fftw3 启用使用fftw3
  • intelipp 启用使用Intel IPP
  • accelerate 启用在apple平台上使用加速框架
  • blas 启用使用blas
  • atlas 启用使用atlas
  • double 启用音频样本数据的双精度

当使用pkg-config特性时,如果找到,将使用已安装的aubio库。

要强制构建和链接内置版本,您可以使用 内置 功能。

例如,fftw3intelipp加速blasatlas双精度 这些功能仅对内置 aubio C 库生效。

依赖项