Tag: 音高跟踪

自相关通过麦克风输入返回随机结果(使用高通滤波器)

很抱歉问我之前问过的问题 ( FFT问题(返回随机结果) ),但我查找了音高检测和自相关,并找到了一些使用自相关进行音高检测的代码。 我试图做一个用户唱歌的音高检测。 问题是,它不断返回随机结果。 我从http://code.google.com/p/yaalp/获得了一些代码,我已将其转换为C ++并进行了修改(如下)。 我的采样率是2048,数据大小是1024.我正在检测正弦波和麦克风输入的音高。 正弦波的频率为726.0,并且检测到它为722.950820(即可),但是它检测到麦克风的音高为从100到1050左右的随机数。 我现在使用高通滤波器来消除DC偏移,但它不起作用。 我做得对吗,如果是的话,我还能做些什么来解决它? 任何帮助将不胜感激! (固定) 谢谢, 尼尔。 编辑:更改了代码以实现截止频率为30hz的高通滤波器(来自什么是高通滤波器和低通滤波器?) ,任何人都可以告诉我如何使用卷积转换为高通滤波器?)但它仍然返回随机结果。 不幸的是,将它插入VST主机并使用VST插件来比较频谱不是一个选项。 编辑:修复,感谢大家的帮助,但我从来没有让它工作,现在使用新的代码。