如何将声音输入与预定声音进行比较?

时间:2011-11-07 11:24:55

标签: audio signal-processing

详细说明:

假设我在我的吉他上弹G,我的声卡已经输入了。如何让我的电脑认识到它是G? (对编程语言没有限制,但更喜欢Python或C)(链接到文章或某些想法会有所帮助。没有代码片段)

3 个答案:

答案 0 :(得分:1)

Goertzel滤波器和FFT都不是良好的音高估计器。 FFT是一个频率估计器,峰值频谱频率与心理声学音调不同(由于感知奇怪和实际乐器的物理特性,如缺失或弱基础)。

在stackoverflow上搜索音高估计算法。有一堆。

答案 1 :(得分:0)

使用快速傅里叶变换。以下是一些代码:http://www.codeproject.com/KB/audio-video/FftGuitarTuner.aspx

答案 2 :(得分:0)

如果您只想检查几个频率,Goertzel algorithm可能更容易实现。 (并且在运行时更快)