2012-10-22 138 views
1

在話筒有時,開始流動聲音定義頻率(500hz)。我怎麼知道信號何時開始傳到麥克風?爲了解決這個問題,我知道我需要使用FFT(快速傅里葉變換)。但我不明白,FFT頻率後應該如何拍攝?我在C#上使用NAudio。我的麥克風緩衝區是字節數組。聲音的FFT頻率

+0

如果你在500點赫茲的音調,你也可以使用autocorellation,哪一個更容易掌握大多數人嚴格感興趣。 http://en.wikipedia.org/wiki/Autocorrelation – Simon

回答

1

確定何時信號被採樣到緩衝器是一個programatical問題。

即無關確認哪些採樣信號的頻率內容(使用FFT)。看到我的回覆您的其他問題...

2

對此使用FFT是矯枉過正,不是特別合適。這種問題(音調檢測/開始檢測)的更簡單的解決方案是Goertzel filter

1

狹窄的IIR帶通濾波器跟着包絡檢測器可能是一種可能的嘗試方法。如果您知道音調突發的上升時間,另一個嘗試可能是匹配濾波器的互相關。您還必須校準音頻輸入信號路徑的延遲。