基于HTK的特定词语音识别系统

合集下载

基于HTK的宁夏银川方言普通话语音识别系统

基于HTK的宁夏银川方言普通话语音识别系统

基于HTK的宁夏银川方言普通话语音识别系统文/赵俊峰1,刘升平2,海占广2,诸叶平2(1.宁夏大学信息工程学院;2.中国农业科学院农业信息研究所)摘 要:自动语音识别(ASR)是机器或程序识别语音命令或听写的能力,其内容涉及将语音模式与所提供或获取的词汇匹配的能力。

目前,主要使用基于隐马尔可夫模型(HMM)的语音识别器。

本文旨在为应用于农产品交易领域的宁夏银川方言普通话构建语音识别系统,隐马尔可夫模型工具包(HTK)用于开发系统,它使用声学词模型识别孤立的词。

系统训练113 个常用农业词汇,训练数据收集于9 位说话人,实验结果表明,HMM拓扑中10 个状态的系统的整体精度为96.61%和95.49%。

关键词:自动语音识别(ASR);HTK;MFCC一、背景在农业领域进行信息化建设的过程中,键盘成为计算机和用户之间的障碍。

这对西部地区农业生产者尤其重要。

语音识别将在促进农村地区的技术方面发挥非常重要的作用,通过这项技术,允许农村地区的人们使用他们的本地语言,以缩小计算机和农业生产者之间的差距。

语音是一种有用的和有效的通信媒体,特别是在键盘输入尴尬或不可能的环境中。

技术处理(自动语音识别和语音合成)在英语和汉语普通话方面取得了巨大进步。

在宁夏大约有四分之三的人口居住在农村地区,大多数人口不熟悉电脑和英语。

如果与机器以地方话交流,将会为农业信息化提供极大便利,这将使得人们能够使用自己的语言与计算机进行交互,而无需使用键盘。

语音接口涉及两个不同的领域,语音合成和自动语音识别(ASR)。

语音合成是将文本输入转换为相应的语音输出的过程,即它用作文本到语音转换器。

相反,语音识别是将讲话声音转换成类似于由这些声音传送的信息的文本的方式。

在这两个任务中,语音识别更加困难,但它有多种应用程序,如交互式语音响应系统,身体残疾人的应用程序和其他人(Aggarwal,Dave,2011)。

有许多公共领域软件工具可用于语音识别领域的研究工作,如来自卡内基梅隆大学的Sphinx (SPHINX,2011),隐马尔可夫模型工具包(HTK,2011)和大词汇连续语音识别(LVCSR)引擎(Julius,2011)。

MatLab环境下调用HTK的连续语音识别方法

MatLab环境下调用HTK的连续语音识别方法

MatLab环境下调用HTK的连续语音识别方法【摘要】本文根据HTK(HMM Toolkit)的基本原理,在MatLab环境下通过调用HTK各命令实现小词汇量连续语音识别。

采用HTK工具包搭建语音的隐马尔可夫模型(HMM),再利用MatLab循环编程开发进行仿真实验,避免了传统地逐步运行HTK各个命令的冗余操作,降低了操作复杂度。

【关键词】HTK;语音识别;隐马尔可夫模型Abstract:According to the basic principle of HTK(HMM Toolkit),small vocabulary continuous speech was recognized based on HTK by MatLab programming in this thesis.This thesis used HTK to build HMM model and then used MatLab to program it to do speech recognition,thus it avoided the redundancy of operating single HTK command,and the complexity was reduced.as well.Key words:HTK;Speech Recognition;Hidden Markov Model一、引言语言是交流的最自然方式,它为人机交互提供了一种有效的方法。

但目前人与机器的交互方式多以键盘和鼠标为主,为了让机器与人能够更好地进行交互,出现了基于语音识别的系统使人机对话成为可能。

语音识别就是让计算机通过识别和理解把人类的语音信号转换为相应的命令或者文本的一门技术。

HTK(HMM ToolKit)[1][2]工具包是英国剑桥大学专门开发用于建立和处理隐马尔可夫模型的实验工具包,广泛应用在语音识别领域,在语音合成和字符识别等其他领域也有所应用。

基于HTK的汉语语音售票系统的设计与实现

基于HTK的汉语语音售票系统的设计与实现
基 于 H K 的汉 语语 音 售 票 系 统 的设 计 与 实现 T
基于 H K的汉语语音售票系统的设计与实现 T
De in n I e sg a d mplme t t n o ie e Sp e h Tc e ig S se na i f Chn s e c ik t y t m s d o K o n Ba e n HT
t e pr os d y t m h s gh ea i ly an prc i ly. h op e s se a a hi f sbi d i t at i ca t
K y rss e c e o i nH K H o lKtt k t g sse AT ( n Ap l ain T ok o T ) e wod :p e h rc gn i ,T ( MM T o i c ei y tm, K A pi t o ltfrH K t o )i n c o i
最 终 通 过 A K ( n A pi t n T ok o T H K 应 用 接 T A p lai o ltfrH K, T c o i
口工 具 箱 ) V E 在 S N T平 台上 实 现 。 21 T . H K的 基本 原 理 H K是 英 国 剑 桥 大 学 开 发 的 一 个 专 门 用 于 建 立 和 处 理 T
基 于 H K 的汉 语 语 音 售票 系统 主要 是 由语 音 输入 设 备 、 T 语 音 识 别 系统 、 车票 售 票 管 理 系统 、 示设 备 以及 火 车 票 打 印 系 火 显 统 组 成 。其 中 , 音 输 入设 备 主要 用 来 输 入 语 音 ; 音 识 别 系 统 语 语
m e t e eli 9 0 n -lv s 8.0% a d h t f n t a o wor e el ea h 9867 d-lv r c es . % i t e n h prpo ed p ch e ognt s sem , ih h w h t o s s ee r c ion y t i whc s o t a

基于HTK的电台粤语敏感词检测系统方法研究

基于HTK的电台粤语敏感词检测系统方法研究

基于HTK的电台粤语敏感词检测系统方法研究
杨俊
【期刊名称】《中小企业管理与科技》
【年(卷),期】2016(0)3
【摘要】粤语是中国七大方言之一,在全球有近1.2亿使用人口.本文根据粤语的特点,针对电台节目中出现的粤语敏感词设计一套基于HTK的语音识别监控系统,提出基于LMS自适应降噪的语音预处理方案,并验证该语音识别系统的识别率.通过实验证明该系统对粤语具有较高的识别率.
【总页数】2页(P258-259)
【作者】杨俊
【作者单位】南宁人民广播电台广西南宁 530003
【正文语种】中文
【相关文献】
1.军用短波电台野战通用自动检测系统测试方法研究 [J], 邢亚坤;吴国庆;李永贵
2.一种基于Java Web的敏感词过滤方法研究与实现 [J], 傅明建
3.一种基于Java Web的敏感词过滤方法研究与实现 [J], 傅明建;
4.基于IP协议的广播电台播出系统全数字化控制和检测系统设计 [J], 沈敏
5.基于ZigBee与数传电台的矿井环境检测系统节点设计及其组网方案 [J], 江杰;陈树树
因版权原因,仅展示原文概要,查看原文内容请购买。

基于HTK的语音识别系统设计

基于HTK的语音识别系统设计

第16 卷第10 期2006 年10 月计算机技术与发展COMPU TER TECHNOLO GY AND DEVELOPMEN T基于HTK 的语音识别系统设计Vol. 16 No. 10Oct. 2006石现峰,张学智,张峰(西安工业大学陕西西安710032)摘要: HTK 是英国剑桥大学开发的一套基于C 语言的语音处理工具箱,广泛应用于语音识别、语音合成、字符识别和DNA 排序等领域。

文中主要介绍了HTK 的基本原理和软件结构,并且针对HTK 工具箱进行了二次开发,设计开发了一套完整的语音识别输入系统及其相应的测试平台,并验证了该语音识别系统的识别率,实验表明,该系统取得了较好的语音输入效果。

关键词: HTK;语音识别; HMM中图分类号: TP18 文献标识码:A 文章编号:1673 - 629 X(2006) 10 - 0037 - 02Design of Speech Recognition System Based on HTKSHI Xian2feng , ZHAN G Xue2zhi , ZHAN G Feng( Xi’an Technological University ,Xi’an 710032 ,China)Abstract :HTK is a C language - based toolkit developed by CU ED meanly used for speech signal reorganization , speech synthesis , charac2 ter reorganization , DNA compositor and so on. HTK’s general principles and software architecture is discussed in this paper and a suit of speech recognition system is designed based on HTK using further development technology. A test platform is also designed to test this system and gives the correct rate. Experimental results are satisfied.Key words :HTK;speech recognition ; HMM0引言语音识别是指机器通过学习实现从语音信号到文字符号的理解过程,是一种十分重要的人机交互方式。

基于HTK的命令字识别系统

基于HTK的命令字识别系统

基于HTK的命令字识别系统编号毕业设计说明书题目基于HTK的命令字识别系统学院专业学生姓名学号指导教师职称讲师题目类型理论研究实验研究工程设计工程技术研究软件开发年月日摘要语音识别技术经过半个世纪的发展目前已日趋成熟其在语音拨号系统数字遥控工业控制等领域都有了广泛的应用语音识别技术就是让机器听懂人类的语音并执行相关的动作是一个研究的热点数字语音识别是语音识别一个极其重要的分支其在现实生活中的应用愈加广泛由于目前常用的声学模型和语言模型的局限性计算机只能识别一些词汇或一些句子语音识别系统在语种改变时往往会出现错误的识别结果针对上述问题结合隐马尔可夫模型原理在HTK语音处理工具箱的基础上构建了中英文特定词语音识别系统该系统通过代码控制整个构建过程使其在更换新的训练数据和词典后能快速生成对应的识别模型HTK 是英国剑桥大学开发的一套基于C 语言的语音处理工具箱广泛应用于语音识别语音合成字符识别和DNA 排序等领域从HTK 的基本原理和软件结构出发设计了一个基于HTK 的数字语音识别系统并验证了其识别效率本文基于隐马尔可夫模型 HMM 的连续语音训练和识别算法理论结合梅尔频率倒谱系数 MFCC 提取技术单音素HMM建模技术基于上下文相关的三音素HMM建模技术以及基于维特比算法的识别技术等一系列技术利用隐马尔可夫模型工具箱 HTK 构建了基于HTK的连续语音识别实验平台随后通过更换识别单元更改特征参数的维数和增加高斯混合分量的个数来考虑不同因素对系统性能的影响最后通过比较试验验证了识别单元高斯混合分量的数目以及MFCC 维数的适当组合可提高系统的正确识别率实验结果表明随着HMM从单音素建模到三音素建模的转换测试语句在语句级和字词级的识别率都呈增加的趋势捆绑三音素后识别率达到稳定状态关键词语音识别隐马尔可夫模型隐马尔科夫工具箱梅尔频率倒谱系数识别单元AbstractHaving developed about 50 years the speech recognition SR technique has a wide range of applications inmany fields such as voice dialing system digital remote control and industrial control Speech is an important tool for people to communicate with machines Digital speech recognition is an extremely important branch of speech recognition Its application in real lifeis used more and more widelyBut the limitation of acoustic and language model is that the computer can only recognize some words or sentences When the speech language changesthe system often gets wrong results To address the problem above the speech recognition system has been built on the basis of HTK as well as hidden markov model theory Controlling the building process by code the system can quickly generate a new recognition model when the training data and dictionary has changedHTK is a C language-based toolkit developed by CUED mainly used for speech signalreorganization speech synthesis character reorganization DNA compositor and so on From HTKs general principlesand software architecture this paper designs a digital speech recognition system based on HTK and verifies itsrecognition efficiencyA continuous speech recognition experimental platform was built based on HTK HMM Toolkidusing HMM Hidden Markov Model theory and a series of technologies such as MFCC Mel-Frequency Cepstral Coefficients mono-phone modeltri-phone model and Viterbi algorithm.Then by changing the identification unit and MFCC dimension and by increasing the number of gaussian mixture components it considers effects of different factors on the performance of the system Finally through the comparing test it verifies the right combination of the identification unit and the number of gaussian mixture components and also proves that MFCC dimension can enhance the systems correct rate Experiential results showed that as the HMM changed from mono-phone model to tri-phone modethe recognition accuracy of statement-level and word-level were both increasedand reached a higher level after Tied-State Tri-phone model was employed.Key words speech recognition HMMHTK MFCC identification unit目录引言·············································································1 语音识别介绍 (5)11 语音识别系统概 (5)12语音识别研究的现实意义 (5)13 语音识别技术的研究现状···············································2 HTK简介 (5)21 HTK原理 (6)22 HTK的应用 (6)23 HTKLib 和 HTKTools (6)24 HTK安装 (6)3 设计内容与设计指标·················································31 系统设计内容 (7)32 系统整体构造框图 (7)4 系统搭建思路和具体步骤 (7)41 搭建前的准备工作 (8)com 录音文件 (7)com 手动生成文件 (7)com 自动生成文件 (7)42 数据准备 (8)com 建立任务语法grammar (8)com 建立字典文件 (9)43 创建单音素HMM模型 (10)com 创建音素水平副本文件 (11)com 创建flat start的单音素 (11)44 创建主文件和主宏文件 (12)comSP的发音文件 (12)com 创建HMM定义和宏文件 (13)com 重复训练数据 (14)45 固定静止模型 (14)com 在现有基础上加入SP (14)com 合并SPSIL模型状态 (14)com 对训练结果加入SP模型并训练 (15)com 对训练结果进行高斯扩展 (16)46 识别和结果分析 (16)com HviteHResults功能介绍 (14)com 用未高斯扩展模型识别 (14)com 用已高斯扩展的模型识别 (14)com 分析识别结 (14)6附录 (19)引言随着计算机与信息技术的继续发展语音交互技术必将成为人机交互的必要手段语音识别技术就是让机器听懂人类的语音并执行相关的动作是一个研究的热点语音识别系统根据不同的准则可以分为孤立词连接词和连续词识别小词汇量大词汇量识别特定人非特定人的语音识别系统连续数字语音识别是语音识别的一个重要分支数字语音识别尤其是连续数字识别无论在大词表的语音识别系统还是小词表语音识别系统中都具有重要的意义因此它在现实中具有广泛的应用前景在互联网通信军事国防人机交互等方面都有重要的应用价值虽然这方面的研究有很多但目前仍有许多问题有待进一步探索本文结合隐马尔可夫模型原理利用HTKHMMToolKit语音处理工具箱实现了数字语音识别系统的设计并且从识别单元音节和声韵母更改特征参数的维数和增加高斯混合分量的个数来考虑选取不同因素的情况下对本系统性能的影响最终通过实验证明了识别单元高斯混合分量的数目以及MFCC 维数的适当组合可提高系统的正确识别率隐马尔可夫模型是一种用参数表示的用于描述随机过程统计特性的概率模型它是由马尔可夫链演变而来的如果在分析的区间内信号是非时变或平稳的那么用线性模型就可描述它但如果在分析的区间内信号是时变的则线性模型的参数也是时变的所以最简单的方法是在极短的时间内用线性模型参数来表示然后再将许多线性模型在时间上串接起来这就是马尔可夫链由于不能准确地确定信号的时长所以用马尔可夫链描述时变信号不是最佳和最有效的而隐马尔可夫模型既解决了短时模型描述平稳段的信号又解决了每一个短时平稳段是如何转变到下一短时平稳段的问题它利用概率及统计学理论成功地解决了如何辨识具有不同参数的短时平稳的信号段以及如何跟踪它们之间的转化等问题由于语言的结构信息是多层次的除了语音特性外还牵涉到音长音调能量等超音段信息以及语法句法等高层次语言结构的信息而隐马尔可夫模型既可描述瞬变的随机过程又可描述动态的随机过程的转移特性所以它能够利用这些超音段和语言结果的信息1 语音识别介绍11 语音识别系统概述语音识别是解决机器听懂人类语言的一项技术作为智能计算机研究的主导方向和人机语音通信的关键技术语音识别技术一直受到各国科学界的广泛关注广泛意义上的语音识别按照任务的不同可以分为4个方向说话人识别关键词检出语言辨识和语音识别说话人识别技术是以话音对说话人进行区别从而进行身份鉴别和认证的技术关键词检出技术应用于一些具有特定要求的场合只关注那些包含特定词的句子例如对一些特殊人名地名的电话监听等语言辨识技术是通过分析处理一个语音片断以判别其所属语言种类的技术本质上也是语音识别技术的一个方面语音识别就是通常人们所说的以说话的内容作为识别对象的技术它是4个方面中最重要和研究最广泛的一个方向语音识别本质上是一种模式识别的过程未知语音的模式与已知语音的参考模式逐一进行比较最佳匹配的参考模式被作为识别结果图1 是基于模式匹配原理的自动语音识别系统原理框图12 语音识别研究的现实意义如今随着语音识别技术研究的突破其对计算机发展和社会生活的重要性日益凸现出来目前代表连续语音识别技术最高水平的是非特定人无限词汇的连续语音识别系统汉语数字语音识别尤其是连续数字识别无论在大词表的语音识别系统还是小词表语音识别系统中都具有重要的意义因此对它的研究具有很强的应用价值以语音识别技术开发出的产品应用领域非常广泛如在汉语小词表语音识别工作任务方面声控电话交换信息网络查询家庭服务宾馆服务医疗服务银行服务工业控制语音通信系统等几乎深入到社会的每个行业和每个方面同时在大词汇量语音识别中数字语音识别也有重要的意义这是因为汉语数字语音具有高度的混淆性采用普通的识别方法很难达到很好的识别性能而语音中的数字往往具有重要的意义其识别错误的代价可能会高于其他语音识别的错误这就需要专门对数字语音的识别采用特殊的方法以提高其识别率另外对汉语连续数字语音识别的研究也具有重要的理论意义一方面完成对汉语连续数字语音识别可以促进其他词表的连续语音识别的研究其声学模型搜索算法等都可以照搬到其他系统中去另一方面研究如何消除汉语数字语音的混淆性也可以对其他易混语音识别任务起到借鉴作用13 语音识别技术的研究现状语音识别在未来具有巨大的发展前景国外公司如IBMMicrosoft 在90 年代就开始进军中国市场如1997 年IBM 公司抢先在中国大陆市场推出了语音识别产品IBMViavoice一年时间内占领了大陆近90的市场份额获取了上亿元的利润我国语音识别研究工作起步于五十年代但近年来发展很快研究水平也从实验室逐步走向实用从1987 年开始执行国家863 计划后国家863 智能计算机专家组为语音识别技术研究专门立项每两年滚动一次我国语音识别技术的研究水平已经基本上与国外同步在汉语语音识别技术上还有自己的特点与优势并达到国际先进水平其中具有代表性的研究单位为清华大学电子工程系与中科院自动化研究所模式识别国家重点实验室语音识别在实验室环境下已经取得了良好的效果因此90 年代至今语音识别技术开始向实用化发展主要研究方向就是修改原有的理论来解决新三难问题比如在噪音语音分离方面寻找新的更加具有鲁棒性的声学特征来更好地去除噪声的影响使用麦克风阵列技术区分不同方位的声源达到分离语音噪音的目的和人脸识别相结合来识别语音在隐马尔可夫模型 HMM 方面提出了各种新的HMM如线性预测HMM时间驻留状态HMM基于最大互信息准则 MMI 的HMM 等等针对汉语的特点运用语言学的知识来改进识别效果如对声母韵母采取不同的处理或者将各个音素进行聚类分析再分别处理等等语音作为当前通信系统中最自然的通信媒介语音识别技术是非常重要的人机交互技术随着计算机和语音处理技术的发展语音识别系统的实用性将进一步提高应用语音的自动理解和翻译可消除人类相互交往的语言障碍国外已有多种基于语音识别产品如声控拨号电话语音记事本等的应用基于特定任务和环境的听写机也已经进入应用阶段这预示着语音识别技术有着非常广泛的应用领域和市场前景随着语音技术的进步和通信技术的飞速发展语音识别技术将为网上会议商业管理医药卫生教育培训等各个领域带来极大的便利其应用和经济社会效益前景非常可观2 HTK简介HTKHidden Markov Model Toolkit是一个工具箱用于搭建Hidden Markov 模型HMM21 HTK原理HTKHidden Morkov Model Toolkit是英国剑桥大学工程系开发的一套构建隐马尔可夫模型HMMs的工具集HTK 工具箱是使用HMM 模型作为语音识别核心的当HMM 应用于孤立词语音识别时它用不同的隐含状态转移描述不同的语音发音对于连续语音识别系统多个孤立词HMM子模型按一定的语言模型组成的复合HMM 模型序列来刻画连续的语音信号在序列中的每个模型直接对应于相关的发音在孤立词识别中对于训练数据需要为每一个发音单元提供边界信息常使用手工标注的方法实现一般情况下在连续语音识别的模型训练中发音单元的边界信息是不需要的只需要包含相应的发音序列的描述文件在HTK 中使用MLF 格式的文件来描述发音序列其广泛应用于语音识别语音合成字符识别和DNA 排序等领域但工具集设计的目的主要是建立语音识别系统语音识别技术主要有特征提取模型训练以及模式匹配准则三个方面此外还涉及到语音识别单元的选取语音识别系统主要包括语音特征参数的数据准备工具模型训练工具语音识别工具和模型分析工具目前HTK 的稳定发行版本是34 版本所有代码使用 c 语言编写可以在Windows和Linux 上编译使用HTK 的特点是开放源代码用户可以在分析其代码的基础上对某些算法和模块进行修改HTK 工具包的结构如图2 所示图 2 HTK工具包结构图22 HTK的应用隐马尔可夫模型HMM是20 世纪70 年代引入了语音识别领域它的出现使得自然语言识别系统取得了实质性的突破HMM 已经成为语音识别的主流技术目前大多数的语音识别系统都是基于它的HTKHMM tools kit是剑桥大学开发的一个专门用于建立和处理HMM 的实验工具包主要应用于语音识别领域也可以应用于语音合成字符识别和DNA 排序等领域HTK 经过剑桥大学Entropic 公司以及Microsoft 公司的不断增加和改进使其在语音识别领域处于世界领先水平另外HTK 还是一套源代码开放的工具箱其基于ANSI C 的模块化设计方式可以方便地嵌入到用户系统中23 HTKLib 和 HTKTools对于HTK语言层模型基本不会用到而比较重要的两个文件夹是HTKLib 和HTKToolsHTKLib 里面包含了语音信号处理所用到的资源文件如内存的分配HMem信号处理HSigP参数产生HParm 数学计 HMath 等这些模块构成了HTK 的主体结构HTKTools 则是利用上面文件夹里面的库文件链接生成一些可以执行的程序例如在HTKLib 里面HSigpc 完成了预加重信号加窗FFT 等方面的算法从语音信号处理方面来讲他提供了LPCCMFCCPLP 的计算细节但是HTKLib 提供的只是上述计算的一些子程序具体把上述子程序串起来生成所提到的参数则是HParm 的内容还有其他一些库文件HRec 实现识别功能HAdapt 实现说话人自适应HWave 提供跟不同语音格式文件的接口等而上面提到的HSigp 和HParm 只是库文件如果没有其他文件调用它们永远不可能自己运行HTKTools 就是一些入口程序通过这些程序对源文件的调用从而形成不同功能的可操作平台例如HCopy 可以实现对输入的wav 文件生成它所对应的信号参数序列等另外还有一些其他的工具如HERest 用来训练模型HVite 用来识别24 HTK安装首先在httpcomacuk上下载HTK34版本的HTK工具包在计算机上安装VC60安装流程如下1将C\Program Files\Microsoft Visual Studio\VC98\Bin路径添加到系统环境变量中2 在DOS窗口中进入HTK工具包存储的文件夹输入命令vcvars32会显示设置VC的环境变量3建立HTK Librarycd HTKLib nmake f htk_htklib_ntmkf all退回根目录4建立HTK工具cd HTKToolsnmake f htk_htktools_ntmkf allcd HLMLibnmake f htk_hlmlib_ntmkf allcd HLMToolsnmake f htk_hlmtools_ntmkf all执行完这些指令后HTK Tools已经建立在了binwin32中5将binwin32文件路径添加到系统环境变量中完成上面步骤后HTK就安装完毕直接可以使用3 设计内容与设计指标31 系统设计内容本设计是基于HTK的命令字语音识别系统将对10个命令字进行识别它们分别是开机关机升温降温制热制冷强风弱风摆风静止语料的构成包括训练级23个人每个人按顺序说这10个命令字3遍测试级7个人每个人按顺序说这10个命令字3遍其中还要注意停顿和结束时的静音识别我们要对所有的预料进行训练最后得到识别的结果最后用VC设计GUI界面对识别系统进行控制并显示是别结果32 系统整体构造框图根据 HTK 语音识别原理搭建一个语音识别系统一般分为四步数据准备模型训练模式识别和模型分析使用HTK 构建的语音识别系统的体系结构如下图3所示图 3 HTK语音识别体统框图总的来说整个系统可以分为三个部分数据准备训练识别评估数据准备又可以分为1建立任务语法grammar根据wlist生成2创建一个字典文件Dictionary应上步的模型3创建transcription files抄本文件用于训练数据训练部分分为1对数据进行编码提取特征的过程2重复训练语音文件模型3高斯扩展混合模型并反复训练识别部分分为1对测试级的数据进行识别和评估2显示识别结果4 系统搭建思路和具体步骤41 搭建前的准备工作com 语料库语料的构成包括训练级23个人每个人按顺序说这10个命令字3遍测试级7个人每个人按顺序说这10个命令字3遍其中还要注意停顿和结束时的静音识别语料库是由录好的语音文件经由HCopy工具提取语音文件的Mel倒谱系数转换成了相应的MFCC文件存放在相应的文件夹中com 手动生成文件首先我们需要手动生成wlistfulldctconfig_mfc_edacfgaudiocfgprotomacros文件这里的wlist文件包括kaijiguanjishengwenjiangwenzhirezhilengqianfengruofengbaifengjiangzhifulldct是包括是个命令字的含有sil的字典文件config_mfc_edacfg文件是将已经提取参数后得到的MFCC_E类型模型的mfc文件转换为MFCC_E_D_A类型的配置文件Proto文件是前缀模型文件其参数开始可以任意设置Macros文件是宏文件com 自动生成文件这里需要用perl语言编写perl文件来生成我们后面搭建过程中所需要的文件以下文件可以均由perl文件自动生成globaldedmkpholedtr_wordmlfte_wordmlfincmix2hed incmix4hedincmix6hed silhed①globalded文件可以由creat_dedpl文件来自动生成在使用HDman工具来获取准确的发音文件时需要用到该文件②mkpholed文件可以由mk_mkphopl文件来自动生成tr_wordmlfte_wordmlf 文件可用mkmlfpl文件来生成编写perl文件时可以用get_subdir函数来获取所有录音文件目录并将其文件名改成后缀为lab的形式输出其对应的命令字在使用HLEd工具来生成扩展标签文件phomlf时需要用到即当遇到mkpholed文件中EX命令时读取字典文件中的命令字并在命令字发音前后插入sil③incmix2hed incmix4hedincmix6hed可以由mk_incmixpl文件来产生这三个文件在对HMM模型进行高斯扩展是需要用到④silhed文件可以有mk_silhedpl文件自动生成在使用HHEd命令对HMM进行定义将sp和sil合并后并输出这是需要用到silhed文件42 数据准备com 建立任务语法grammar首先由已经准备好的wlist文件该文中列出了所有的十个需要识别的词语包括kaijiguanjishengwenjiangwenzhirezhilengqianfengruofengbaifengjiangzhi 然后用wlist文件来生成语法测试文件grammar此过程由运行perl文件mk_cmd_grampl来完成文件按内容为command kaijiguanjishengwenjiangwenzhilengzhireqiangfengruofengbaifengjingzhi[silence] command [silence]上面的语法是高层表示必须通过HParse转换成HTK的底层表示生成wordnetHParse grammar wordnet运行命令流程图见图4图4运行HParse命令流程图通过运行perl文件mkmlfpl来创建没有短暂停SP的音节水平副本文件tr_wordmlf这个副本文件中列出了所有的MFCC文件名并加上了lab后缀以特定的形式输出com 建立字典文件①首先需要手动建立一个字典文件fulldct包含每个命令字的发音fulldct usefuldct②通过HDman工具生成每个词语发音后面都有短暂停sp的usefuldct字典文件使用HDman工具的流程图为图 5运行HDman命令的流程图hdman -m -w DEF\WDL -e EDF -n LST\HMMLST_SP -l DEF\dlog DEF\usefuldct DEF\fulldct-m 表示合所有源字典的发音每个词语都生成一个发音假如输入的字典对一个词语有不同发音就使用第一次遇到的发音-w 下载wlist文件-e 寻找文本文件-n 输出遇到的清楚的音节到文件mon_sil_sppho中-l 写入一个记录档到dlog文件中文件中包含了字典统计和每一个音节发生的次数③通过运行perl文件add_siloutsympl给输出标志位silence [] sil后面添加短暂停SP④用DOS命令 echo sp sp DEF\usefuldct实现给usefuldct字典增加sp sp 表示将输出接在目标文件的后面不覆盖原文件内容43 创建单音素HMM模型com 创建音素水平副本文件通过HLEd工具来生成含有sil标志的标签文件phomlf这个过程中需要用到标签文件tr_com需要usefuldct字典文件完成如图6中所示的过程图6 运行HLED命令流程tr_wordmlf文件形式为MLF"a0lab"kaiji"a1lab"guanjimkpholed文件可通过运行perl文件mk_mkphopl生成也可以手动生成mkpholed文件包含的命令为EXIS sil silDE spEX代替tr-wordmlf文件中的相应的发音IS插入一个标记silDE删除所有的短暂停标记sp运行命令HLEd -l -d DEF\usefuldct -i MLF\PHO EDF\mkpholed MLF\TR_SYL-l 使在输出的到phomlf的标签文件前面加上前缀-i 指定输出宏标签文件phomlf生成的phomlf文件的形式为MLF"a0lab"silkaijisil"a1lab"silguanjisilcom 创建flat start的单音素①创建一个创建一个声学分析训练集脚本文件这里我们可以生成两个显示MFCC存储路径的脚tr_mfcscp 训练级te_mfcscp 测试级这路的两个文件可以用perl文件mkscpfilepl自动生成分别匹配训练集和测试集训练集放入训练集指定路径中测试集放入测试集的指定路径中图7 mkscpfilepl程序流程图②生成MFCC文件MFCC文件是对录音文件提取参数得来的这里制作简要的介绍Hcopy命令生成MFCC文件图8 运行Hcopy命令流程图Hcopy -T 1 -C j\config\config_hcopy -S j\perl\hcopyscp在指定的路径中生成MFCC文件hcopycfg文件内容WAVFORM-- MFCC config fileSOURCEKIND WAVFORMSOURCEFORMAT WAVSOURCERATE 1250TARGETKIND MFCC_ETARGETRATE 100000WORDSIZE 200000NUMCHANS 24NUMCEPS 12SAVECOMPRESSED FSAVEWITHCRC F③计算全局均值和方差我们首先要得到训练数据的均值和方差信息所以我们需要用到HCompV工具对训练数据进行初始化指令为HCompV -C CFG\CONFIG -f 001 -m -S SCP\TR_SCP -M HMM\hmmdst PRO\PROTO 指令中各个选项的功能为-C 指定配置文件config_mfc_edacfg-f 创建的方差层的macros的值等于全局方差的001倍为每一个输入流创建了macros并把输出保存在vFloors文件中-m 更新所有的含有从训练文件中计算出样本均值的HMM组件-S 指定系数文件路径的脚本文件tr_mfcscp-M 存储输出的HMM宏文件模型包括macrosvFloorsproto和hmmdefs文件这里dst 0HMM\hmmdst表示model\hmmdef\hmm0所以我们需要事先在指定目录下建立hmm0文件夹在进行初始化之前我们需要准备proto文件放在model文件夹中的proto中主要作用是定义hmm的结构其参数可以任意假设proto文件内容o 39h "proto"523900 00 00 00 003910 10 10 10 1043900 00 00 00 003910 10 10 10 10500 10 00 00 0000 06 04 00 0000 00 06 04 0000 00 00 07 0300 00 00 00 00这里的config_mfc_edacfg文件是在初始化的时候由MFCC_E转化为MFCC_E_D_A时所需要的参数配置文件config_mfc_edacf配置文件参数设置如下SAVEGLOBOPTS TRUE 是否保存全局的选择SOURCEKIND MFCC_E 源HMM模型的类型SOURCEFORMAT HTK 源文件格式为HTKSOURCERATE 100000 源文件的速率ZMEANSOURCE FALSE 是否零源波形分析TARGETKIND MFCC_E_D_A 目标HMM模型类型TARGETFORMAT HTK 目标格式TARGETRATE 100000 com 目标的速率SAVECOMPRESSED FALSE 是否以压死形式保存输出文件SAVEWITHCRC FALSE 是否给输出文件添加校验和WINDOWSIZE 2500000 com 加窗的长度USEHAMMING T 是否用汉明窗PREEMCOEF 097 预加重系数USEPOWER F 是否使用不是很强的功率NUMCHANS 26 滤波器组频道的数量CEPLIFTER 22 倒谱同态滤波系数NUMCEPS 12 倒谱参数的维数DELTAWINDOW 2 三角窗口大小ACCWINDOW 2 加速窗口大小ENORMALISE T 正常化对数能量HSHELL TRACE 0002HLABEL TRACE 0010HNET TRACE 0001HREC FORCEOUT T在提取的参数HMM模型类型MFCC_E_D_AMFCC类型表示由HCopy对源录音文件提取参数转换成MFC文件后的维数在参数配置文件中已经给出NUMCEPS 12 _E表示在后面添加了对数能量相当于增加了一维即MFCC_E有13维D表示添加三角系数其长度为13A表示添加加速系数其长度也是13所以MFCC_E_D_A类型的维数为MFCC_E 13 _D 13 _A 13 39 我们可以通过HList对其查看HList -C G\wodebishe\config\config_mfc_edacfg -o -h -t -s 100 -e 104。

基于HTK的语音识别的语料搜集与语言模型

基于HTK的语音识别的语料搜集与语言模型
< AL TB E
网页 中的链接 看作有 向边 。其 中 ,节点集 N N ,N) 是 超链 接集 合 。叶 =(O m ,E
子 节 点可 以是 网页文 件 ,也 可 以是 图形 、音频 等 媒体 文件 。所有 的非 叶子
节 点是 网页 文件 。 因此爬 虫在 抓 取 网页 的时候 ,可 以使用 有 向图遍 历 算法 ( 度优 先算法 和广 度优 先算法 )对 其进 行遍 历 。 深 12 爬 虫 的搜 索 策 略 。 目前 ,爬 虫 在 抓 取 网页 时 , 一般 采 用 两 种策 . 略 :广度优 先和 深度优 先 。 所谓广 度优 先是 指爬 虫沿 着树 的 宽度 方 向遍 历 ,直 到抓 完起 始 网页 中 链接 的所有 网页 ,然后 再选 择其 中 的一个链 接 网页 ,继续这 个过 程 。 所谓深 度优 先是 指爬 虫沿 着树 的纵 深方 向遍 历 图中没 有 被访 问过 的节 点 。 由于深度 优 先是 一个 递归 的过 程 ,爬 虫程 序在 执行 的 时候 就要 大 量消
取领 域, 已经有 大量 的研 究工 作 ,基 本可 分为 结构 分析法 、t g 析法和 机 a分 器 学习法 等 。我 们需 要提 取 网页 中 的文字 信 息来 训练 我们 的语 言模 型 ,而 对于 HM 页面 中的一 些控 制信 息 ,如 控制 字体 大 小 ,颜色 的信 息 是不 需要 TL 的 。 所 以首 先 要 将 这 些 信 息 从 HM 文 件 中 去 除 。 此 类 信 息 往 往 是 放 在 TL “ > 中的 ,所 以我们 只 要在 脚本 中 查找 成对 的尖 括 号 ,并将 其 中的信 息 <” 去 除就 达到 目的了 。例 如有 下面 一段信 息 需要处 理 :
需要去掉的就是 述成 一个通 用 的格式 : < 舍弃 的信 息> 要

HTK分析,语音识别

HTK分析,语音识别

第一章HTK基础HTK是用来创建隐马尔可夫模型(HMMs)的工具集。

HMMs可用来进行任意时间的语音建模,而且HTK的核心是通用的。

HTK首要设计目标是创建基于HMM的语音处理工具,具有特殊功能的识别器。

因此,支持HTK的大部分基础框架都侧重于这项任务。

如上图所示,涉及到两个主要的处理阶段。

首先,HTK训练工具是采用训练声音以及它们相关联的脚本,来建立一套HMM的参数集。

其次,未知的语音可用HTK识别工具转换成文本。

本书的主体设计到以上两个过程的机制。

三是,在进入详细说明钱,应该先了解一些HMMs的基础原理。

这对于我们了解该工具集以及理解HTK如何进行训练和识别过程将非常有帮助。

本书的第一部分尝试提供这些信息。

本章中,将介绍HMMs的基本思想以及在语音识别中如何应用HMMs。

接下来的内容将简单展现HTK的概貌,对于HTK老版本的用户,应重视2.0和后续版本的主要区别。

最后,在本书第三章的实例部分,描述了如果用HTK创建一个基于HMM的语音识别系统。

该实例描述了一个小词汇量连续语音识别系统的构造过程。

本书的第二部分对以上话题进行详细的介绍。

在阅读的过程中可以同时阅读第三部分以及本书的最后部分了解HTK的参考手册,该手册包含了每个工具的描述、概要以及用来配置HTK 各种古铜的参数以及功能在错误情况下产生的一系列的错误提示信息。

最后,注意本书关注的是使用HTK作为工具,并不提供使用HTK库作为编程环境的任何信息。

HMM基本原理图1.1 信息编码/解码语音识别系统普遍假定语音信号是有一个或多个符合组成的符号序列(见图1.1)Speech recognition systems generally assume that the speech signal is a realisation of some message encoded as a sequence of one or more symbols (see Fig. 1.1). To effect the reverse operation of recognising the underlying symbol sequence given a spoken utterance, the continuous speech waveformis first converted to a sequence of equally spaced discrete parameter vectors. This sequence of parameter vectors is assumed to form an exact representation of the speech waveform on the basis that for the duration covered by a single vector (typically 10ms or so), the speech waveform canbe regarded as being stationary. Although this is not strictly true, it is a reasonable approximation. Typical parametric representations in common use are smoothed spectra or linear prediction coefficients plus various other representations derived from these.The rˆole of the recogniser is to effect a mapping between sequences of speech vectors and the wanted underlying symbol sequences. Two problems make this very difficult. Firstly, the mapping from symbols to speech is not one-to-one since different underlying symbols can give rise to similar speech sounds. Furthermore, there are large variations in the realised speech waveform due to speaker variability, mood, environment, etc. Secondly, the boundaries between symbols cannotbe identified explicitly from the speech waveform. Hence, it is not possible to treat the speech waveform as a sequence of concatenated static patterns.The second problem of not knowing the word boundary locations can be avoided by restrictingthe task to isolated word recognition. As shown in Fig. 1.2, this implies that the speech waveform corresponds to a single underlying symbol (e.g. word) chosen from a fixed vocabulary. Despite the fact that this simpler problem is somewhat artificial, it nevertheless has a wide range of practical applications. Furthermore, it serves as a good basis for introducing the basic ideas of HMM-based recognition before dealing with the more complex continuous speech case. Hence, isolated word recognition using HMMs will be dealt with first.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于HTK的特定词语音识别系统①曾 妮,费洪晓,姜振飞(中南大学软件学院,长沙 410075)摘 要:语音识别技术经过半个世纪的发展,目前已日趋成熟,其在语音拨号系统、数字遥控、工业控制等领域都有了广泛的应用。

由于目前常用的声学模型和语言模型的局限性,计算机只能识别一些词汇或一些句子。

语音识别系统在语种改变时,往往会出现错误的识别结果。

针对上述问题,结合隐马尔可夫模型原理,在HTK 语音处理工具箱的基础上构建了中英文特定词语音识别系统。

该系统通过代码控制整个构建过程,使其在更换新的训练数据和词典后能快速生成对应的识别模型。

关键词:语音识别;隐马尔可夫模型;HTKSpecific Speech Recognition System Based on HTKZENG Ni, FEI Hong-Xiao, JIANG Zhen-Fei(School of software, Central South University, Changsha 410075, China)Abstract: Having developed about 50 years, the speech recognition (SR) technique has a wide range of applications in many fields, such as voice dialing system, digital remote control and industrial control. But the limitation of acoustic and language model is that the computer can only recognize some words or sentences. When the speech language changes, the system often gets wrong results. To address the problem above, the speech recognition system has been built on the basis of HTK as well as hidden markov model theory. Controlling the building process by code, the system can quickly generate a new recognition model when the training data and dictionary has changed.Keywords: speech recognition; Hidden Markov model; HTK随着信息时代的到来,计算机成为人们日常生活不可缺少的工具,但人与计算机之间的交互方式仍然以鼠标键盘为主,为了使计算机能和人更好地交互,一些基于语音识别、机器翻译、语音合成的人机交互通信系统不断出现,使语音交互系统成为人机对话的一般工具。

语音识别是机器通过识别和理解过程把人类的语音信号转变为相应的文本或命令的技术。

其根本目的是研究出一种具有听觉功能的机器,这种机器能直接接受人的语音,理解人的意图,并作出相应的反应[1]。

HTK是指隐马尔可夫模型工具箱,最初由英国剑桥大学工程系的语音视觉和机器人技术工作组开发,主要应用于语音识别,也可应用于语音合成、字符识别、DNA排序模拟等多个领域[2,3]。

就语音识别系统而①收稿时间:2010-07-15;收到修改稿时间:2010-08-25言,从特征提取、HMM编辑与训练、识别、词典管理、标记文件管理等方面,HTK都提供了丰富的工具。

目前使用的声学模型和语言模型太过局限[3-5],以致计算机只能识别一些词汇或一些句子。

如果突然从中文转到英文,计算机就会不知如何反应,而出现错误的识别,或者用户使用了某个领域的专业术语,可能不能得到正确的识别。

针对上述问题,在HTK的基础上考虑构建中英文特定词语音识别系统。

通过代码控制整个构建过程,使其在更换新的训练数据和词典后能快速生成对应的识别模型。

1特定词语音识别系统的设计1.1 语音数据库的设计在自动化、工业控制等诸多领域,人们常常使用数字0到9作为指令,数字语音相对其他单词语音有着更为广泛的应用范围,因此系统选择中文和英文的数字0到9作为识别的特定词,包括英文中0的第二种发音oh总共21个词。

1.2 任务语法与词典的设计该系统属于孤立词语音识别系统,任务语法比较简单,可以定义为 (SENT-START($digit)SENT-END)。

其中SENT-START和SENT-END分别表示句子的开始和结束,开始和结束一般为静音。

$digit是表示要识别的数字。

语音识别系统中把识别单元划分到音素往往比直接用单词的识别效果好。

但该系统中的语音数据中英文之间有些音(如,英文的/th/、中文的/ue/)在另一种语言发音中无法找到对应,因此识别单元只做到单词级。

1.3 系统建模的流程图1系统建模流程图系统建模过程与一般的孤立词语音识别系统建模过程一致,其流程如图1所示。

首先由用户给出系统所在的根目录,根目录中包含了建模过程需要用到的gram文件、训练及测试语音文件。

其次控制代码自动生成语音识别系统的文件目录结构。

根据之前给出的gram文件生成系统所需的语法及词典文件。

根据训练语音数据和测试语音数据自动生成对应的真值文件。

接着对训练语音提取特征参数。

创建原始模型并将计数器置为1。

之后判断计数器是否大于3,如果不大于则训练模型,否则进入下一步修补哑音并重置计数器到1。

重估模型三次后对测试语音进行识别,最后输出对识别结果的分析数据。

2特定词语音识别系统的实现2.1 训练语音的制作所有语音数据都是使用HTK中的HSLab工具进行录制和标注。

训练语音数据和测试语音数据录制好后,将所有的语音文件和标注文件存放在data 文件夹中。

data文件夹下的train文件夹中存放所有的训练语音数据,test文件夹中存放测试语音数据。

2.2 任务语法及词典的定义系统的任务语法比较简单,语法文件命名为gram存放在根目录下,值得注意的是gram文件结尾需要一个空行作为结束标志,否则无法被识别。

gram中的内容是任务语法的高层表示,系统无法直接使用,为了得到可用的任务语法需要用HParse 进行转换。

控制代码将自动生成HTK可用的任务语法文件wdnet。

词典定义了整个系统可能出现的所有词。

系统所有要识别的词有21个,包括静音和sp(short pause)总共23个词。

将这23个词存放在monophones 文件中,准备另一个monophones0文件,内容和monophones基本一样,只删除了sp,用于建立不包含sp的模型。

词典的定义文件统一放在dict文件夹下。

2.3 确定特征参数并构建原始模型系统的特征参数等配置文件存放在def文件夹中,提取语音数据特征参数的配置文件为config。

系统根据配置文件和特征参数目标文件自动提取参数特征。

提取完训练语音的特征参数后开始构建原始模型。

构建原始模型需要:一个训练数据mfcc的列表,存在trainMFCC.txt中;配置文件config;一个基本模型,确定模型的状态数等特征;以及要创建的模型的目录。

准备好初始化原始模型的文件后,通过控制代码在models/hmm0中得到生成的原始模型,模型包括两个文件vFloors和proto。

生成的这些值用于训练重估模型时估计的变化向量的基底。

但生成的文件由于缺少HTK文件的头文件描述,不能直接用于模型的重估。

需要控制代码修改此文件,添加头文件描述~o <VECSIZE> 39 <MFCC_0_D_A>。

生成的第二个文件proto是基本proto的更新。

proto文件也需要修改才能用于之后的模型训练。

系统包括sil共有22个识别语音,对每个识别语音要建立HMM模型,每个模型的原始情况就是proto中数据描述的情况,因此需要将proto中的内容重复21遍(总共22组),每一组~h “proto”中的proto替换为要识别的模型名称,如sil对应地修改成~h “sil”。

2.4 训练模型得到原始模型后就可以开始对模型进行训练重估。

训练模型用到的HTK工具为HERest,重估模型需要用到之前定义的词典、特征参数的配置文件、训练数据MFCC列表文件、训练数据的真值文件以及上一次训练的模型,对于第一次训练就是指hmm0文件夹。

真值文件可以在训练语音制作的阶段制作,存放了所有训练语音数据的标注内容。

控制代码将执行三遍模型训练,分别生成hmm1、hmm2、hmm3三个文件夹。

这三个生成的文件夹内的训练模型中没有包含sp的模型,在hmm4中加入sp 模型。

sp类似于sil,sp的模型数据就来源于sil。

与sil模型不同的是sp模型使用3状态数,因此在复制sil的内容后需要修改<NumStates> 为3,保留<State> 3的内容并标记为<State> 2。

最后复制转移矩阵的中间状态为sp的转移矩阵。

用加入了sp的模型再重估三次生成hmm5、hmm6、hmm7,hmm7就是最终得到的训练好的模型。

2.5 识别输入语音识别测试语音可以通过控制代码自动识别存放在data/test下的语音数据文件,控制代码将最后给出识别语音结果分析。

另一种识别语音的方式允许用户直接输入语音,但是需要提前准备一个文件directin.conf配置相关参数,在控制台中输入HVite -C def/directin.conf -e -g -H models/hmm7/hmmdefs -w wdnet dict/dict dict/monophones。

出现提示符READY[1]表示开始录音等待输入信号,按下回车可以停止录音,随后显示识别结果并播放之前录制的语音。

3系统测试与结果分析HTK中的HResults工具可以进行系统性能评估。

第一次得到对识别结果的统计数据,如图2所示,该系统是孤立词识别系统,因此单词识别率和句子识别率一致。

图2第一次HResults执行结果图HResults对data/test/testwords.mlf和results/recout.mlf两个文件进行了对比,第一个文件是应该识别的结果,后一个文件是识别输入语音时得到的识别结果。

从图中可以看出单词和句子的识别率都为95.24%,第一行H=20表示正确识别的数量为20,S=1表示识别错误的数量为1,N=21表示总共要识别的数量为21。

第二行的D 表示词删除错误,I表示词插入错误,其他的同第一行。

相关文档
最新文档