- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HTK手册_第二章(中文版)概要1
HTK工具包概述
前一章节我们介绍了基于HMM识别的基本原理。已经涉及了HTK中的一些关键的工具。这一章节将要描述HTK工具的软件结构。介绍HTK工具的大纲以及如何将其结合起来构造和测试一个基于HMM的识别器。为了方便使用过HTK的读者,我们列举了最近版本的主要变化。下一章节通过建立一个简单的连续语音识别系统来阐述如何使用HTK工具。
HTK软件结构
HTK中大部分的功能都被封装成库。这些模块保证每个对外的接口使用相同的方式。也提供了一些通用函数资源。Fig2.1图解了一个典型的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包括了主要的识别处理功能。
下一部分将会讲到:通过设置一下配置项,来控制这些库模块的行为。具体这些库模块函数的详细描述将会在本手册的第二部分中描述,并介绍出现的相关的配置。另外在18章会给出完整的列表作为参考。
HTK工具的通用属性
HTK工具通过命令行来运行。每个工具都有很多必须参数和可选参数。可选参数使用‘-’前缀。下面的命令将调用虚构的叫做HFoo的HTK工具。如下:
HFoo -T 1 -f 34.3 -a -s myfile file1 file2
这个工具中有两个必须参数file1、file2和四个可选的参数。可选参数使用单字母,后面跟着可选的值。其中值和参数名用空格分开。-f后面是一个实数,-T后是一个整数,-s后是一个字符串,-a后没有参数,仅仅用来使能或者禁止工具中的某些特性。大写的选项在所有工具中的意义是一样的。-T是用来控制HTK输出Trace。
另外,参数可以储存在配置文件,我们可以通过这些文件里的参数来控制工具的操作。例如:
HFoo -C config -f 34.3 -a -s myfile file1 file2
如果这条命令执行,HFoo工具将会在初始化的时候装载这些存储在配置文件里的参数。多个配置文件可以使用重复使用-C选项。例如:
HFoo -C config1 -C config2 -f 34.3 -a -s myfile file1 file2
配置文件通常作为命令行参数的另一种配置方式。例如,trace选项一般总是在配置文件里设置。然而,配置文件主要是用来控制所有HTK工具依靠的库模块的详细行为。
虽然这种命令行的风格比起现在的图形界面显得很老套。但是实际中,可以通过书写一些脚本即可以控制HTK工具的执行。对于大型的系统构建和试验这是非常重要的。而且,使用文本方式定义所有操作,可以使得系统构建和试验时的细节被录制和记录下来。
最后,不带参数执行这个工具,可以得到其中命令行的解释以及所有HTK工具的选项。
工具包
我们通过建立一个基于子词(sub-word)模型的连续语音识别系统并介绍这些过程,将使我们很好的了解HTK工具。如Fig2.2所示:总共有4个主要过程:数据准备,训练,测试和分析。
数据准备工具
为了建立一个HMM模型集合,语音数据文件和他们的相关的标注是必需的。语音数据将会从数据库(一般存储在光盘中)获得。在训练之前,这些数据都将会被转换成适当的参数形式。相关的标注将被转化成正确的格式,使用需要的音素或者词的lable。如果需要,HSLab可以用来录制语音,然后对相关的内容进行手工标注。
虽然所有的HTK工具能够在过程中提取语音数据的参数,但实际上通常我们最好只对数据进行一次特征提取。HCopy就是为了做这个。通过字面意思,HCopy用来复制一个或者更多的源文件到输出文件。一般,HCopy将会复制整个文件,但是为了分段和连接文件,还要提供多种机制。通过设置一些合适的配置变量,所有的输入文件在被读入时将会转为参数形式。因而,通过这种简单的复制每个文件的机制,对每个文件完成必须的特征提取过程。HList工具用于检查语音文件的内容,当输入文件被转化后,可
文档评论(0)