对于用户歌唱的实时音高检测,FFT和自相关 得不到好的结果。我找不到C / C++方法。 麦克风输入数据是正确的,当使用正弦波时,结果或多或少是正确的音高。我通过从结果数组中取值,并将每个索引绘制在X轴上,将值绘制在Y轴上(两者都除以100,000,我使用OpenGL,不使用VST插件)。它看起来像随机点。如何可视化原始音频和自相关数据?
以下是一些实现音高检测的开源库: WORLD:语音分析/合成工具包。如果您的源信号是声音,这个工具包特别适用。 aubio:音频特征提取库。实现了许多音高检测算法。 Pitch detection:C++实现的一组音高检测算法。 dywapitchtrack:高质量的音高检测算法。 YIN:在单个C++源文件中实现的YIN算法的另一个实现。