在HTK中,对语音文档标注脚本的处理:
-----------------------------
在HTK中,涉及到语音文档的很多操作都假设语音被分成segments,且每个segment都有一个名称或label。
与一个语音文档相关联的一组label就构成了一个transcription,每个transcription保存在各自的label文件中。一般来说,label文件的名称与对应的语音文档的名称相同,只是扩展名不同。为了方便,label文件经常保存在单独的文件夹中,所有HTK工具都有选项来指定这文件夹。
当要处理大量的文件时,可以通过使用Master Label Files(MLF)来使label文件的的存取变得更容易些。MLFs可以看成是含有指向实际label文件的索引文件,这些实际的label文件既可以嵌入到索引文件中,也可以保存在其他位置。
因此,MLFs有如下好处:
1、MLFs允许大量文件保存在同一个文件中;
2、MLFs允许多个逻辑label文件共享一个transcirption;
3、MLFs允许任意文件重定向。
HTK中与label文件进行交互的功能由模块HLabel来提供。它提供MLF的所有功能且支持许多外部label文件格式。
此外,HTK还提供一个工具HLed来对label文件进行简单地批量编辑。
-----------------------------
Label文件结构
大部分的transcriptions都是只有一种选择且只有一个层次。也就是说,一个语音文档只能有一个标注好的segment序列来描述。大部分标准的label文件格式都是这样子的。但是,有的时候,同样一个基本segment序列有多层labels是很有用的。例如,在训练HMM时,同时有词层次的transcriptions和音子层次的transcriptions就很有用。
同样地,对于同一个语音文档,一个transcription也需要含有多种选择。例如,一个语音识别器的输出可以是N-best列表,列表中的每一个词序列表示对输入的一种可能的解释。