语音辨认概论.ppt

语音辨认概论

HTK Introduction 數據準備 step1 : the Task Grammar step2 : the Dictionary step3 : Recording the Data step4 : Creating the Transcription Files step5 : Coding the Data 建立單聲道的HMM模型 step6 : Creating Flat Start Monophone step7 : Fixing the Silence Models step8 : Realigning the Training Data 建立聯繫狀態的三音素HMM模型 step9 : Making Triphones from Monophones step10 : Making Tied-State Triphones 辨別器評估 step11 : Recognising the Test Data 數據準備 需要錄製訓練數據和測試數據。為進行校準,還需要數據的標注文本。這裡用任務語法(task grammar)產生真值文本(ground truth)。為了處理訓練數據,需要定義一個語音集合和一個字典用以涵蓋訓練和測試數據中涉及的單詞。 Step 1 the Task Grammar Step 2 the Dictionary 利用BEEP語音字典,除去其中的重音符,並在每個發音後加入sp(short pause,小停頓)。如果有啞音標志,就用MP命令把sil和sp合併成sil。這些處理命令放在global.ded編輯腳本中: 執行HDMan生成與任務相關的發音詞典dict1: HDMan -m -w .\lists\wlist -n .\lists\monophones1 -l dlog .\dict\dict1 .\dict\beep .\dict\names 上面的names檔是手工製作的專有人名的發音,檔wlist是出現在任務語法中的所有單詞的有序列表,檔monophones1是用到的音素的列表,dlog為參數文件。 這裡應該手工修改dict1,為SENT-END 和SENT-START加上無輸出標誌。 為了避免在dlog裡出現wanning,那就在names和beep同一目錄下分別建立同名的編輯腳本,內容為空即可。 Step 3 Recording the Data 錄製語音資料 HSGen工具可以生成符合task grammar的句子, 用來指導錄音(sentence prompts): HSGen -l -n 140 wdnet .\dict\dict1.\labels\trainprompts HSGen -l -n 15 wdnet .\dict\dict1.\labels\testprompts 根據上述指令檔,錄製相應的140個訓練用語音 資料檔案和15個測試用語音資料檔案。 Step 4 Creating the Transcription Files 標注資料,得到真值檔 Perl腳本prompts2mlf可以把錄音文本截成單詞級真值 檔。例如: perl .\scripts\prompts2mlf .\labels\trainwords.mlf .\labels\trainprompts perl .\scripts\prompts2mlf .\labels\testwords.mlf .\labels\testprompts 標注編輯器HLEd可把 word level MLF 轉成 phone level MLF: HLEd -l * -d .\dict\dict1 -i .\labels\phones0.mlf mkphones0.led .\labels\trainwords.mlf 編輯腳本mkphones0.led的內容如下: EX命令表示按照字典dict1進行展開,IS表 示在每個話語的前後插入標誌,DE一行表 示phones0.mlf中單詞間不用sp隔開。 step5 : Coding the Data HCopy:數據文件格式的轉換 HCopy -T 1 -C config/config1 -S codetr.scp 求MFCC的參數,需要config1和codetr.scp ,求完的參數放在一個資料夾裡面。 config1:配置文件需要設置轉換參數。 codetr.scp:指定訓練及輸出輸入的文件列表,將左邊的語音數據取特徵並存

文档评论(0)

1亿VIP精品文档

相关文档