HTK使用方法简介(一).ppt_第1页
HTK使用方法简介(一).ppt_第2页
HTK使用方法简介(一).ppt_第3页
HTK使用方法简介(一).ppt_第4页
HTK使用方法简介(一).ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、HTK使用方法簡介(一),使用全字聲音單位(不含間隔音) 李立民,目標: 設計及製作連續數字語音辨認系統 進行語音辨認實驗 系統性能評估分析,Step 1: Feature Extraction,將實驗所需的訓練音及測試音波形檔(*.wav)轉換成特徵檔(*.mfcc) 建立一個設定檔fea_extract.cfg來指定轉換之輸入與輸出格式。 建立一個輸入與輸出檔路徑表檔案io_filelist.txt 執行HCopy -C fea_extract.cfg -S io_filelist.txt,# Coding parameters SOURCEKIND = WAVEFORM SOURCEFO

2、RMAT = WAV SOURCERATE = 1000 #10KHz TARGETKIND = MFCC_E_A_D TARGETRATE = 100000.0 # (10ms) WINDOWSIZE = 250000.0 # (25ms) ZMEANSOURCE = F USEHAMMING = T PREEMCOEF = 0.97 NUMCHANS = 26 CEPLIFTER = 22 NUMCEPS = 12 ENORMALISE = F,輸入及輸出格式設定檔 fea_extract.cfg,輸入及輸出檔路徑表 io_filelist.txt 輸入檔案路徑 輸出檔案路徑,wavS50

3、0_00.wav mfccS500_00.mfcc wavS500_01.wav mfccS500_01.mfcc wavS500_02.wav mfccS500_02.mfcc wavS500_03.wav mfccS500_03.mfcc wavS500_04.wav mfccS500_04.mfcc wavS500_05.wav mfccS500_05.mfcc wavS500_06.wav mfccS500_06.mfcc wavS500_07.wav mfccS500_07.mfcc wavS500_08.wav mfccS500_08.mfcc wavS500_09.wav mfc

4、cS500_09.mfcc wavS500_10.wav mfccS500_10.mfcc ,使用Hlist觀察特徵向量檔內容,執行 Hlist -h -o mfccS100_00.mfcc temp.txt 觀察temp.txt 內容,- Source: mfccS100_00.mfcc - Sample Bytes: 156 Sample Kind: MFCC_E_D_A_K Num Comps: 39 Sample Period: 10000.0 us Num Samples: 57 File Format: HTK - Observation Structure - x: MFCC-1

5、 MFCC-2 MFCC-3 MFCC-4 MFCC-5 MFCC-6 MFCC-7 MFCC-8 MFCC-9 MFCC-10 MFCC-11 MFCC-12 E Del-1 Del-2 Del-3 Del-4 Del-5 Del-6 Del-7 Del-8 Del-9 Del-10 Del-11 Del-12 DelE Acc-1 Acc-2 Acc-3 Acc-4 Acc-5 Acc-6 Acc-7 Acc-8 Acc-9 Acc-10 Acc-11 Acc-12 AccE - Samples: 0-1 - 0: -5.628 4.174 1.699 -3.216 -4.589 -9.9

6、42 3.245 -7.514 4.315 -6.942 -1.728 -4.513 10.109 0.224 0.128 1.119 0.065 0.770 0.565 -0.357 -0.866 -0.081 -0.587 0.995 -2.256 0.511 0.764 0.742 0.243 0.194 -0.059 -0.754 -0.393 -0.419 -0.640 0.093 0.025 0.343 0.367 1: -5.850 4.087 0.675 -4.400 -3.026 -11.016 1.422 -12.226 -1.280 -15.114 6.278 -15.3

7、67 10.593 1.654 1.737 1.957 0.505 1.100 -0.416 -1.794 -2.036 -1.792 -0.435 0.252 -1.784 1.479 0.864 0.852 0.112 0.372 -0.293 -1.167 0.028 -0.225 -0.453 0.274 -0.151 1.024 0.394,Step 2: 音檔標音並蒐集會用到的聲音單位,d0 ling d1 i d2 er d3 san d4 su d5 wu d6 liou d7 chi d8 ba d9 jiou SILENCE sil,建立標音字典 word_to_sylla

8、ble.dic 本例標音字典中每個音都會用到 用HLEd程式將 word_trans.mlf 轉成syllable_trans.mlf的標音檔 編輯轉換規則檔dig_to_syllable.led,內容含EX及IS sil sil 執行HLEd -d word_to_syllable.dic -i syllable_trans.mlf dig_to_syllable.led word_trans.mlf,word_to_syllable.dic,#!MLF!# mfcc/S5/00_00.lab sil ling sil . mfcc/S5/00_01.lab sil i sil . mfcc

9、/S5/00_02.lab sil er sil .,mfcc/S5/00_10.lab sil liou su su liou i san sil . mfcc/S5/00_11.lab sil liou ba i sil .,syllable_trans.mlf,Step 3: 建立HMM model的架構(產生初始HHM),模型架構放哪裡?造好存放初始HHM架構的目錄 mkdir model_struct del /q model_struct 系統共使用幾種架構?哪些聲音的HMM檔要使用同一種架構 為每個架構建一個 “架構設定檔”及 “模型表列檔” 注意:模型表列檔最後要有一個空白列

10、例 model_struct1.pcf , hmmlist1.txt 設定各數字音模型(6個狀態) model_struct2.pcf , hmmlist2.txt 設定靜音模型(3個狀態) 架構設定檔內含 HMM狀態數, 連接結構, 要產生哪幾個聲音的HMM檔 (HMMList欄位) 產生的HMM檔要放在哪個目錄(OutDir欄位) 執行產生各種架構HMM檔之指令,例: Perl MakeProtoHMMSet model_struct1.pcf Perl MakeProtoHMMSet model_struct2.pcf 將各個模型表列檔合併成hmmlist.txt以便將來使用,hmmli

11、st1.txt, COMMENT This PCF produces a single mixture, single stream prototype system hsKind: P covKind: D nStates: 6 nStreams: 1 sWidths: 39 mixes: 1 parmKind: MFCC_D_A_E vecSize: 39 outDir: model_struct hmmList: hmmlist1.txt ,model_struct1.pcf,hmmlist2.txt,sil,ling i er san su wu liou chi ba jiou,o

12、39 1 39 h “ling 8 2 1 1 1 1.0000 39 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 39 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1

13、.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 3 1 1 1 1.0000 39 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 39 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

14、1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 ,ling的model structure,Step 4: 計算training data的mean及variance 作為模型初值,建立訓練音路徑列表檔filelist_odd.txt 造一個模型根目錄models, 及其下子目錄hmm0hmm20以存放各階段的模型檔 mkdir models del /s /q models* for /L %m in (0,1,20) do mkdir modelshmm%m 執行下列指令

15、以將各模型檔初值放在hmm0目錄下 for /f %m in ( hmmList.txt ) do HCompV -f 0.01 -m -S filelist_odd.txt -M models/hmm0 model_struct/%m,filelist_odd.txt,mfccS501_00.mfcc mfccS501_01.mfcc mfccS501_02.mfcc mfccS501_03.mfcc mfccS501_04.mfcc mfccS501_05.mfcc mfccS501_06.mfcc mfccS501_38.mfcc mfccS501_39.mfcc mfccS503_00

16、.mfcc mfccS503_01.mfcc mfccS503_02.mfcc mfccS503_03.mfcc,mfccS500_00.mfcc mfccS500_01.mfcc mfccS500_02.mfcc mfccS500_03.mfcc mfccS500_04.mfcc mfccS500_05.mfcc mfccS500_06.mfcc mfccS500_07.mfcc mfccS500_38.mfcc mfccS500_39.mfcc mfccS502_00.mfcc mfccS502_01.mfcc mfccS502_02.mfcc,filelist_even.txt,Step

17、 5: 將各個HMM檔合併成總模型檔,造一個空的模型修改指令檔empty.hed 將各個HMM檔合併成總模型檔,取名hmmdefs HHed -d models/hmm0 -M models/hmm0 -w hmmdefs empty.hed hmmlist.txt 將vFloors定義也加進總模型檔內 HHed -H models/hmm0/hmmdefs -H models/hmm0/vFloors -M models/hmm0 -w hmmdefs empty.hed hmmlist.txt,Step 6: HMM訓練,HERest -S filelist_odd.txt -H mode

18、ls/hmm0/hmmdefs -M models/hmm1 -I syllable_trans.mlf hmmlist.txt HERest -S filelist_odd.txt -H models/hmm1/hmmdefs -M models/hmm2 -I syllable_trans.mlf hmmlist.txt HERest -S filelist_odd.txt -H models/hmm2/hmmdefs -M models/hmm3 -I syllable_trans.mlf hmmlist.txt HERest -S filelist_odd.txt -H models/

19、hmm3/hmmdefs -M models/hmm4 -I syllable_trans.mlf hmmlist.txt HERest -S filelist_odd.txt -H models/hmm4/hmmdefs -M models/hmm5 -I syllable_trans.mlf hmmlist.txt,Step 7: 建立文法規則及產生連字網路規則,建立文法規則gram.txt 執行HParse gram.txt net.txt,gram.txt,$digit = d0 |d1 | d2 | d3 | d4 |d5 |d6 |d7 |d8 |d9 ; ( SILENCE SI

20、LENCE ),net.txt,VERSION=1.0 N=15 L=33 I=0 W=SILENCE I=1 W=d9 I=2 W=!NULL I=3 W=d8 I=4 W=d7 I=5 W=d6 I=6 W=d5 I=7 W=d4 I=8 W=d3 I=9 W=d2 I=10 W=d1 I=11 W=d0 I=12 W=SILENCE I=13 W=!NULL I=14 W=!NULL,J=0 S=2 E=0 J=1 S=2 E=1 J=2 S=12 E=1 J=3 S=1 E=2 J=4 S=3 E=2 J=5 S=4 E=2 J=6 S=5 E=2 J=7 S=6 E=2 J=8 S=

21、7 E=2 J=9 S=8 E=2 J=10 S=9 E=2 J=11 S=10 E=2 J=12 S=11 E=2 J=13 S=2 E=3 J=14 S=12 E=3 J=15 S=2 E=4,J=16 S=12 E=4 J=17 S=2 E=5 J=18 S=12 E=5 J=19 S=2 E=6 J=20 S=12 E=6 J=21 S=2 E=7 J=22 S=12 E=7 J=23 S=2 E=8 J=24 S=12 E=8 J=25 S=2 E=9 J=26 S=12 E=9 J=27 S=2 E=10 J=28 S=12 E=10 J=29 S=2 E=11 J=30 S=12

22、 E=11 J=31 S=14 E=12 J=32 S=0 E=13,Step 8: 語音辨認,造一個存放辨認輸出的目錄temp mkdir temp del /q /s temp* 進行辨認 HVite -H models/hmm5/hmmdefs -S filelist_even.txt -i temprec_out.mlf -w net.txt word_to_syllable.dic hmmlist.txt 將所有用到的字,全部列在wordlist.txt檔案中 分析辨認結果 HResults -p -I word_trans.mlf wordlist.txt temprec_out.

23、mlf temp.txt 或HResults -p -I word_trans.mlf word_to_syllable.dic temprec_out.mlf temp.txt 觀看 temp.txt 檔案,#!MLF!# mfcc/S5/00_00.rec 700000 1300000 d1 -496.643860 1300000 5200000 d0 -2658.288086 . mfcc/S5/00_01.rec 700000 4400000 d1 -2432.549316 . mfcc/S5/00_02.rec 600000 3800000 d2 -2437.667236 . mfc

24、c/S5/00_03.rec 300000 2600000 d4 -1598.713013 2600000 4300000 d2 -1027.573975 4300000 6300000 d0 -1388.534790 .,temprec_out5.mlf,mfcc/S5/00_10.rec 700000 3400000 d6 -2006.830688 3400000 6100000 d4 -1892.786377 6100000 8900000 d4 -2024.623413 8900000 10800000 d6 -1416.788208 10800000 12900000 d1 -1679.094727 12900000 14200000 d4 -1006.989746 14200000 15200000 d2 -605.648376 15200000 16900000 d0 -1231.846069 . mfcc/S5/00_11.rec 700000 3200000 d6 -1839.715942 3200000 56

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论