1
即時通訊工作在輸入嗡嗡聲的旋律(音調輪廓)提取。我試圖實現praat使用的算法。該算法使用自相關來獲得候選f0。我設法從原始音頻(wav)創建幀(段)的自相關。但是現在我陷入了從自相關中提取候選f0(最大值)的困境。在praat中,他們使用布倫特算法提取至少4個候選f0。有人可以幫助我實施布倫特算法從自相關中提取最大值。謝謝!!!基本頻率提取
即時通訊工作在輸入嗡嗡聲的旋律(音調輪廓)提取。我試圖實現praat使用的算法。該算法使用自相關來獲得候選f0。我設法從原始音頻(wav)創建幀(段)的自相關。但是現在我陷入了從自相關中提取候選f0(最大值)的困境。在praat中,他們使用布倫特算法提取至少4個候選f0。有人可以幫助我實施布倫特算法從自相關中提取最大值。謝謝!!!基本頻率提取
布倫特的算法是一個尋根算法。因此,爲了找到自相關的最大值,我建議計算一階導數(使用Matlab的diff()
函數),然後在這個序列中找到根。根的位置應該是自相關的最大值或最小值。
關於布倫特算法本身:Matlab實現可在German Wikipedia。