2011-11-07 71 views
8

詳細說明:如何將聲音輸入與預先確定的聲音進行比較?

假設我在我的吉他上彈奏G,並且我的聲卡已經輸入了聲音。如何讓我的電腦認出它是G? (對編程語言沒有限制,儘管更喜歡Python或C)(鏈接到文章或某些想法會有所幫助,無代碼片段)

+2

與預先確定的聲音比較並不是音高識別是如何完成的。可憐的頭銜。 – hotpaw2

回答

1

Goertzel濾波器和FFT都不是很好的音調估計器。 FFT是一個頻率估計器,峯值頻譜頻率不同於心理聲學音調(由於感知怪異和實際樂器的物理性質,例如缺失或弱的基本原理)。

在音樂音高估計算法的stackoverflow上搜索。有一堆。

+0

從你的經驗來看,哪種算法在逼近你提到的非常心理聲學音調方面最好? –

+0

你可能想問這是另一個更好的問題。這可能取決於您的要求和限制的細節。 – hotpaw2

0

如果你只想檢查一些頻率,Goertzel algorithm可能會更容易實現。 (並且在運行時更快)