aubio-iOS-SDK 0.4.4

aubio-iOS-SDK 0.4.4

测试已测试
Lang语言 Obj-CObjective C
许可 自定义
发布最后发布2017年2月

Khoa Nguyen 维护。



  • Paul Brossier

aubio 库

aubio 是一个用于标记音乐和声音的库。它监听音频信号并尝试检测事件。例如,当一个鼓被敲击时,音符的频率是多少,或节奏旋律的速度是多少。

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

aubio 提供了几个算法和例程,包括

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

aubio 的名称来自 audio 中的一个打字错误:结果中可能存在一些错误。

Python 模块

还提供了一个用于访问库函数的 Python 模块。有关如何使用它的更多信息,请参阅文件 python/README

示例工具

库中包含一些简单的命令行工具

  • aubioonset 输出检测到的音符攻击的时间戳
  • aubiopitch 尝试为输入声音的每个帧识别基音,或音高
  • aubiomfcc 计算梅尔频率倒谱系数
  • aubiotrack 输出检测到的节拍的时间戳
  • aubionotes 输出类似 midi 的音符,包括攻击、音高和持续时间
  • aubioquiet 提取安静和响亮区域

此外,Python 模块附带以下脚本

  • aubiocut 在攻击或节拍时间戳处切割声音文件

实现和设计基础

该库是用 C 编写的,针对速度和可移植性进行了优化。

C API 的设计如下

aubio_something_t * new_aubio_something (void * args);
audio_something_do (aubio_something_t * t, void * args);
smpl_t aubio_something_get_a_parameter (aubio_something_t *t);
uint_t aubio_something_set_a_parameter (aubio_something_t *t, smpl_t a_parameter);
void del_aubio_something (aubio_something_t * t);

为了性能和实时操作,在 _do 方法中不进行内存分配或释放。相反,内存分配应始终在 new_ 方法中执行,而释放操作则在 del_ 方法中进行。

最新版本的文档可以在以下位置找到

http://aubio.org/documentation

安装和构建说明

许多发行版已经包含aubio。请检查您的首选包管理系统,或者查看下载页面

aubio使用waf配置、编译和测试源代码

./waf configure
./waf build
sudo ./waf install

aubio可以在Linux、Mac OS X、Cygwin和iPhone上编译。

致谢和出版物

该库汇集了数字音乐中心和其它地方设计的音乐信号处理算法。该项目是在伦敦玛丽女王大学数字音乐中心的科研基础上开发的。大部分的C代码均由我编写,始于已发表的论文和现有代码。每个算法的表头文件包含简要描述和对相应论文的引用。

特别感谢Juan Pablo Bello、Chris Duxbury、Samer Abdallah、Alain de Cheveigne对他们的帮助和出版物。还要感谢Miguel Ramirez和Nicolas Wack对bug修复的贡献。

有关算法及其评估的大量信息收集在以下文献中:

以下论文中讨论了使用该软件获得的其他结果

联系方式和邮件列表

该项目的首页可在http://aubio.org/找到。

欢迎提问、评论、建议和贡献。使用邮件列表:[email protected]

要订阅列表,请使用mailman表单:http://lists.aubio.org/listinfo/aubio-user/

或者,您可以直接联系作者。

版权和许可信息

版权(C)2003-2013 Paul Brossier [email protected]

aubio是免费软件:您可以在自由软件基金会发布的GNU通用公共许可证下重新分发和/或修改它,许可证版本为3,或(根据您的选择)该许可证的任何较新版本。