kaldi源碼分析(二)-數據準備-shell level

kaldi數據準備

聲學模型數據準備

詞彙表中不一定包含text中出現的詞彙,詞彙表中沒有的詞彙被寫入lang/oov.txt 文件中(lang/oov.int 文件爲其 SPN 的數字形式,從 words.txt 中提取)。

文件名稱 內容格式
text < uttid > < word >
wav.scp < uttid > < utter_file_path >
utt2spk < uttid > < speakid >
feats.scp < uttid > <extended-filename-of-features>
spk2utt < speakid > < uttid >
segments <uttid> <recid> <segbegin> <segend>

上文中標記說明:

標記名稱 說明
utterance-id 發音編號, 可以是任意的文本字符串,唯一性
speaker-id 說話人編號, 常作爲發音編號的前綴
record-id 和在“wav.scp”中使用的是同一個標識字符串, 與 uttid 一樣
word.txt 單詞列表
segment-begin/segment-end 以秒爲單位。它們指明瞭一段發音在一段錄音中的時間偏移量

發音詞典數據準備

在進行準備發音詞典L.fst之前,首先要生成發音詞典的TXT形式
在文件中,SIL靜音 SPN口語噪聲 NSN非口語噪聲 LAU笑聲

文件 文件內容
lexicon.txt 根據word.txt,生成word對應的發音字典文件,對應格式爲 word phone phone…
silence_phones.txt 靜音音素
optional_silence.txt 一個單獨的音素,用來作爲字典中默認的靜音音素
nonsilence_phones.txt 非靜音音素
extra_questions.txt 用於構建決策樹的問題集,由靜音音素和非靜音音素生成
lexiconp.txt 帶概率的發音字典文件,格式爲word prob phone phone phone…

通過utils/prepare_lang.sh將詞典生成爲L.fst。文件 L.fst 是 FST 形式的發音詞典, 其中輸入是音素,輸出爲詞

以下樹形結構爲使用 utils/prepare_lang.sh生成的文件結構。

Usage: utils/prepare_lang.sh \<dict-src-dir> \<oov-dict-entry> \<tmp-dir> \<lang-dir>

data/lang
	├── L_disambig.fst
	├── L.fst
	├── oov.int
	├── oov.txt
	├── phones.txt
	├── topo
	├── words.txt
	└── phones
	    ├── align_lexicon.int
	    ├── align_lexicon.txt
	    ├── context_indep.csl
	    ├── context_indep.int
	    ├── context_indep.txt
	    ├── disambig.csl
	    ├── disambig.int
	    ├── disambig.txt
	    ├── extra_questions.int
	    ├── extra_questions.txt
	    ├── nonsilence.csl
	    ├── nonsilence.int
	    ├── nonsilence.txt
	    ├── optional_silence.csl
	    ├── optional_silence.int
	    ├── optional_silence.txt
	    ├── roots.int
	    ├── roots.txt
	    ├── sets.int
	    ├── sets.txt
	    ├── silence.csl
	    ├── silence.int
	    ├── silence.txt
	    ├── wdisambig_phones.int
	    ├── wdisambig.txt
	    └── wdisambig_words.int
文件 文件內容
L.fst & L_disambig.fst FST形式的發音字典
words.txt 爲訓練數據和測試數據分詞之後,和起來的所有去重之後的詞
phones.txt 根據lexicon生成的所有的音素集合
topo 文件指明 HMM 模型拓撲結構
oov.txt 映射詞彙表之外的詞爲一個“垃圾音素”,該音素會與口語噪聲對齊。SIL靜音 SPN口語噪聲 NSN非口語噪聲 LAU笑聲
oov.int SPN的數字形式(從words.txt中提取)

phones目錄下的文件內容

文件 文件內容
phones.txt&words.txt 符號表文件,音素符號的文本形式和數字形式
phones 包含音素集合的各種信息,分別爲三個版本(.txt .int數字 .csl列表)
phones/align_lexion.txt
phones/context_indep.txt 包含所有音素的一個列表,用於建立文本無關的模型
phones/disambig.txt 包含所有用於消除歧義的符號的列表
phones/extra_questions.txt 包含那些自動產生的問題集之外的一些問題
phones/nonsilence.txt 包含非靜音音素列表
phones/optional_silence.txt 含有一個音素,在需要的時候出現在詞之前
phones/sets.txt 包含一系列的音素集,在聚類音素時被分組(被當做同一個音素),以便建立文本相關問題集
phones/silence.txt 包含靜音音素列表
phones/word_boundary.txt 解釋音素與詞位的關聯情況
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章