我正在使用 Unity3D 进行音高检测项目。我对编码、统一以及我目前正在处理的几乎所有其他事情都很陌生!:-) 我遇到了这个网页,它帮助我开始并在我的项目中使用 FFT 代码:
http://www.kaappine.fi/tutorials/fundamental-frequencies-and-detecting-notes/
它大部分工作得非常好,但是检测到的频率似乎因我使用的计算机而异。我已经在各种台式机和笔记本电脑(pc 和 mac 的混合)上尝试过它,在某些计算机上它可以拾取正确的频率,但在其他计算机上它给了我大约 100 的频率。1.5个半音平坦。有趣的是,在我尝试过的 6 台计算机中,有 3 台是正确的,另外 3 台都是相同的 1.5 个半音。
这不能归结为麦克风,因为我在某些计算机上尝试了内置麦克风以及单独的麦克风,结果没有变化。
有谁知道这可能是什么原因以及我如何解决这个问题?我可以对代码进行任何调整吗?我正在从事的项目最终将作为 iPhone 应用程序分发,因此我需要它能够跨设备普遍工作。
顺便说一句,我目前只能使用 C# 编程语言。
非常感谢您的任何帮助和建议
最良好的祝愿
菲尔