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

Ale*_*ara -1 python audio matlab matrix librosa

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

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

dpw*_*pwe 5

总成本是最优路径上最后一点的累积成本,所以:

D, wp = librosa.dtw(X, Y)
best_cost = D[wp[-1, 0], wp[-1, 1]]
Run Code Online (Sandbox Code Playgroud)

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