HTK手册第二章概述
HTK手册的第二章主要介绍了HTK工具包的软件结构,包括HTK工具的大纲、如何将其结合起来构造和测试一个基于HMM的识别器,以及HTK工具的通用属性。
HTK软件结构
HTK中大部分的功能被封装成库,每个库模块都提供了通用的接口和函数资源。用户的输入输出以及一些和操作系统的交互是由HShell模块来控制。HMem负责内存管理。HMath提供数学计算的支持。HSigP提供信号分析中需要的信号处理。HTK中的每种文件类型都有专门的接口模块,例如HLabel提供label文件的接口,HLM提供了语言模型文件接口,HNet提供了网络和网格文件的接口,词典通过HDict接口,矢量量化的码本通过HVQ接口,HMM定义则通过HModel。
所有以WAV形式输入输出的语音通过HWave处理,以参数形式的输入通过HParam处理。为了提供一致的接口,Hwave和HLabel提供多种文件格式的支持(可以从其他系统导入的数据)。HAudio支持直接语音输入。HGraf提供了简单的交互解码。HUtil为操作不同的HMM模型提供了很多有用的函数,HTrain和HFB支持不同的HTK训练工具。HAdapt为不同的HTK自适用工具提供了支持。最后,HRec包括了主要的识别处理功能。
HTK工具的通用属性
HTK工具通过命令行来运行。每个工具都有很多必须参数和可选参数。可选参数使用‘-’前缀。例如,下面的命令将调用虚构的叫做HFoo的HTK工具:
HFoo -T 1 -f 34.3 -a -s myfile file1 file2
这个工具中有两个必须参数file1、file2和四个可选的参数。可选参数使用单字母,后面跟着可选的值。其中值和参数名用空格分开。
在这章节中,我们还将介绍HTK工具的配置项的设置,以控制这些库模块的行为。具体这些库模块函数的详细描述将会在本手册的第二部分中描述,并介绍出现的相关的配置。最后,在18章中将给出完整的列表作为参考。