基频提取

时间:2012-09-02 15:38:21

标签: matlab

我正在研究输入嗡嗡声的旋律(音高轮廓)提取。我试图实现praat使用的算法。该算法使用自相关来获得候选f0。我设法从原始音频(wav)创建一个帧(段)的自相关。但是现在我一直在从自相关中提取候选f0(最大值)。在praat中,他们使用brent算法提取至少4个候选f0。有人可以帮我实现brent算法从自相关中提取最大值。谢谢!!!

1 个答案:

答案 0 :(得分:1)

布伦特算法是一种寻根算法。因此,为了找到自相关的最大值,我建议计算一阶导数(使用Matlab的diff()函数),然后在此序列中找到根。根的位置应该是自相关的最大值或最小值。

关于布伦特算法本身:German Wikipedia中提供了Matlab实现。