将MFCC特征向量与DTW进行比较

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将MFCC特征向量与DTW进行比较相关的知识,希望对你有一定的参考价值。

我正在寻找关于动态时间扭曲(DTW)的一些建议。

我有一个Python脚本,并从各种长度的.WAV文件中提取Mel-Frequency倒谱系数(MFCC)特征向量。特征向量是包含12个MFCC的阵列的不同长度的阵列。

例如,一个.WAV文件可以由包含10组12个特征向量的阵列表示,而另一个.WAV文件可以由包含20组12个特征向量的一个阵列表示。

我打算用DTW比较两个数组的数组,但我不确定如何。我理解DTW的概念,如果数组中包含的特征向量是单个数字,那么实现它是没有问题的,我的困惑是由于它们是数组。

Tl;博士:如何使用DTW比较两个阵列阵列?

编辑:我读过this问题无济于事。

非常感谢,亚当

答案

有一个nice tutorial on DTW here

我已经在十几篇论文中做过这一点,请参阅zebra finch example here

一个关键的事情需要注意。您可能只想将一个特征向量与相应的特征向量进行比较。使用全部12种是很有用的。

另一答案

here有一个非常好的例子。

在python中使用DTW包,可以计算两个Mel频率倒谱系数(MFCC)特征向量之间的DTW。

虽然看起来他们在教程中使用了相同长度的音频,但它可以使用可变长度的音频。

换句话说,我的阵列是(3183,12)和(3130,12)形状,它工作得很好。

即使我完全不了解你的目的,我认为最好分别计算每个系数的DTW。

在这种情况下,您可以使用this示例。

如果你正在尝试进行语音识别,here就是另一个例子。

以上是关于将MFCC特征向量与DTW进行比较的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中提取 MFCC 特征

如何合并 MFCC

语音识别基于结合mfcc和lpc特征SVM支持向量机实现中英语种识别matlab源码

语音识别基于结合mfcc和lpc特征SVM支持向量机实现中英语种识别matlab源码

什么是特征值和特征向量

怎么求特征向量