DTW 结果(应用于音频文件的 MFCC)与什么成正比?

信息处理 语音识别 声音 mfcc
2022-02-10 07:38:22

我已经计算了两个音频文件的 MFCC,并将 DTW 应用于这两个文件的两组系数。现在,这两个文件中的每一对都由一个值描述(由 DTW 计算)。我们称这个值为 Diff。

如果音频文件差异更大,则 Diff 更大,这很好。(所以 Diff 与音频信号之间的差异成正比 - 太棒了!)。

我的问题是 Diff 似乎也与文件的长度成正比(?)。因此,对于两个相似的长音频信号,Diff 可能大于对于两个不同的短信号。

首先我认为,当 DTW 计算两个数组的最短路径时,最终值应该与两个数组的长度成正比(即每个信号的帧数)。所以我尝试将它除以产品和两个长度的平均值,但结果令人沮丧(对于一些差异不大的文件来说太大了,对于其他文件来说太小了)。

然后我认为,如果它与文件的长度成正比,那么将其除以平均帧数(在其中我将两个信号分开以计算 MFCC)就可以解决问题……但事实并非如此。 ..

最后,我认为,由于 MFCC 是从 FFT 的结果计算出来的,最终的 DTW 结果可能与 FFT 幅度的总和成正比,所以我尝试将它除以这个总和(频谱元素的总和,由FFT 算法)。再一次,结果不是我希望的那样......

现在我没有想法...... DTW结果取决于什么,它与什么成正比?


编辑:在 pichenettes 建议尝试文件长度的几何平均值之后,这里有一些值:

  1. 同样的声音。avgLengths = 106000. Diff = 409. Diff / avgLengths = 38
  2. 同样的声音。avgLengths = 191000. Diff = 609. Diff / avgLengths = 31

  3. 不同的声音。avgLengths = 80000. Diff = 437. Diff / avgLengths = 55

  4. 不同的声音。avgLengths = 193000. Diff = 692. Diff / avgLengths = 35

38 > 35 :(

(来自 2. 和 4. 的声音几乎相似,来自 1. 和 3. 的声音也是如此。在 1. 一个文件的尾随静音稍长)

1个回答

DTW 与任何东西都不成正比,包括帧长度。像您正在做的那样比较两个不同对之间的 DTW 值并不是一个好主意。

问题在于,DTW 不仅是数字,而且是对齐方式。如果对齐不匹配,则无法关联数字。如果您与同一事物对齐,您只能关联数字。

通常建议进行归一化,但在数学上它没有多大意义。

在语音识别等经典任务中,您永远不会比较成对之间的 DTW 值,而是将一个样本与多个模板进行比较,然后找到最好的一个。您尝试匹配相同样本的事实允许您比较 DTW 值。在使用 DTW 进行关键字定位时,阈值必须取决于您匹配的每个模板,您不能对所有模板使用单个阈值。更重要的是,对于相同长度的两个不同模板,DTW 阈值必须不同。