一,HTK目录结构
htk是一个开源的软件,解压之后的目录如下:
[root@localhost htk]# ls
AUTHORS config.status env HTK HTKTools Makefile.in
ChangeLog config.sub FAQ HTKBook install-sh README
config.guess configure HLMLib HTKLib LICENSE
config.log configure.ac HLMTools HTKLVRec Makefile
[root@localhost htk]#
除去一些编译文件之外,几个重要的文件说明如下:
- env。编译的环境变量设置。
- HLMLib。HMM语言模型库。
- HLMTools。HMM语言模型工具。
- HTKBook。开发帮助文档。
- HTKLib。HTK的声学库文件。
- HTKTools。HTK的声学开发工具。
对于声学部分来说,比较重要两个文件夹是后面的两个文件夹。
二,HTK原理
HTK软件的体系结构如下图所示:
整个HTK是使用HMM作为语音识别的核心,当HMM应用于孤立词语音识别时,它用不同的隐含状态来描述不同的语音发音,对于连续语音识别系统,多个孤立词HMM子模型按一定的语言模型组成的复合HMM模型序列来刻画连续的语音信号,在序列中每个模型直接对应于相关的发音,并且每一个模型都有进入和退出状态,这两个状态没有对应的观察矢量,只用于不同模型的连接。
上图中的 HTK Tool周边的一些库都是HTKLib,这些库是语音信号处理时必须的资源或者通用库文件,HTK Tool正是利用HTKLib文件夹中的库文件(如HMem,HSigP等库文件),链接生成一些可执行程序。如HSigP库完成信号的预加重,信号加窗,FFT等方面的计算。
三,HTK工具使用
HTK工具的使用主要分布在使用过程中的四个阶段:
- 数据准备。
- 模型训练。
- 模式识别/结果测试。
- 模型分析。
如下图所示:
每一个HTK命令行工具都在特定的阶段完成特定的任务。整个入口就是原始的声音文件和对声音文件的文本记录信息。