使用Librosa进行动态时间扭曲的最小距离

时间:2017-05-19 11:46:54

标签: python matlab audio matrix librosa

当使用Librosa库计算两个时间序列之间的动态时间扭曲矩阵时,如何获得两个信号之间的最小距离?在Matlab中,第一个返回的参数是这个距离。在Librosa中,返回的值是累计成本矩阵,注释“D [N,M]是总对齐成本。”

这是否意味着D矩阵的右下方是两个时间序列之间的最小距离,就像Matlab中的返回值一样?如果没有,我如何获得返回矩阵的距离?

1 个答案:

答案 0 :(得分:2)

总成本是最佳路径上最后一点的累计成本,因此:

D, wp = librosa.dtw(X, Y)
best_cost = D[wp[-1, 0], wp[-1, 1]]

根据匹配模式,路径可能不会以D[-1, -1]结束。