2010-01-30 27 views
1

我想使用動態時間扭曲來比較兩個錄音的兩個特徵向量(當然,我正在做所有必要的預處理)。我的程序應該以百分比輸出兩個錄音的相似度。例如100%意味着兩個錄音完全相同,錄音越不同,我得到的數字就越少。我如何解決它? DTW僅給出了路徑的長度或轉換的成本,我不知道如何將這些數字中的一個轉換爲百分比值。動態時間扭曲比較兩個錄音

回答

5

我不知道用百分比衡量的信號之間的任何距離度量。如果有100%的含義,那麼一定有0%的含義。所以首先你需要問自己:0%是什麼意思?

對於DTW,我敢肯定沒有建立最小距離到「百分比匹配」的轉換。如果必須的話,那麼您需要定義一個啓發式數量,它是最小DTW距離的函數。

編輯:其實,如果你有兩個有限長度的錄音,你可以定義一個最長的距離。那將是一條路徑的距離(如果查看成本矩陣的話),然後一直向下,或者一路向下,然後是正確的。最佳路徑,即完美匹配,沿主對角線向下。一個簡單的想法:如果使用(0,1)(1,0)(1,1)作爲候選步驟,可以使用(0,1)和(1,0)所採用的步數,作爲衡量不良的指標。這個測量值肯定有最大值和最小值,因此可以將其映射到一些理想的範圍,如0-100%。

+0

0%可能意味着記錄是無限的(DTW路徑的無限長度)。所以當然在實踐中我永遠不會得到0%。但讓我重新提出這個問題 - 我需要做什麼才能使DTW路徑的長度直接相互比較?當然,我比較的錄音長度越大,我得到的路徑越長。 – pako 2010-02-09 13:33:01

+0

所以我不能直接使用DTW路徑的長度來爲用戶提供基於百分比的等級。我需要一些方法來標準化所產生的路徑的長度。有任何想法嗎? – pako 2010-02-09 13:41:56

+0

感謝您的重新安排。請參閱編輯。 – 2010-02-09 17:44:49