【发布时间】:2014-12-31 05:47:20
【问题描述】:
我正在开发一个能够对音乐流派进行分类的小工具。为此,我想使用 K-nn 算法(或另一种,但这个似乎足够好),我使用python-yaafe 进行特征提取。
我的问题是,当我从我的歌曲中提取一个特征时(例如:mfcc),因为我的歌曲是 44100Hz 采样的,我检索了很多(采样窗口数)的 12 值数组,我真的不知道该怎么处理。有没有一种方法可以让每个功能和每首歌曲只获得一个代表值?
【问题讨论】:
-
您可以将数组作为向量处理并计算绝对距离以进行比较...
abs_difference=|v1-v2|您还可以为每个维度添加权重...等等。只制作一个参数不是一个好主意,您会错过太多信息。您也可以将这些向量直接提供给神经网络,为您做出决策... -
我会选择不同的路径。 1. 检测与每种音乐流派不同的某些乐器(钢琴、鼓等) 2. 检测主旋律速度/频率及其时间动态性 3. 音量大小和时间动态性 4. 将这些属性与一些界限/列表进行比较为每种支持的流派创建,因此您可以获得每种流派的概率并选择最大的流派...
-
好的,非常感谢Spektre的回答,我想我会试试的!
标签: python algorithm classification extraction