我想用ruby構建語音識別引擎。我知道我永遠不會到達那裏,只是爲了好玩。我需要獲取存儲在wav文件中的聲音頻率的數據,以便與我想要識別的具有不同聲音的數據進行比較。 我會在ruby中編寫代碼,但是我不認爲有任何用Ruby編寫的庫,如果有的話它們會太慢。 關於ruby的好處是我可以通過IronRuby或Java通過Jruby爲.net使用庫。 我怎樣才能得到頻率數據?如何從wave文件中獲取音頻數據?
3
A
回答
3
波形文件不是太複雜,實質上它只是一系列音頻樣本:http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html。
一旦您可以讀取樣本,下一步就是通過FFT轉換來運行它們,以便獲取頻率內容。應該有一些可以使用的開源實現,或者你可以自己實現一個。
你所要做的事情需要對信號處理背後的音頻和數學有所瞭解,所以也許你會想從一本關於這個主題的書開始。
0
您應該閱讀一些關於說話人識別的論文。而且你也可以在因特網上找到許多庫來解決這個問題。 要建立一個說話人識別系統(可以識別系統或驗證系統),你需要:
好音頻功能(你想找到的東西,將描述你有每個揚聲器明確地聲音數據集)中,大多數音頻特徵是在分類術語頻譜上提取的(這意味着對信號應該靜止的音頻信號的小幀採取的信號進行FFT處理)。但我們從不將頻譜本身(FFT的對數)作爲描述符(頻譜中太多無用的信息)。描述某人的聲音最重要的是頻譜的包絡。你一定要看一下名爲MFCC的音頻描述符(對於Mel頻率倒譜系數),這是廣泛用於揚聲器識別任務的音頻特徵的動機。
那麼你還需要一個好的分類器(類似於GMM,SVM ...),因爲這個問題是使用監督機器學習算法解決的。基本上,您需要爲每個想要識別的揚聲器訓練模型,然後使用尚未用於訓練的數據測試模型。該模型
相關問題
- 1. 從音頻文件中提取數據
- 2. 如何從聲音文件(mp3)中獲取音頻源?
- 3. Wave文件 - 處理特定的音頻數據塊
- 4. 如何讀取MP3文件,從音頻中分離元數據?
- 5. 如何從mp3文件中提取音頻數據?
- 6. 如何獲取從視頻文件中提取的音頻文件的音頻級別?
- 7. 如何從rtp數據包獲取音頻數據...?
- 8. 如何從Wave Out捕獲PCM數據
- 9. 從PCM數據獲取音頻信息
- 10. 從Google Assistant獲取音頻數據
- 11. 從意圖獲取音頻數據
- 12. 獲取音頻數據從麥克風
- 13. 使用NAudio從MP3文件獲取音頻數據
- 14. 如何獲取音頻路徑播放音頻文件?
- 15. 從存儲獲取音頻文件
- 16. 從音頻文件獲取字節流?
- 17. 從MIDI文件獲取音符數據
- 18. 如何從YouTube視頻中接收/獲取音頻/視頻數據?
- 19. 如何獲取Wave Wave的Wave ID和Wave ID的內容?
- 20. 如何從java中的音頻文件中提取數字值
- 21. 從python的音頻文件中提取音頻頻譜
- 22. 從android錄音文件中獲取頻率和音高
- 23. 從視頻和音頻文件中提取語音的文本
- 24. 如何使用python從視頻文件中提取音頻?
- 25. 如何使用音頻文件服務獲取音頻文件的原始數據?
- 26. 如何從音頻文件中提取MDCT係數?
- 27. 如何從Macbook麥克風獲取音頻數據?
- 28. 從文件選取器獲取音頻文件Uri
- 29. 如何從SD卡獲取所有的音頻文件android
- 30. 如何從android中的SDcard獲取路徑爲音頻,視頻,圖像,文件?
+1,專門爲最後的建議 – leonbloy 2010-04-25 02:26:23