深度学习工具评测---音频领域的python库推荐

本文评测了音频处理的Python库,包括librosa、aubio、Sonic/Vamp、essentia和audioFlux。重点讨论了mel频谱、不同scale、CQT和CWT在深度学习中的应用。audioFlux因其全面的特性和支持移动端而脱颖而出,适合研发和工程需求。
摘要由CSDN通过智能技术生成


针对MIR(音乐信息检索)领域工程研究概况,下面列出一些全世界最具有影响力的工程成果和相关组织,排名某些情况下可分先后。

美英德西奥中

lib 派系(名牌大学) 组织(大佬、学术、名著) 语言
librosa 美国纽约大学NYU Rosa实验室 Python
aubio 英国QueenMary大学 C4DM小组 C/Python
essentia 西班牙UPF大学 MTG小组 C++/Python
madmom 奥地利JKU大学 CP研究所 Python
- 德国FAU大学 AudioLabs实验室 -
audioFlux 中国JLD大学(家里蹲) AudioFlux小组(社会闲散人员) C/Python

注:

librosa,美国出品,目前业界内常用的库,其过程命令式的接口实现设计,方便易用、易理解的同时,也加剧了其性能短板,大规模数据跑起来特别慢。

Rosa实验室,大佬们的论文和各种资源令人目不暇接,但这在美国高校中只是冰山一角,整体反映出其行业背后“教研产创”生态的强壮和勃勃生机。

aubio,更确切的应该是qm-dsp才是C4DM的项目,Chris Cannam大神出品,偏向mir/onset这一块,可惜关注度不高, aubio算是其简化版本,却打出一片名声,由于是简化版本,工具感较重一些,原版本相对丰富的音频特征并不突出,不太适合研发使用。

英国作为老牌资本主义,QueenMary大学产出的Sonic/Vamp业界也是赫赫有名,音频领域积累十分雄厚,和美国某种程度上不分伯仲,留学政策又相对友好,有意向计算机音频、音乐领域的同学,十分建议到此取经。

essentia,其MTG小组也是Vamp插件的重量级产出方,当前库社区较活跃一些,功能上音频特征更全面一些,支持移动端,但整个设计体系感较弱,像一锅乱炖,使用上相比其它库不太方便,和nn有部分耦合。

madmom,mir/onset这块特别出色,但整体耦合nn相关。

AudioLabs实验室,工程上较为松散,缺乏有代表性的库,但每一小块拿出来,都是世界顶级水准,做音频这个行业,无论理论还是工程实践,其资源都是干货满满。

audioFlux,音频特征较为全面,支持移动端,提供尽可能细粒度、体系化的特征维度和组合,但某些变换的逆操作尚未实现。

关于mel的故事

音频领域关于mel频谱,非常重要又非常基础,几乎人人皆知,其概念30年代便提出了,但真正产业化标准的是出自 Malcolm Slaney 大师1998年的苹果公司技术报告,librosa 作者Brian Mcfee是其学生的学生,有时候学术传承很有意思。

现在所有的mel频谱刻度投射算法都是基于“slaney”风格,后来ETSI(欧洲电信标准协会)又定义一种简化风格,国外博客普及mel算法时,使用“ETSI”风格,一些国外个人开源的相关mel工具库基本上也是此风格。

本质上两者都是频域刻度加不同三角窗类似Triang和Bartlett的区别,但是要注意,这里面加什么窗?怎么加窗?何种归一化方式?产生的mel频谱数据高低频细节、能量聚集、对比度都会有不同的差异,这种差异放大到一些业务实践中,模型的准确度和鲁棒性怎么样,就有待研究考察了,下面给出一张简单对比图。
在这里插入图片描述

比较Slaney和ETSI,有明显细微的区别,看低频220左右,Slaney明显压共振峰或噪声部分,但基音附近比较发散;高频谐波部分ETSI比较明显。

从清晰度看,Point胜过其它所有,GammaTone较为模糊,Rect清晰同时放大噪声,但不能笼统的认为Point就好于其它,都各有其价值,如果业务偏向于音高相关,频谱当然越清晰越好,如果业务偏向发出声音的物理结构和音高关系不大甚至去音高的,频谱的轮廓就变的重要,有些时候业务上两者可能都会存在,这时候不同的频谱特征数据都可以参与到训练模型上。

针对mel频谱,加什么窗?怎么加窗?何种归一化方式? 使用这些组合产生出更多细粒度的不同特征,训练出模型准确性和鲁棒性的研究, audioFlux库提供全面基础的支持,这是相比librosa等其它库优势的地方,期待后续借用audioFlux这个梯子,产生有价值的paper出现。

延续scale大战

mel如此知名,难道做音频领域深度学习就只有mel?当然不是,有些情况mel不一定是最优的。

mel本质上是一种基于人耳听觉设计的log压缩刻度,人耳针对低频比较敏感,高频不太敏感,比如110hz和123hz一般人都能区分出来,但4000hz和4100hz大部分分不出来。

后来更准确的表示听觉,又提出bark和erb刻度,mel/bark/erb这些都是基于听觉的类log刻度,也有基于乐音八度的octave刻度,还有更通用的log刻度,下面给出一张简单对比图。
在这里插入图片描述

同样Slaney风格下,不同scale下产生的频谱数据高低频细节、能量聚集、对比度都会有不同的差异,这种差异放大到一些业务实践中,模型的准确度和鲁棒性怎么样,就非常有研究价值。

对不同scale有不同程度支持的库有 audioFluxessentiamadmom,其中 audioFlux最为系统和全面。

音乐小王子cqt

上面讲到octave尺度,针对音乐领域有一个非常有名的变换,Constant-Q transform,公式如下。
X [ k ] = 1 N [ k ] ∑ n = 0 N [ k ] − 1 x [ n ] W k [ n ] e − j 2 π Q n N [ k ] X[k]=\frac1{N[k]}\sum_{n=0}^{N[k]-1}x[n]W_k[n]e^{\frac{-j2\pi Qn}{N[k]} } X[k]=N[k]1n=0N[k]1

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值