2012-08-12 92 views
0

我的工作/研究用於教育目的的一個項目的想法,並希望做有關語音識別的,沒有什麼太大的項目只是一個介紹,讓我開始在外地。基本上,項目和算法會接受(.wav)文件的輸入,然後確定說話的人是說「是」還是說「不」。我正在尋找使用線性預測編碼。語音識別 - 線性預測編碼

基本上,在我的腦海,我想下面的算法:

  1. 閱讀在.WAV(原始數據)爲載體
  2. 斯普利特矢量分成大小相同的塊
  3. 處理特定特性
  4. 每塊查找其模型是最有可能匹配到其生產的手機的串詞。

然後我想使用相似性度量,例如相關來找到正確的手機。

所以,基本上,數據文件被讀入後,並分割成塊。應該/將包含類似:

rawdata = 

[0] => 'Y', 
[1] => 'E', 
[2] => 'S' 

或將要包含然後可以進行比較的頻率結果與電話。

我的問題是,這是否看起來像一個好的算法來工作過解決問題..

我的下一個問題:

當我嘗試在一個.wav文件讀入內存中,我得到(類)下面的結果..

20 30 10 30 40 50 .. 20 20 .. 10 20 .. 60 40 
10 20 30 40 50 60 ... .. . . . . 

他們都是整數值,所以,一旦我已經採取了所有的報頭信息。該數據的其餘部分是什麼,我需要轉換成正確的媒體然後這是數據..?我有點困惑。

希望有人能幫助我,而且,我已經正確寫入問題出來了。謝謝。

+0

爲什麼我得到負面反饋?!?那怎麼不清楚?上帝 – Phorce 2012-08-12 22:26:11

+0

因爲你的問題過於寬泛。 – orlp 2012-08-12 22:28:46

+0

ok ....我放棄 – Phorce 2012-08-12 22:39:32

回答

0

如果你wan't我看來,不,這不是一個好的算法。

所有的人先用不同的速度的話,就發音不同速度的字符了。你不能隨意切分你的輸入數據。

其次,要得到一些不錯的成績,你需要減少輸入的噪音大幅下降。你需要專注於人類語音使用的頻率。然後,你需要首先識別元音,然後嘗試猜測這個詞,然後你需要一些真實的數據。你可能不會得到任何可用的。

回答你關於waw文件的問題,那是頭文件+數據,我不知道頭文件,但是因爲waw是一個古老的格式,所以它不會很難得到一些文檔。

數據部分是整數值的陣列,在一個給定時刻的聲音的強度。對於44 kHz waw文件,每秒測量44 000次,並存儲。它只是原始數據,根本沒有壓縮(曾經有人懷疑爲什麼waw文件非常龐大?)除了頭部,它告訴你採樣率和整數類型(通常是16位)等等。

您可以分析這些龐大的數據以獲取有關使用頻率的一些信息,但在開始之前,您應該真正研究聲音和一切的數學。哎呀,即使我不確定我能寫些什麼,大約一半的時間能夠成功識別3個字母的單詞。

+0

嘿,謝謝你的回覆。我發現將樣本分成了相同的部分:http://www.cs.dartmouth。 edu /〜dwagn/aiproj/speech.html他的算法/實現似乎工作..我只是想要做不同的事情,並使用線性預測編碼over zerocrossing .. – Phorce 2012-08-12 23:00:46