我正在尝试使用 C++ 进行实时音高检测。我正在测试一些来自高性能(http://performous.org/)的代码,因为其他一切都对我不起作用。我肯定知道这行得通,但我就是不能让它工作。我已经尝试了几个星期,但我无法让任何音高检测代码正常工作。
问问题
22917 次
3 回答
11
与其使用来自麦克风的输入,不如创建已知单一频率的数据并通过程序运行它,看看它是否能得到正确的结果。然后你可以给它添加谐波,看看它是否有效。现实世界的数据对于初始测试来说太可变了。
于 2009-09-24T13:16:00.963 回答
1
Performous 音频代码有一些优化、频率限制和启发式,使其仅适用于唱歌(和其他类似的音调)。最佳范围约为 80-600 Hz。
于 2010-01-23T15:56:19.540 回答
1
C/C++/Obj-C 实时算法从人声输入中确定音符(不是音高)
检查此链接上接受的答案。
我已经搜索了这个问题的答案,这是我找到的最有用的资源。
似乎 Performous 使用了这种算法,但很难从 Performous 代码中看出
编辑:我终于管理了一个可行的解决方案。如果有兴趣给我发电子邮件 sunfish|gmail|c0m
于 2010-11-19T01:10:23.737 回答