我想使用 MFCC(梅尔频率倒谱系数)和 DTW(动态时间扭曲)算法来制作语音比较脚本。我计算了 MFCC 并为每一帧得到了 13 个系数。
我如何从中计算 DWT?我是否应该丢弃帧并仅将系数视为一个数组。我在这篇文章中读到:使用 MFCC 和 DTW(动态时间规整)进行语音识别?你应该计算每帧之间的DTW,但我不明白在计算完所有这些DTW之后我应该做什么。如果我有一个音频序列框架和另一个帧,然后我得到DTW 费用。而且,我从那里去哪里。
我想使用 MFCC(梅尔频率倒谱系数)和 DTW(动态时间扭曲)算法来制作语音比较脚本。我计算了 MFCC 并为每一帧得到了 13 个系数。
我如何从中计算 DWT?我是否应该丢弃帧并仅将系数视为一个数组。我在这篇文章中读到:使用 MFCC 和 DTW(动态时间规整)进行语音识别?你应该计算每帧之间的DTW,但我不明白在计算完所有这些DTW之后我应该做什么。如果我有一个音频序列框架和另一个帧,然后我得到DTW 费用。而且,我从那里去哪里。
好吧,我想我找到了解决方案,主要是通过反复试验。
所以我所做的并给出了很好的结果是:1)如果我们有 M(帧数)XN(13;MFCC 系数数)矩阵;
即 X=X[1 2 .....N(13) ; 1 2.....M(帧数)]
2) 使用 DATABASE [REF(1;1 2 3...M)] 找到 [X(1;1 2 3.....M)] 的 DTW,这里我们取 K=1(Not 2. ..12) 同样找到 [X(2;1 2 3...M)] 和 DATABASE [REF(1;1 2 3...M)] 的 DTW
3) 泛化,求[X(k(kth MFCC coef); 1 2 3...m)]的DTW;
4)所以最后我们会得到:K(13)个值;
5) 找出这 13(K) 个值的平均值,并以此作为您决定的参考;
*免责声明:我不确定这是否是所有论文所暗示的,我只是通过反复试验发现的,它给出了准确的结果