音乐结构分析之系统探究

音乐信息分析子问题:

  1. 结构分割
    • 边界检测
    • 结构分类
  2. 模式发现
  3. 节奏追踪

1、特征:

  1. 音色特征描述:CQT 、MFCCs
  2. 音高特征描述:表示和弦的特征{PCPs(和弦特征)、Tonnetz(音调中心)}
  3. 混合特征:和弦、音色、响度混合特征{CQT}
总结:
  1. 边界检测中音色特征效果比较好,结构聚类则音高特征比较好用。
  2. Structure Features 算法使用CQT特征在边界检测中取得较好效果。Convex NMF两个在边界检测和结构聚类中分别取得第三名、第二名,算是表现较好吧。

2、常用工具包

2.1 librosa

librosa库是LABROSA实验室MacFee大神主导一个音乐和音频分析开源Python项目,librosa主要是面向音乐信息检索方向的一个工具包,包含有特征提取、节拍追踪(beat tracking)、触发点检测(onset detection)、时间分割(Temporal segmentation)等各领域。具体功能可以参考官方文档

2.2 msaf

msaf(音乐结构分析框架)是MIR界学术新星nieto大牛写的一个专门进行音乐结构分析的python包,利用msaf可以快速开展音乐结构分析实验。msaf具有很好的扩展性,可以很方便的将自己的特征提取算法、音频结构分析算法、新的数据集以及新的评价方法放进框架开展实验。msaf包含的主要功能如下:

(1)音乐特征提取

msaf的特征提取主要是调用librosa库的特征提取函数实现的。目前(0.1.4)支持提取的特征有:CQT、MFCC、PCP、TonnetZ、Tempogram。msaf也可以很方便的添加新的特征提取方法。只用在 Features.py文件,按照api封装标准将新特征提取算法添加进去即可。

(2)音乐结构边界检测和特征分类

msaf框架包含算法:

算法名字边界检测结构分类
2D-Fourier Magnitude Coeffs不支持支持
Checkerboard Kernel支持不支持
Constrained Cluster支持支持
Convex NMF支持支持
Laplacian Segmentation支持支持
Ordinal LDA支持不支持
Shift Invariant PLCA支持支持
Structural Features支持不支持

算法分析:
1. 部分结构算法对边界检测结果具有鲁棒性。
2. 最优的边界检测算法结果并不一定使结构分类算法性能最优。
3. 结构算法的性能依赖于边界划分的好坏。

(3)评价算法

Colin Raffel、MCfee、Nieto等众位大神在14年第15届ISMIR大会上提出的一个包含MIR各子领域评价方法的一个评价库,不同子领域的评价方法有所不同。通过mir_eval库可以很方便的对MIR各子领域的算法效果做出评价。msaf评价模块就是该库中音乐结构分析领域的评价方法,在边界检测中用的评价方法是F测量、在结构分类中用的是Pairwise Classification Precision(成对分类精度)召回率、F测量以及NCE方法。

(4)数据集调用

MSAF的数据库模块可以很方便的调用数据集进行算法效果测试。每个数据集可以包含音频文件夹、特征文件夹、标注文件夹等。音频文件夹主要存储原始音频文件如MP3、wav等。特征文件夹可以用来存放特征提取算法的计算结果或者别人对该数据集已经提取好的相关特征。标注文件夹主要存放该数据集的标注文件。
音乐结构分析已经有许多公开的和非公开的标记数据库,可以用来进行结构划分和结构分类。MSAF框架里面用到的数据库有以下几个:

  • 共用数据库:Isophonics、SALAMI、Beatles TUT 、SPAM;
  • 私有数据库:Cerulean 、 Epiphyte ;

关与msaf更多信息请参考官方文档

2.3、 Essntia

Eessentia是庞培法布拉大学MTG实验室开发的一个用于音频分析和音频音乐信息检索方面研究的开源c++库。Essentia包含了一系列比较成熟的音频音乐分析算法,利用C++优异的计算速度,实现当前比较成熟的算法,并对这些算法的鲁棒性和性能进行最大的优化。Essentia具有很好的兼容性,提供了丰富的接口,如python、Matlab、sonic bisuliser的插件。不过python接口目前不支持windows系统。Essentia包含的算法主要分为标准模式和流模式。流模式可以实现音频信息的实时处理。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值