这可能是一个非常愚蠢的问题,但我在任何地方都找不到详细信息。
所以我有一个 3 秒长的录音(wav 文件)。那是我的样本,它需要归类为 [class_A] 或 [class_B]。
通过遵循 MFCC 上的一些教程,我将样本分成帧(准确地说是 291 帧),并且我从每一帧中获得了 MFCC。
现在我有 291 个特征向量,每个向量的长度是 13。
我的问题是;您究竟如何将这些向量与分类器(例如 k-NN)一起使用?我有 291 个向量代表 1 个样本。我知道如何处理 1 个样本的 1 个向量,但如果我有 291 个向量,我不知道该怎么办。我真的找不到任何地方的解释。
最佳答案
您的每个向量都将代表您的音频文件的频谱特征,因为它会随时间变化。根据帧的长度,您可能希望对其中的一些进行分组(例如通过按维度求平均值)以匹配您希望分类器使用的分辨率。例如,考虑一个特定的声音,它的包络可能具有 2ms 的起音时间:这可能是您希望通过时间量化获得的细粒度,因此您可以 a) 对 MFCC 向量的数量进行分组和平均表示 2ms;或 b) 以所需的时间分辨率重新计算 MFCC。
如果你真的想保持分辨率那么好,你可以连接 291 个向量并将其视为单个向量(291 x 13 维),这可能需要一个巨大的数据集来训练。
关于audio - 如何使用 MFCC 向量对单个音频文件进行分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16546524/