我正在制作一个需要捕捉吉他声音频率的程序。我修改了aurioTouch示例,使用最高幅度的频率输出频率。它适用于高音符,但在低音弦上非常不准确。我相信这是由于泛音。我研究了如何解决这个问题的方法,例如倒谱分析,但我对如何在示例代码中实现这一点感到迷茫,因为它不清楚并且很难在没有注释的情况下遵循。任何帮助将不胜感激,谢谢!
答案 0 :(得分:4)
正如您所发现的,音乐音高与峰值频率不同。
但是在尝试使用实时音频时尝试研究算法并不容易。
我建议你把问题分开。将Mac上的一些音乐声音(吉他弹奏等)录制成原始声音文件。在这些记录的样本集上尝试您选择的音高估计算法。然后,在您完成此工作后,找出如何将代码集成到iOS音频和加速(用于FFT)框架中。