HTK使用手册-2

合集下载

HTK液的两种处理方式对心脏瓣膜置换术体外循环管理的影响

HTK液的两种处理方式对心脏瓣膜置换术体外循环管理的影响

2 1 一般 资 料 比较 :两 组 患 者 的性 别 、体 重 、体 . 外 循环 ( P ) 时 间 、主 动脉 阻 断 时 间 、 自动 复跳 C B
率 ,差 异 均 无 统 计 学 意 义 ,见 表 l 。 2 2 临 床 疗 效 比 较 :两 组 患 者 均 手 术 顺 利 ,治 愈 .
脉 阻 断 时 间 超 过 1 0ri 出 现 心 电 活 动 , 再 进 行 2 n或 a
量及使 用 时 间 、多 巴酚 丁胺 用 量 及使 用 时间 、呼 吸
机支 持 时 间 、I U 停 留时 间 差 异 均 无 统 计 学 意 义 C
( P> 0 0 ) . 5 ,见 表 3 。
白 蛋 白或 应 用 超 滤 。体 外 循 环 中 维 持 血 细 胞 比 容 (
Hc t)2 % ~ 2 % 1 4 引。
2 3 体 外循 环 管 理 比 较 :与 Ⅱ组 比 , I组 体 外 循 .
环 中 的 总 预 量 大 、 HTK 液 的 回 收 量 多 、术 中 超 滤
应 用例 数 多 、最 低 钠离 子浓 度 低 、浓 氯 化钠 补 充 量 大 、最 高钾 离子 浓度 高 、浓 氯化 钾 补 充 量少 ,差 异 有 统计 学意 义 ( < O 0 ) P . 5 ;两 组 患者红 细胞 悬 液使 用量 差 异无统 计学 意 义 ( > O 0 ) P . 5 ,见 表 2 。 2 4 术 后 I 情况 比较 :两 组 患 者 术 后 多 巴胺 用 . CU
灌注 。 I组右 心房 未 切 开 ,将 回流 的 HTK 液 全 部 回收体 内 。 Ⅱ组 右 心 房 切 口 ,同时 将 回流 的 HTK
液 吸除 。
将 HTK 液用 于心 脏 手 术 ,但 在 我 国应 用 尚少 。 随

THTWK-2型 实验指导书 V2.0

THTWK-2型 实验指导书 V2.0

目录目录 (I)第一章系统介绍 (1)1.1 系统概述 (1)1.2 软硬件安装方法 (2)1.3 实验箱模块简介 (4)1.4 THTWK 实验对象地址分配 (21)第二章32位微机原理实验——汇编程序 (23)2.1 汇编编译器的设置 (23)2.2 PCI 设备的配置空间 (24)2.3 32位微机实模式、保护模式工作原理 (27)2.4 汇编实验项目 (29)实验一读取PCI 设备配置空间实验 (29)实验二读取32位开关量实验 (31)实验三 32 位LED 显示实验 (33)实验四点阵显示实验 (35)实验五保护模式下的存储器读写实验 (37)实验六中断实验 (39)实验七 8255模拟交通灯实验 (42)实验八 8255 扫描键盘实验 (44)实验九 8279 扫描键盘实验 (46)实验十步进电机驱动实验 (47)实验十一 A/D 转换(ADC0809)实验 (50)实验十二 D/A 转换(0832)实验 (52)实验十三串行A/D转换实验 (55)实验十四串行D/A转换实验 (56)实验十五直流电机驱动实验 (58)实验十六 LCD 显示实验 (60)实验十七 8251 串行发收实验 (63)实验十八 8251 和16C550 相互收发实验 (65)实验十九 8253电子音调实验 (69)实验二十储存器 DMA实验 (73)实验二十一温度测量实验 (77)实验二十二语音芯片控制实验 (78)实验二十三红外数据发送与接收实验 (83)实验二十四实时时钟实验 (85)实验二十五可编程逻辑器件实验 (87)第三章在Windows 下C 语言编程 (91)3.1 开发过程简介 (91)3.2 相关程序 (92)3.3 Visual C++6.0开发环境简介 (92)3.3.1 开发环境界面 (92)3.3.2 项目工作区 (93)3.4 创建Windows 应用程序 (95)3.5 用户接口函数说明 (99)3.5.1 函数OpenPlx9052 (99)3.5.2 函数ClosePlx9052 (100)3.5.3 访问IO空间的相关函数 (100)3.5.4 访问MEM 空间的相关函数 (101)3.5.5 中断服务相关函数 (101)第四章WINDOWS 中的接口实验——VC++程序 (105)实验一 32位I/O读写实验 (105)实验二存储器读写实验 (107)实验三 PCI中断实验 (108)实验四 A/D 转换(ADC0809)实验 (110)实验五 D/A 转换(DAC0832)实验 (112)实验六 LED点阵显示实验 (114)实验七 LCD 显示实验 (116)实验八 8253电子音调实验 (118)实验九 8255 接口实验(键盘扫描、步进电机、模拟交通灯) (120)实验十 8279键盘显示实验 (122)实验十一串行通信实验 (124)实验十二 USB通信实验实验 (127)第五章驱动程序开发(WDM) (134)5.1 系统环境配置 (134)5.2 利用向导生成程序框架和设备配置信息 (137)5.3 驱动框架的构成及描述 (141)5.4 驱动程序的具体编写 (143)5.4.1 读取硬件资源 (143)5.4.2 I/O 端口读写 (144)5.4.3 RAM 读写实现 (145)5.4.4中断的实现 (145)5.4.5 DMA 的实现 (147)附录一调试工具Turbo debug 的使用 (151)附录二 DOS功能调用(INT 21H) (159)第一章系统介绍1.1 系统概述THTWK-2型32位微机原理与接口实验箱是一套基于PC 机PCI 总线的32 位实验系统。

语音识别HTK代码学习手册范本

语音识别HTK代码学习手册范本

HMM的理论基础一、HMM定义1.N:模型中状态的数目,记t时刻Markov链所处的状态为2.M:每个状态对应的可能的观察数目,记t时刻观察到的观察值为3.:初始状态概率矢量,,,4.A:状态转移概率矩阵,,,5.B:观察值概率矩阵(适用于离散HMM),,,;对于连续分布的HMM,记t时刻的观察值概率为一个离散型的HMM模型可以简约的记为。

二、关于语音识别的HMM的三个基本问题1. 已知观察序列和模型参数,如何有效的计算。

a. 直接计算2-1 当N=5,T=100时大概需进行次乘法!b. 前向算法定义t时刻的前向变量(forward variable),可以通过迭代的方法来计算各个时刻的前向变量:1)初始化(Initialization)当t=1时2-22)递归(Induction)当时即: 2-3 3)终结(Termination)2-4乘法次数大约为:N2Tc. 后向算法定义t时刻的后向变量(backward variable),可以通过迭代的方法来计算各个时刻的后向变量:1)初始化(Initialization)当t=T时, 2-52)递归(Induction)当时即:, 2-6 3)终结(Termination)2-7 乘法计算次数约为:N2T2. 已知观察序列和模型参数,在最佳意义上确定一个状态序列。

定义一个后验概率变量(posteriori probability variable)2-7 则最优序列可以通过, 2-7求得。

不过,这样求得的最优序列有些问题。

如果,那么这个最优序列本身就不存在。

这里讨论的最佳意义上的最优序列,是使最大化时的确定的状态序列。

即,使最大化时确定的状态序列。

定义为t时刻沿一条路径,且,输出观察序列的最大概率,即:2-8下面介绍迭代计算的Viterbi算法:1)初始化(Initialization),回溯变量:,2)递归(Induction)即: 2-82-93)终结(Termination)2-102-114)回溯状态序列, 2-123. 已知观察序列和模型参数,如何调整模型参数使最大。

HTK使用方法简介

HTK使用方法简介
models/hmm0 -w hmmdefs untie_all_state.hed hmmlist.txt
Step 5: 靜音回繞及與短間隔音的連結
❖ 建立shi.hed
Perl MakeProtoHMMSet model_struct3.pcf ➢ 將各個模型表列檔合併成hmmlist.txt以便將來使用
hmmlist1.txt
ling i er san su wu liou chi ba jiou
sil hmmlist2.txt
hmmlist3.txt
sp
model_struct1.pcf
Step 2: 音檔標音並蒐集會用到的聲音單位
❖ 建立標音字典 word_to_syllable_sp.dicword_to_syllable_sp.dic
❖ 本例標音字典中每個音都會用到
❖ 用HLEd程式將 word_trans.mlf 轉成 syllable_trans_sp.mlf的標音檔
d0 ling sp d1 i sp d2 er sp
hmmlist.txt HERest -S filelist_odd.txt -H models/hmm0/hmmdefs -M models/hmm0 -I
syllable_trans_sp.mlf hmmlist.txt HCompV -f 0.01 -m -S filelist_odd.txt -M models/hmm0 model_struct/sp HHed -H models/hmm0/hmmdefs -H models/hmm0/vFloors -M
2. 系統共使用幾種架構?哪些聲音的HMM檔要使用同一種架構
➢ 為每個架構建一個 “架構設定檔”及 “模型表列檔” ➢ 注意:模型表列檔最後要有一個空白列

恒泰克HTK-1010系列10.2寸触摸屏说明书

恒泰克HTK-1010系列10.2寸触摸屏说明书

说明: 1) 接入电源允许波动范围:12V~36V,推荐最佳为 24V。 2) 确认外接电源的规格,请使用低脉冲的直流电源; 3) 在接通电源之前仔细检查连接端子,请参照电源标记接线。确认电源连接的正确; 4) 不要尝试绝缘强度的测试; 使用 2mm2 截面(或更大)的双绞线缆。
服务热线: 400-800-8704
12、组态程序的下载
开发好的组态王程序画面有两种方式下载到触摸屏中。 触摸屏硬盘\Flash\kingview\下 “poject” 是存放整个工程的文件夹。
12.1 、触摸屏通过 USB 线与 PC 机连接 备注:《触摸屏同步软件及驱动程序》的使用方法在其文件夹下有详细的说明。
服务热线: 400-800-8704
COM2 接口定义 引脚 1 3 5 RS485 A+ RS232 TXD GND 定义 引脚 2 4 6 RS485 ARS232 RXD 定义
10、以太网规规格
11、组态王软件安装操作
恒泰克 HTK 系列人机界面是内置组态王嵌入版运行版(256 个 Tag) 。先通过 PC 机上的组 态王开版建立好相应的工程,之后把整个工程文件夹直接复制到触摸屏中\Flash\kingview\目录下。 (特别提示:PC 开发工程画面时,此工程名建议命名为: “project” ,因为触摸屏内组态王程序 只认定 project 文件夹下的执行文件)

厦门恒泰克科技有限公司
自动化创新技术
例如设置串口 1(Serial1)为 RS485 总线,设置完成后需要重启触摸屏。 如下图所示
13.2、在触摸屏系统桌面上打开工具:CEPC.----》功能配置----》串口模式切换。
即可对各 COM 口设置通信方式,设置完成后需要重启触摸屏。

htk简单使用教程

htk简单使用教程

本人刚开始学习HTK,在网上下了一份《HTK(V3.1)基础指南》资料,根据上面提供的步骤创建一个yes/no识别系统,但是在中间发现很多地方说的不够明白(也可能是本人悟性不够),很多代码输入会有错误,所以根据自己的理解写了一份文档,希望对大家有用。

首先说明一下注意事项(1)在输入命令时,有文件作为参数时,都应在文件名前加上相应的路径,不然找不到文件。

(2)输入命令前,最好先单纯的打一遍命令,不输入任何参数,参看函数用法。

预先建立文件夹我做的时候没有创建新的根目录,根目录为htk文件夹。

(1)data/ :存储训练和测试数据(语音信号、标签等等),包括一个子目录data/train,而train包括2个子目录,data/train/sig(用以存储步骤1接下来录制的训练语音数据) 和data/train/mfcc(用来存储步骤二中训练数据转化后的mfcc参数);(2)model/:存储识别系统的模型(HMMs)的相关文件;(3)def/:存储任务定义的相关文件;(4)test/:存储测试相关文件。

《HTK(V3.1)基础指南》中在本步骤中用到了标签,我做的时候试着用了标签,报错了。

感觉可能是因为录制的训练语音中,静音或者是语音的长度有问题,导致了错误,但是也不知道怎么解决,所以干脆没用了,希望大牛们可以帮助解答这个问题。

第一步:创建训练文件DOS下打开htk/data/train/sig文件夹,命令:HSLabyes.sig创建10个yes音,10个no 音,10个sil(静音)。

保存在htk/data/train/sig下。

第二步:声学分析抽取yes和no的mfcc特征参数。

保存在htk/train/mfcc下。

命令:HCopy–C analysis.conf–S targetlist.txt其中analysis.conf(在htk文件夹下)为抽取参数配置文件,内容为:## Example of an acoustical analysis configuration file#SOURCEFORMAT = HTK # Gives the format of the speech filesTARGETKIND = MFCC_D_A_0 # Identifier of the coefficients to use# Unit = 0.1 micro-second :WINDOWSIZE = 250000.0 # = 25 ms = length of a time frameTARGETRATE = 100000.0 # = 10 ms = frame periodicityNUMCEPS = 12 # Number of MFCC coeffs (here from c1 to c12) USEHAMMING = T # Use of Hamming function for windowing frames PREEMCOEF = 0.97 # Pre-emphasis coefficientNUMCHANS = 26 # Number of filterbank channelsCEPLIFTER = 22 # Length of cepstralliftering# The Endtargetlist.txt(在htk文件夹下)说明抽取源文件路径和目标文件的保存路径,内容如下:data\train\sig\yes10.sig data\train\mfcc\yes10.mfccdata\train\sig\yes1.sig data\train\mfcc\yes1.mfccdata\train\sig\yes2.sig data\train\mfcc\yes2.mfccdata\train\sig\yes3.sig data\train\mfcc\yes3.mfccdata\train\sig\yes4.sig data\train\mfcc\yes4.mfccdata\train\sig\yes5.sig data\train\mfcc\yes5.mfccdata\train\sig\yes6.sig data\train\mfcc\yes6.mfccdata\train\sig\yes7.sig data\train\mfcc\yes7.mfccdata\train\sig\yes8.sig data\train\mfcc\yes8.mfccdata\train\sig\yes9.sig data\train\mfcc\yes9.mfccdata\train\sig\no10.sig data\train\mfcc\no10.mfccdata\train\sig\no1.sig data\train\mfcc\no1.mfccdata\train\sig\no2.sig data\train\mfcc\no2.mfccdata\train\sig\no3.sig data\train\mfcc\no3.mfccdata\train\sig\no4.sig data\train\mfcc\no4.mfccdata\train\sig\no5.sig data\train\mfcc\no5.mfccdata\train\sig\no6.sig data\train\mfcc\no6.mfccdata\train\sig\no7.sig data\train\mfcc\no7.mfccdata\train\sig\no8.sig data\train\mfcc\no8.mfccdata\train\sig\no9.sig data\train\mfcc\no9.mfccdata\train\sig\sil10.sig data\train\mfcc\sil10.mfccdata\train\sig\sil1.sig data\train\mfcc\sil1.mfccdata\train\sig\sil2.sig data\train\mfcc\sil2.mfccdata\train\sig\sil3.sig data\train\mfcc\sil3.mfccdata\train\sig\sil4.sig data\train\mfcc\sil4.mfccdata\train\sig\sil5.sig data\train\mfcc\sil5.mfccdata\train\sig\sil6.sig data\train\mfcc\sil6.mfccdata\train\sig\sil7.sig data\train\mfcc\sil7.mfccdata\train\sig\sil8.sig data\train\mfcc\sil8.mfccdata\train\sig\sil9.sig data\train\mfcc\sil9.mfcc第三步:HMM原型定义建立文件hmm_yes.hmm、hmm_no.hmm、hmm_sil.hmm保存在htk/model/proto下。

HTK Book 第一篇 教程概览

第一篇教程概览 1 HTK基础1.1MM基本原理1.2立词识别1.3出概率说明1.4aum-Welch Re-Estimation1.5别和Viterbi解码1.6续语音识别1.7话者适应2 HTK工具包概览2.1TK软件架构2.2TK工具的一般属性2.3具包2.3.1据准备工具2.3.2练工具2.3.3别工具2.3.4析工具2.4本3.4中的更新2.4.1本3.3中的更新2.4.2本3.2中的更新2.4.3本3.1中的更新2.4.4本2.2中的更新2.4.5本2.1中的新特征3 一个教程示例3.1据准备3.1.1骤一任务语法3.1.2骤二字典3.1.3骤三录制语音数据3.1.4骤四创建脚本文件3.1.5骤五语音数据编码3.2建单元音HMM3.2.1骤六创建Flat start单元音3.2.2骤七确定Silence模型3.2.3骤八Realigning训练数据3.3建Tied-Stated三元音3.3.1骤九从单元音创建三元音3.3.2骤十创建Tied-Stated三元音3.4别器评估3.4.1骤十一识别测试数据3.5行识别器3.6MM自适应3.6.1骤十二准备自适应数据3.6.2骤十三生成Transforms(转移矩阵)3.6.3适应系统评估3.7emi-Stated和HLDA Transform3.8结第一章HTK基础HTK是一个用于构建隐马尔可夫模型(HMM)的工具包。

隐马模型可用于对任意时间序列建模,与此类似,HTK的核心部分也是具有通用性的。

然而,HTK主要还是用于构建基于HMM的语音处理工具,特别是语音识别工具。

因此HTK的在基层架构上提供的功能,主要是为了完成这个任务。

如上图所示,这个任务主要由两个阶段构成。

首先,HTK的训练工具基于语音数据和关联的脚本进行HMM参数的估算,其次,未知的语音数据被HTK的识别工具识别,输出识别结果。

本教程主要关注于以上两个处理过程的机制。

然而在深入细节之前,理解HMM的一些基本原理是有必要的,对HTK工具包有一个大概的认识也是有帮助的。

HTK-SF10XXMVL操作说明定稿


声明:该手册版权 HELLOTEK 专有,解释权由深圳市海络克信息技术有限公司所有!
页次:4/5
HELLOTEK 楼道交换机系列 SF1008MVL/SF1016MVL
SF10XXMVL 楼道交换机及衍生品:
SF1008MVL

M1 M2
描述
上联 下行端 防回网 防堵塞 端口隔离 防低端路

模式
端口 口 【自愈】
最大功耗:1.7 瓦
端口隔离
支持 支持 支持 无
防低端路 由器死机
支持 无 无 无
SF1016MVL
功能介绍
【回网防御】:
下行端口将每秒钟探测端口是否回网,如果探测到回网,交换机将在 1 秒内关闭该端口,从而维持交 换机其它端口正常通信。
当有回网存在,交换机监测端口回网状态是否消失,如果连续 30 秒内监测无回网,交换机将再次开启 该端口,进行正常的数据转发;
名词解释: 交换机 3 分钟死机监测:SF10XXMVL 系列交换机采用了端口流量统计技术,实时监测端口的双向数据传 输,如果监测到上联端口在连续 3 分钟内无数据传输,交换机将采用自主复位重启功能,自行排除异常导 致的死机现象。
页次:1/5
SF1008MVL
HELLOTEK 楼道交换机系列 SF1008MVL/SF1016MVL
3、分钟自愈:支持上联端口 3 分钟内无双向数据传输,交换机重启
4、上 下 【安防视频监控模式】
SF1016MVL
型 M1 M2
描述
上联 下行端 防回网 防堵塞 端口隔离 防低端路

模式
端口 口 【自愈】
由器死机
上上
智能回网防御
16
1-15 端口 1-15 支持

HTK手册_第三章

... etc
可以用它生成测试数据所需的提示文件testprompts。
第四步
在训练一套HMM集合时,每个训练数据文件都必须对应一个音素级的标注。如果没有手工标注的数据用来开启初始(bootstrp)的模型训练,可以采用一种被称为flat-start的方法来代替。这种方法中,需要两套音素标注,开始使用的脚本中词之间不包含短暂停顿模型(sp),一旦一套合理的音素模型建立后,sp模型将被插入到可能有停顿的词之间。
1. PHONE YOUNG
2. DIAL OH SIX SEVEN SEVEN OH ZERO
3. DIAL SEVEN NINE OH OH EIGHT SEVEN NINE NINE
4. DIAL SIX NINE SIX TWO NINE FOUR ZERO NINE EIGHT
5. CALL JULIAN ODELL
HParse gram wdnet
将会建立一个等效的词网络并存储到wdnet文件中(如图3.2)。
第二步
建立一个词典的第一步是建立一个经排序的包含所有词的列表。在电话拨号任务中,建立一个所有词的列表可以轻松地手工完成。但是如果任务更加复杂,则应该根据训练数据中的例句建立词列表。此外,若建立一个鲁棒性声学相关模型,就需要使用一个包含很多词的并且音素更均衡的大的句子集合。因此,训练数据是由和电话拨号任务无关的英文句子组成。下面,给出一个由句子提示建立一个词列表的简单例子。这里训练用的句子都取自TIMIT数据库中使用的一些提示命令,并且为了便于处理,这些句子都重新编号。例如,开始一部分数据内容可能是下面这样的:
HSLab noname
执行命令后,将显示这样的窗口,窗口上半部分是一个波形播放区域,下半部分是一排按钮,包括录音按钮等。如果一个文件名当作命令参数,HSLab将播放这个文件。这里,指定的文件名是noname,指明了将要录新的数据。HSLab并不给用户特别的提示,只要录音按钮被按下,它就将录得的数据交替地写到noname_0,noname_1,….这些文件里,因此很容易写一个shell脚本,当有noname_0之类的文件出现时,就输出提示信息,并按照事先约定的提示方式重命名文件(如图3.4所示)。

InkKeyControl 2软件用户手册说明书


eXact InkKeyControl 2 Software User Guide
Step 2: Editor- Press
1. Select Press. 2. Select Create.
4. Select the type of press and how many ink units.
3. Enter a name for the press.
begins. This condition is found when running “nested” color bars. 8. Create Repeat button allows you to create a repeat of your finished pattern.
- Click Create Repeat. - Select the first patch and then the last patch within the range. - Click the + patch on the color bar. - Click Add Repeat as many times as necessary to fit across the press sheet. 9. Insert will insert a slur/skip patch to the left of a patch that you have selected within the color bar. 6 10. View of the color bar as it is being built to check for misplaced patches.
Editor: Color Bar Create and edit a color bar
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 HTK 工具包概述
前一章节我们介绍了基于 HMM 识别的基本原理。已经涉及了 HTK 中的一些关键的工具。 这一章节将要描述 HTK 工具的软件结构。介绍 HTK 工具的大纲以及如何将其结合起来构 造和测试一个基于 HMM 的识别器。为了方便使用过 HTK 的读者,我们列举了最近版本的 主要变化。下一章节通过建立一个简单的连续语音识别系统来阐述如何使用 HTK 工具。
HTK
BOOK
V3.2
所有以 WAV 形式输入输出的语音通过 HWave 处理, 以参数形式的输入通过 HParam 处 理。为了提供一致的接口,Hwave 和 HLabel 提供多种文件格式的支持(可以从其他系统导 入的数据) 。HAudio 支持直接语音输入。HGraf 提供了简单的交互解码。HUtil 为操作不同 的 HMM 模型提供了很多有用的函数,HTrain 和 HFB 支持不同的 HTK 训练工具。HAdapt 为不同的 HTK 自适用工具提供了支持。最后,HRec 包括了主要的识别处理功能。 下一部分将会讲到:通过设置一下配置项,来控制这些库模块的行为。具体这些库模块 函数的详细描述将会在本手册的第二部分中描述,并介绍出现的相关的配置。另外在 18 章 会给出完整的列表作为参考。
-1第 页
HTK
BOOK
V3.2
2.3
工具包
我们通过建立一个基于子词(sub-word)模型的连续语音识别系统并介绍这些过程,将 使我们很好的了解 HTK 工具。如 Fig2.2 所示:总共有 4 个主要过程:数据准备,训练,测 试和分析。
2.3.1
数据准备工具
为了建立一个 HMM 模型集合, 语音数据文件和他们的相关的标注是必需的。 语音数据 将会从数据库(一般存储在光盘中)获得。在训练之前,这些数据都将会被转换成适当的参 数形式。相关的标注将被转化成正确的格式,使用需要的音素或者词的 lable。如果需要, HSLab 可以用来录制语音,然后对相关的内容进行手工标注。 虽然所有的 HTK 工具能够在过程中提取语音数据的参数,但实际上通常我们最好只对 数据进行一次特征提取。HCopy 就是为了做这个。通过字面意思,HCopy 用来复制一个或 者更多的源文件到输出文件。一般,HCopy 将会复制整个文件,但是为了分段和连接文件, 还要提供多种机制。 通过设置一些合适的配置变量, 所有的输入文件在被读入时将会转为参 数形式。 因而, 通过这种简单的复制每个文件的机制, 对每个文件完成必须的特征提取过程。 HList 工具用于检查语音文件的内容,当输入文件被转化后,可以使用 HList 在处理大量的 数据之前检查转化结果。标注文件也需要准备。原始的标注不需要特别精确,但是确实必需 的。例如:因为不同的音素集的差异,HMM 训练需要上下文无关的标注。HLEd 工具是一 个脚本驱动的标签编辑器。用于生成必要的标注文件。HLEd 能够输出到单个 MLF 文件 (Master Label file) 通常这个文件可以使接下来的处理变得更加方便。 最后在数据准备阶段, HLState 能够收集和显示在标签文件里的统计信息。在建立一个离散 HMM 系统准备阶段, HQuant 被用来建立一个矢量量化的码本。
-3第 页
HTK
BOOK
V3.2
一旦初始的模型集被创建后,HERest使用整个训练集来执行“嵌入式训练(embedded training)”,HERest将对全部HMM音素集模型执行一次Baum-Welch,同时重估这些模型的 参数。对于每条训练语句,此训练数据包含的相应的音素模型将会被连接起来。前向-后向 算法将对序列中的每个HMM模型累加状态占有率、均值、方差等统计信息。当处理完所有 的训练数据后,累加的统计量将被用来计算模型的参数重估值。HERest是HTK训练工具的 核心。其被设计用来处理大规模的数据库。也可以很方便地使用裁减策略来减少运算量。能 够在网络中并行执行(译者注:可将训练数据分成多份,同时并行计算,然后使用累计的统 计量重估模型)。 在HTK的体系下, HMM模型的参数训练是逐步精确细化的。因此,一个典型的处理方 式是从一个单高斯的上下文独立的音素模型集开始, 通过扩展到上下文相关来逐步精确, 然 后使用多维混合高斯分布。HHEd是编辑HMM模型的工具,将原模型克隆成上下文相关的 模型,采用不同的参数绑定,在一些发布版中增加了混合高斯分布的数目。一般的处理使 用HHEd来修改HMM集合。使用HERest重估修正后的参数。为了提高特定发音人的表现, HEAdapt和HVite能调整HMM集合,目的是用少量的训练或自适应数据来更好地模拟特定说 话人的特征。最终的结果即是说话人自适应的系统。 现在建立一个上下文相关的系统唯一的最大的问题就是数据不足。 模型集合越复杂, 就 需要更多的数据来训练,保证参数重估的鲁棒性。因为数据总是有限的,我们就必需在系统 复杂度和可用的数据找到一个折中的方法。 对于连续密度系统通过将参数绑定来平衡。 参数
-4第 页
HTK
BOOK
V3.2
绑定(Parameter tying)允许将数据聚积加以共享,这些共享参数可以使参数估计更具鲁棒 性。除了连续概率分布的系统,HTK将支持连接混合系统和离散概率分布的系统。在这些情 况下,不充足的数据通过平滑这些分布来解决。HSmooth即为此而设计。
2.3.3
识别工具
2.2
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工具的选项。
2.1
HTK 软件结构
HTK 中大部分的功能都被封装成库。这些模块保证每个对外的接口使用相同的方式。 也提供了一些通用函数资源。Fig2.1 图解了一个典型的 HTK 工具的组成,并且展示其输入/ 输出接口。 用户的输入输出以及一些和操作系统的交互是由 HShell 模块来控制。HMem 负责内存 管理。HMath 提供数学计算的支持。HSigP 提供信号分析中需要的信号处理。HTK 中的每 种文件类型均有专门的接口模块。HLabel 提供 label 文件的接口。HLM 提供了语言模型文 件接口。HNet 提供了网络和网格文件的接口。词典通过 HDict 接口,矢量量化的码本通过 HVQ 接口。HMM 定义则通过 HModel。
HTK为识别单独提供了工具HVite,采用前一章提到的token passing算法来实现基于 Viterbi的语音识别。HVite需要以下输入:一个描述待识别单词序列的网络、定义单词如何 发音的词典以及一个HMM模型集合。HVite会将词网络转化成音素网络,并为每个音素实例 绑定适当的HMM定义。 而后, 识别器即可处理已存储的语音数据文件或者直接的音频输入。 在最后一章结尾将会提到,HVite 支持cross-word triphones,并可实现用多token生成多个输 出路径的lattice,同时也可以被配置用于Rescore lattice或和Force Alignment。 驱动HVite的语法网络通常是简单“词环”(word loop)(任何词可以跟在任何其他词 后面),或者是代表有限状态的语法图。第一种情况下,词的转移一般绑定了bigram概率。 词网络使用HTK标准的网格格式存储, 是文本形式的, 因而可使用文本编辑器直接创建词网 络。这是一个很繁琐的工作,因此HTK提供了两个工具来辅助创建词网络。第一个,HBulid 允许创建子网络并能在上层网络中使用。因此,虽然可能会用到处于相同层次的符号,但是 可以避免多次复制。HBuild也能够被用来创建词loop,也能够读入backed-off bi-gram语言模 型,通过合并bigram概率修正词loop的转移概率。前面提到过,标签统计工具HLState能够用 来产生backed-off bigram语言模型。 另一种可选的方法,是使用更上层的符号直接指定词网络。这种符号是基于用在编译器规 范中的EBNF(the Extended Backus Naur Form),并且和HTK早期版本中使用的语法规范兼 容。工具HParse用于来将这种符号转化为等价的词网络。 无论采取何种方式来产生词网络, 如果能看到它定义的语言例子, 都将会很有用。 HSGen 工具就是这种用途。它的输入是一个网络,然后随机穿越网络并输出词串。可以通过查看这 些串来确保他们是否符合需要。HSGen也能计算出任务的复杂度。 最后, 大词典的构建能够包括合并几个源输入并对每个输入进行多种变化, 词典管理工 具HDMan用来辅助这个过程。.
相关文档
最新文档