我正在研究语音识别,特别是使用 MFCC 进行特征提取。我在网上找到的所有示例都倾向于绘制从特定话语中提取的一系列 MFCC,如下所示(由我从我正在编写的软件生成的图表):
- x 轴用于每个 MFC 系数(在此示例中为 1 到 12 )
- y 轴用于系数的值(在本例中范围为 -12 到 42)
- 您的行数与提取的帧或特征向量一样多(在本例中为 140)。
现在,这对我来说没有太大意义,因为我们在这里看到的是所有特征向量同时叠加,丢失了任何时间信息。我很难理解这种表示如何有用。
在我看来,我会将提取的向量表示如下(再次,由我生成的图):
在上图中:
- x 轴是帧或向量编号(1 到 140)
- y 轴是系数值(同样,从 -12 到 42 aprox)
- 每个功能都有一行(12)。
对我来说,这种表示应该更有用,因为您可以看到每个特定特征的时间演变,并且在我看来,这应该对如何将比较算法应用于口语单词产生更大的影响。
也许这两种表示对于不同的目的同样有效和有用,就像您需要在时域或频域中研究信号时一样,但在语音识别的情况下,我希望每个人的时间演变特征比每个特征的值密度更有意义(也许我完全错了:P)。
所以,其实有两个问题:
- 为什么第一个表示似乎被广泛使用而不是第二个?
- 当您想比较两组提取的 MFCC 时,例如使用动态时间扭曲 - DTW,并且与本主题相关,您是比较特征向量(即 12 个特征的 140 个向量)还是帧(140 个帧的 12 个向量) )? (换句话说,MxN 还是 NxM?)
谢谢!