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

问题描述 投票:2回答:2

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

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

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

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

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

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

非常感谢,亚当

audio speech-recognition dynamic-programming mfcc dtw
2个回答
3
投票

有一个nice tutorial on DTW here

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

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


0
投票

here有一个非常好的例子。

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

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.