我想制作一个程序来检测麦克风前演奏的音符。我正在测试 Naudio 的 FFT 功能,但根据我大胆进行的测试,FFT 似乎无法正确检测音调。我玩的是C5,但最高的选择是E7。
我将频率分析窗口中的第一个下拉框更改为“增强自相关”,之后最高选择位于 C5。
我在谷歌上搜索了“增强自相关”,但没有成功。
最佳答案
您可能会被谐波困扰。您是否尝试过使用正弦波进行测试,看看您的 NAudio 的 FFT 是否在标准范围内?
请参阅这些引用资料: http://cnx.org/content/m11714/latest/
http://www.gamedev.net/community/forums/topic.asp?topic_id=506592&whichpage=1�
Audacity 源代码中Spectrum.cpp
中的 第 48 行似乎接近您想要的内容。他们还引用了 IEEE paper by Tolonen and Karjalainen .
关于c# - 如何在.Net 中进行实时音高检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4236475/