我是DSP的新手,刚刚发现了这个StackExchange,因此,如果不是发布此问题的正确位置,我们深表歉意。

是否有资源以更数学的术语描述类型?例如,如果我已经对歌曲这一部分的信号执行了FFT(如果链接没有从那里开始,则是2:09),我有什么办法可以检测到该部分的粗略排序的声音?这样的声音是否符合我可以比较的一些数学函数?
http://www.youtube.com/watch?v=SFu2DfPDGeU&feature=player_detailpage#t=130s(链接立即开始播放声音)

是使用监督学习技术的唯一方法,还是有其他方法(最好不需要监督)?

谢谢您的任何建议。

评论

您可以使用FFT来检测鼓音与长笛,但不能检测流派。当然,关于声音的东西非常本地化,但不是整个文件的音乐特征。

是否可以识别声音的“粗糙度”?这是MFCC发挥作用的地方吗?

#1 楼

我认为您要寻找的区别更像是经验与理论(相对于有监督与无监督),但是我对此可能是错的。换句话说,理想的做法是对各种流派进行理论定义,而不仅仅是一堆可以用来对歌曲进行分类的不透明数据(没有任何真正的理解)。分类,即使最初只是为了创建体裁的定义,您也可能至少受过示例训练。关于您的示例,请考虑人们在[YouTube上]会多久争论一次给定的曲目是否真的很笨拙(例如,即使该曲目开始时没有任何真正的摆动,任何曲目都更笨拙且摇摆不定)。人们通过示例来定义类型随时间的变化,因此可以合理预期复制该行为的算法也需要一些示例。无论如何,人们描述流派的方式几乎就像一个特征向量-他们询问有关歌曲的问题列表(例如,它是否更易碎或颤抖?它是否有很多次低音?它持续多长时间?节奏是多少?有声音吗?等。)
当然,您可以选择一系列功能,也可以直观地了解该类型。诸如“动态范围”之类的功能也可以被人用耳朵察觉,但是诸如“时域零交叉”之类的功能就不是很直观的,即使它可以很好地用于分类。以下论文具有许多您可能会感兴趣的功能:

George Tzanetakis,Perry R. Cook:音频信号的音乐流派分类。 IEEE Transactions on Speech and Audio Processing 10(5):
293-302(2002)链接。

为了测量粗糙度,心理声学粗糙度将是一个不错的起点,但是例如,不能区分双步引线和电引线。对于更细微的区别,要研究的一件事是音色识别。以下论文对技术进行了不错的概述:

T。 H. Park,“迈向自动乐器音色识别”,
博士学位。论文,新泽西州普林斯顿大学,2004年。链接。

Timbre,Tuning,Spectrum和Scale中还有一个与感知粗糙度有关的模型,用于为任意音色构建自定义音阶。这个想法是,非常接近的谐波会产生拍频,这种拍频被认为是不和谐的。摘自附录F和E,

当$ F $是具有部分频率在$ f_1,f_2,...,f_n $,
的频谱时,本征共振[假设单位振幅]是
$$ D_F = 1/2 \ space \ sum_ {i = 1} ^ {n} {} \ space \ sum_ {j = 1} ^ {n} {\ space d \ left({| f_i -f_j | \ over {\ min(f_i,f_j)}} \ right)} $$
其中
$$ d(x)= e ^ {-3.5 x}-e ^ {-5.75 x} $$
是Plomp-Levelt曲线的模型。

用于测量给定和弦相对于音色的愉悦程度(通过最小化不谐音)。我不知道心理声学变化的粗糙程度或固有的不和谐是否会为您自己的目的带来丰硕的成果,但是将它们与其他指标结合使用可能会很有用。
您可能会有更多的运气分类比起流派,音色在数学上更胜一筹。例如,琴弦具有偶数和奇数谐波,而单簧管仅具有奇数谐波(参见锯齿波,方波)。 Dubstep摆动通常是由LFO驱动的滤波器(低通和/或共振峰滤波器)完成的,因此像Spectral Flux(参见上面的[Tzanetakis])这样的功能可能是一个不错的起点。但是,我怀疑有人研究过摆动的数学分类吗;)

评论


$ \ begingroup $
datageist的出色响应。如果您正在寻找更多信息以及带有源代码的开发平台,我也建议isophonics.net/QMVampPlugins
$ \ endgroup $
–丹·巴里
2011-09-22 10:36

$ \ begingroup $
@Dan看起来很棒,感谢您的链接。
$ \ endgroup $
–datageist♦
2011-09-22 10:39



$ \ begingroup $
我找到了一个学习的利基学科! :D感谢您出色的回答和链接。它为我指明了方向,而不是漫无目的地使用Google。
$ \ endgroup $
– XSL
2011-09-22 14:41

$ \ begingroup $
很高兴能提供帮助:)
$ \ endgroup $
–datageist♦
2011-09-22 14:53