(四)看看成果


下圖是一開始告訴大家的,語音識別的流程。

現在,我們已經完成了HMM模塊了。

所以我們只要錄音就可以被識別了!!!

以下是完整的識別流程圖:

(1)wav文件:錄音文件。

(2)mfc文件:wav文件格式轉換后可得。

(3)HMM:之前的工作就是為了得到這個。

 

話不多說,開始吧!

 

1、錄音:

我錄了7個測試音頻文件,都放在/home/ansersion/htk_color/data/test/speech/目錄下,分別為

(1)red.wav:“red“(我的聲音)

(2)blue.wav:”blue"(我的聲音)

(3)red_other.wav:“red"(同學的聲音)

(4)blue_other.wav:“blue"(同學的聲音)

(5)yellow_other.wav:"yellow"(同學的聲音)

(6)null.wav:空錄了一段

(7)pikapika.wav:“pikapika"(”皮卡丘“的聲音(勿噴))

 

2、wav文件轉mfc文件(類似的步驟之前做過,還有沒有印象呢?):

(1)手動編輯“轉換清單”codetest.scp,並置於config目錄下,內容如下(注:博客顯示可能有問題,真實的排版為下圖,如果兩者一樣請忽略

/home/ansersion/htk_color/data/test/speech/red.wav              /home/ansersion/htk_color/data/test/mfc/red.mfc
/home/ansersion/htk_color/data/test/speech/blue.wav             /home/ansersion/htk_color/data/test/mfc/blue.mfc
/home/ansersion/htk_color/data/test/speech/red_other.wav        /home/ansersion/htk_color/data/test/mfc/red_other.mfc
/home/ansersion/htk_color/data/test/speech/blue_other.wav       /home/ansersion/htk_color/data/test/mfc/blue_other.mfc
/home/ansersion/htk_color/data/test/speech/yellow_other.wav     /home/ansersion/htk_color/data/test/mfc/yellow_other.mfc
/home/ansersion/htk_color/data/test/speech/null.wav             /home/ansersion/htk_color/data/test/mfc/null.mfc
/home/ansersion/htk_color/data/test/speech/pikapika.wav         /home/ansersion/htk_color/data/test/mfc/pikapika.mfc

(2)wav文件轉換成mlf文件:

HCopy -T 1 -C ./config/config_HCopy -S ./config/codetest.scp

此后,data/test/mfc目錄會生成red.mfc; blue.mfc; red_other.mfc; blue_other.mfc; yellow_other.mfc; null.mfc; pikapika.mfc;

3、識別咯,識別咯!

(1)手動編輯test.scp,指定了要識別的文件,並置於config目錄下,內容如下(其實就是codetest.scp的“右半邊內容”):

/home/ansersion/htk_color/data/test/mfc/red.mfc
/home/ansersion/htk_color/data/test/mfc/blue.mfc
/home/ansersion/htk_color/data/test/mfc/red_other.mfc
/home/ansersion/htk_color/data/test/mfc/blue_other.mfc
/home/ansersion/htk_color/data/test/mfc/yellow_other.mfc
/home/ansersion/htk_color/data/test/mfc/null.mfc
/home/ansersion/htk_color/data/test/mfc/pikapika.mfc

(2)識別,並將識別結果存入recout_step7.txt文件:

HVite -H ./hmm7/macros -H ./hmm7/hmmdefs -C ./config/config_color -S ./config/test.scp -l '*' -i ./results/recout_step7.txt -w ./config/wordnet -p 0.0 -s 5.0 ./dict/dict_color ./lists/monophones

 

以下是我的recout_step7.txt文件:

 

從以上結果可以看到,red.rec,blue.rec,red_other.rec,blue_other.rec只是的識別結果都是對的。

yellow_other.rec被識別成了RED---->所以說各人的語音習慣有別嘛。

null.rec被識別成了BLUE---->這個肯定不對,不過我也只規定了三種識別結果嘛。

pikapika.rec被識別成了YELLOW----->要是真被識別成“皮卡丘”,那我也是醉了……不過,在你稍微理解了整個流程之間的邏輯關系后,這個還真的可以有!

 

HTK Book涉及內容:

Chapter 3: 3.4.1 Step 11 - Recognising the Test Data


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM