2011-11-07 47 views
8

详细说明:如何将声音输入与预先确定的声音进行比较?

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

+2

与预先确定的声音比较并不是音高识别是如何完成的。可怜的头衔。 – hotpaw2

回答

1

Goertzel滤波器和FFT都不是很好的音调估计器。 FFT是一个频率估计器,峰值频谱频率不同于心理声学音调(由于感知怪异和实际乐器的物理性质,例如缺失或弱的基本原理)。

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

+0

从你的经验来看,哪种算法在逼近你提到的非常心理声学音调方面最好? –

+0

你可能想问这是另一个更好的问题。这可能取决于您的要求和限制的细节。 – hotpaw2

0

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