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 | 解釋音素與詞位的關聯情況 |