我已经提取了13个两个话语的MFCC特征。为第一个发音设置的特征大小为11 * 13,其他为18 * 13。那么,如何比较两个特征集合来找出这两个词之间的相似性呢?如何比较两个MFCC特征向量或两个语音话语的MFCC特征向量之间的相似度
我没有使用任何分类器,如果有人知道,标准工具遵循哪种算法以比较MFCC特征向量。请给我建议,以便我可以实施它。
我已经提取了13个两个话语的MFCC特征。为第一个发音设置的特征大小为11 * 13,其他为18 * 13。那么,如何比较两个特征集合来找出这两个词之间的相似性呢?如何比较两个MFCC特征向量或两个语音话语的MFCC特征向量之间的相似度
我没有使用任何分类器,如果有人知道,标准工具遵循哪种算法以比较MFCC特征向量。请给我建议,以便我可以实施它。
的算法来比较不同长度的两个序列被称为“动态时间规整”,你可以在维基百科找到了广泛的描述:
http://en.wikipedia.org/wiki/Dynamic_time_warping
有很多可用的参考实现,以及在不同的语言。
你可以在matlab中试试下面的代码。 对于2波采取mfcc后,让我们假设对于第一波mfcc1和第二波是mfcc2。 的代码是:
mfcc1=mfcc1';
mfcc2=mfcc2';
M=simmx(mfcc1,mfcc2);
[p,q,c]=dp(1-M);
v=c(size(c,1),size(c,2))
拷贝过去的代码,并运行具有MFCC值作为mfcc1和mfcc2,
我用DTW逻辑,我采取了MFCC的逆,然后我把相似性矩阵,我发现成本最低的路径。 如果它完全匹配 ,并且它的接近匹配u值将接近零值,则值将为0 。我希望这会有所帮助。 谢谢....
为什么'1-M'?你为什么要采用'c'的最后一个元素? – Jahid 2016-11-29 18:55:22
如何在python中做同样的事情? – 2018-01-24 14:05:41
你是否实现了它? – 2018-01-18 21:06:30