如何使用MFCC向量对单个音频文件进行分类?

4
这可能是一个非常愚蠢的问题,但我无法在任何地方找到详细信息。
我有一个持续3秒钟的音频录音(wav文件)。这是我的样本,需要将其分类为[class_A]或[class_B]。
按照MFCC教程的指导,我将样本分成了帧(确切地说是291帧),并从每个帧中获取了MFCC。
现在我有了291个特征向量,每个向量的长度为13。
我的问题是:您如何使用分类器(例如k-NN)来使用这些向量?我有291个代表1个样本的向量。我知道如何处理1个向量的1个样本,但如果我有291个向量,我不知道该怎么办。我真的找不到任何解释。

你能提供一下你是如何解决它的链接吗? - kRazzy R
请问您能否发布您的解决方案? - kRazzy R
1个回答

4

每个向量将表示您的音频文件在时间上变化时的光谱特征。根据帧的长度,您可能希望对其中一些进行分组(例如按维度平均),以使分类器与您要处理的分辨率相匹配。例如,想象一种具有攻击时间为2ms的包络的特定声音:这可能是您想要获得的最精细的时间量化,因此你可以a)分组和平均代表2ms的MFCC向量数量;或b)重新计算所需时间分辨率下的MFCC。

如果您真的想保持如此精细的分辨率,可以将291个向量连接起来并将其视为单个向量(291 x 13维),这可能需要一个庞大的数据集进行训练。


我为一个音频文件生成了一个mfcc,它的形状为(20,5211),因此有5211个向量,每个向量都有20个mfcc值。我该如何将其输入神经网络?我感到相当困惑。 - kRazzy R
1
我没有使用神经网络,而是使用支持向量机。我建议你看一下这里的sk-learn神经网络教程:http://scikit-learn.org/stable/modules/neural_networks_supervised.h‌​tml - jimijazz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接