HLStats相对工具比较简单,主要是从输入的HMM列表和一系列的标签文件中进行统计工作,可以帮助我们分析声学训练的数据,也可以生成简单的语言模型,主要是二元语言模型。这个工具的主要功能如下:
- 统计HMM列表中不同的音节出现的次数。
- 统计HMM在标签文件中的最小、最大以及平均时长。
- 计算二元语言模型。
- 输出给定标签文件的所有被标记标签签列表。
一,实际例子
语音识别时的识别单元都分别对应有HMM模型,一般识别单元是音节,这是系统的最小能够识别的单元(不是HMM中的状态观察输出单元)。
新建一个HTK标签文件,内容如下(labels.mlf,该文件由HLEd工具生成,具体生成过程见:HTK数据准备工具-HLEd):
#!MLF!#"*/sample01.lab"silwahnwahnwahnwahnwahnwahnwahnwahnsil.除去sil,包含n、w、ah三种音节的HMM模型,所以HMM列表文件如下:
[root@localhost hlstats]# cat hmmlist nwah[root@localhost hlstats]#
[root@localhost hlstats]# HLStats -b bi-model hmmlist labels.mlf [root@localhost hlstats]# cat bi-model !ENTER 0 2.500000e-01*4ah 0*2 1 0*2n 0*3 1 0w 0 1 0*3!EXIT 0 2.500000e-01*4[root@localhost hlstats]#上面输出的二元模型中!ENTER和!EXIT是每个标记标签文件的默认入口和退出的标签,这个可以通过-s选项来重新指定,如
[root@localhost hlstats]# HLStats -s sil sil -b bi-model hmmlist labels.mlf [root@localhost hlstats]# cat bi-model sil 0*3 1ah 0*2 1 0n 1.250000e-01 0*2 8.750000e-01w 0 1 0*2[root@localhost hlstats]#
统计HMM
[root@localhost hlstats]# HLStats -s sil sil -c 100 hmmlist labels.mlfLogical Model Counts: Label LCount PCount sil 2 0 w 8 8 n 8 8 ah 8 8[root@localhost hlstats]#