转自:http://blog.csdn.net/dzp443366/article/details/54094950
若想用已识别的系统对你的数据解码,要重写 “数据部分”.
直接以thchs30项目为例
里面或许会有
- 1
- 2
文件”text” :包含每段语音的文字意思
每行的第一项是录音编号(utterance-id),
发音编号后面跟着的 是每段录音的标注。
文件wav.scp
这个文件的格式是
- 1
- 2
大家可以理解为是一段提取wav格式文件的命令。
文件”utt2spk”与”spk2utt”
spk2utt文件格式是:
- 1
- 2
解释:以第一行为例,讲话者为B34 他讲了B34_251 B34_254 接下来每一行如此类推
utt2spk文件格式是(spk2utt相反):
- 1
- 2
数据准备– “lang”目录
现在我们关注一下数据准备的“lang”这个目录。
进入lang目录
- 1
- 2
- 3
ps:请把phone翻译为音素
首先是有文件phones.txt和words.txt。这些都是符号表(symbol-table)文件,符合OpenFst的格式定义。其中每一行首先是一个文本项,接着是一个数字项:
phones.txt
words.txt
SPOKEN_NOISE 是噪音
文件lang/oov.txt仅仅只有一行:
s5# cat lang/oov.txt
<SPOKEN_NOISE>
在训练过程中,所有词汇表以外的词都会被映射为这个词(噪音)
在Kaldi中,这些文件被用于在这些音素符号的文本形式和数字形式之间进行转换。 大多数情况下,只有脚本utils/int2sym.pl、utils/sym2int.pl和OpenFst中的程序fstcompile和fstprint会读取这些文件。
文件L.fst是FST形式的发音字典