将 MFCC 特征向量与 DTW 进行比较
Comparing MFCC feature vectors with DTW
我正在寻找有关动态时间扭曲 (DTW) 的建议。
我有一个 Python 脚本,可以从各种长度的 .WAV 文件中提取梅尔频率倒谱系数 (MFCC) 特征向量。特征向量是不同长度的数组,其中包含 12 个 MFCC 的数组。
例如,一个 .WAV 文件可以由包含 10 组 12 个特征向量的数组表示,而另一个 .WAV 文件可以由包含 20 组 12 个特征向量的数组表示。
我打算使用 DTW 来比较两个数组的数组,但我不确定如何。我理解 DTW 的概念,如果数组中包含的特征向量是单个数字,那么实现它就没有问题,我的困惑是因为它们是数组。
Tl;dr:如何使用 DTW 比较两个数组数组?
编辑:我已阅读 this 个问题,但无济于事。
非常感谢,
亚当
我在十几篇论文中都这样做过,参见zebra finch example here
需要注意的关键事项。您可能只想将一个特征向量与相应的特征向量进行比较。难得把12个都用起来有用。
here 中有一个很好的例子。
使用python中的DTW包,您可以计算两个梅尔频率倒谱系数(MFCC)特征向量之间的DTW。
尽管看起来他们在教程中使用了相同长度的音频,但它在使用可变长度音频时效果很好。
换句话说,我的数组是 (3183, 12) 和 (3130, 12) 的形状,而且工作得很好。
即使我不完全理解你的目的,我认为最好为每个系数单独计算 DTW。
在这种情况下,您可以使用 this 示例。
如果您正在尝试进行语音识别,here 是另一个示例。
我正在寻找有关动态时间扭曲 (DTW) 的建议。
我有一个 Python 脚本,可以从各种长度的 .WAV 文件中提取梅尔频率倒谱系数 (MFCC) 特征向量。特征向量是不同长度的数组,其中包含 12 个 MFCC 的数组。
例如,一个 .WAV 文件可以由包含 10 组 12 个特征向量的数组表示,而另一个 .WAV 文件可以由包含 20 组 12 个特征向量的数组表示。
我打算使用 DTW 来比较两个数组的数组,但我不确定如何。我理解 DTW 的概念,如果数组中包含的特征向量是单个数字,那么实现它就没有问题,我的困惑是因为它们是数组。
Tl;dr:如何使用 DTW 比较两个数组数组?
编辑:我已阅读 this 个问题,但无济于事。
非常感谢, 亚当
我在十几篇论文中都这样做过,参见zebra finch example here
需要注意的关键事项。您可能只想将一个特征向量与相应的特征向量进行比较。难得把12个都用起来有用。
here 中有一个很好的例子。
使用python中的DTW包,您可以计算两个梅尔频率倒谱系数(MFCC)特征向量之间的DTW。
尽管看起来他们在教程中使用了相同长度的音频,但它在使用可变长度音频时效果很好。
换句话说,我的数组是 (3183, 12) 和 (3130, 12) 的形状,而且工作得很好。
即使我不完全理解你的目的,我认为最好为每个系数单独计算 DTW。
在这种情况下,您可以使用 this 示例。
如果您正在尝试进行语音识别,here 是另一个示例。