2012-12-23 161 views
2

我已經搜索了很多,沒有成功解決我的問題。我需要識別wav文件中的撥號音或直接從麥克風識別撥號音,或者更好地檢測:是否線路(直接連接到音頻卡的線路輸入)是空閒的。從麥克風或音頻文件識別撥號音

在我的國家(意大利)撥號音是425赫茲的聲波。我的想法是從麥克風2s錄音註冊到wav文件,然後加載數據並應用離散FFT,然後在結果中搜索該頻率。然而,我不知道該編碼什麼。

我有一些問題: 1)DFT庫使用 2)字節和雙之間的轉換 3)轉換完成之後,如何從複雜陣列檢測所述所需頻率是本

代碼示例是受歡迎的!

預先感謝您!

+0

我認爲你是在正確的軌道上。 [這正是我如何實現它] – MrSmith42

+1

FFT可能是矯枉過正,數字帶通濾波器似乎更容易實現。 – Henry

回答

2

檢測是否存在特定色調的最簡單方法是Goertzel Filter。這實際上只是在感興趣的頻率上評估DFT,比評估一個完整的FFT然後丟棄除一個輸出箱以外的所有元件都要簡單得多,而且計算量更小。

關於使用Goertzel算法進行音頻檢測,有許多關於SO的問題和答案,例如, DTMF檢測 - 你可能想研究其中的一些,因爲它們包含有用的信息和示例代碼。

+1

是的,非常好的方法!謝謝! –