首页 > 范文大全 > 正文

基于HTK的语音拨号系统设计与分析

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于HTK的语音拨号系统设计与分析范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

(1.广西师范大学 电子工程学院,广西 桂林 541004;2.广西师范大学 计算机科学与信息工程学院,广西 桂林 541004)

摘要:介绍了一种基于htk语音拨号系统设计方案。方案中以HMM实验工具包HTK3.3为工具,通过对拨号语音提取39维MFCC特征参数,采用基于模板匹配的训练方法,完成了拨号语音识别系统的构建,并对该系统进行了性能分析

关键词:语音拨号;模式识别;隐马尔科夫模型;隐马尔科夫工具箱;Mel频率倒谱系数

中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)28-7932-02

Design and Analysis of A Voice Dialing System Based on HTK

CHEN Xin-rui1, JIANG Zheng-feng2, LU Shi-peng1

(1.Electronic Engineering Institute of Guangxi Normal University, Guilin 541004, China; puter Science and Information Engineering Institute of Guangxi Normal University, Guilin 541004, China)

Abstract: Introduced a HTK-based voice dialing system design.Used HTK3.3 as a tool and used training method based on template matching,by extracted 39-dimensional MFCC feature parameters of the dial-up voice, has completed the digit dialing speech recognition system's construction, and has carried on the performance analysis to this system.

Key words: voice dialing; pattern recognition; HMM; HTK; MFCC

信息科技的快速发展,使得数字语音拨号系统的推广应用日益广泛。语音拨号的实用化会在众多场合给人们带来便捷,如司机开车、黑夜或盲人拨打电话时,用手指拨电话号码是很不方便或不安全的,而最自然的方式就是采用语音拨号,因此具有语音识别能力,能够进行声音拨号的系统,有着较好的市场前景,对于高性能低成本的数字语音识别系统的研究具有很强的应用价值。HTK(HMM tools kit)是剑桥大学开发的一个专门用于建立和处理HMM的实验工具包,主要应用于语音识别领域,也可以应用于语音合成、字符识别和DNA排序等领域,它有着源代码开放以及基于ANSI C的模块化设计等特点,可以方便地嵌入到用户系统中。

1 基于HTK的语音拨号系统的构建

隐马尔可夫模型(Hidden Markov Model)即HMM是现今语音识别的主流技术,目前大多数的语音识别系统都是基于它的。要把HMM应用于实际,必须解决的三个基本关键问题是[1]:1)输出概率的计算问题:给定观察序列O=O1,O2,…,OT和HMM模型λ=(π,A,B),如何计算观察序列对HMM模型的输出概率P(O|λ)。2)状态序列解码问题:给定观察序列O=O1,O2,…,OT和HMM模型λ=(π,A,B),如何确定一个最优的状态转移序列q=(q1,q2,…,qT)。3)模型参数的估计问题:如何调整λ=(π,A,B)的参数,使P(O|λ)最大。针对上述问题,前人分别提出了三种解决方法即前向-后向算法、Viterbi算法、Baum-Welch算法。本文在把HMM应用于语音识别时采用连续混合密度HMM模型,以摒弃离散HMM模型因矢量量化而造成的语音信号丢失的不足,并选择了从左到右、有跳变的HMM结构。连续HMM语音识别具体实施方案:1)端点检测;2)提取MFCC参数和一阶差分MFCC参数;3)对数形式Viterbi算法;4)将训练所得的HMM模型用于对训练集和测试集的识别,得到识别结果并保存。其征参数的选择与提取是语音识别的关键任务。Mel频率倒谱系数(MFCC) 将人耳的听觉感知特性和语音的产生机制相结合, 是将频谱转换为基于Mel频标的非线性频谱,然后转换到倒谱域上,因而被目前大多数语音识别系统所采用。Mel频率倒谱系数(MFCC)的提取过程如图1所示。图中s(n)为原始语音信号,x(n)为分帧后的时域信号,预加重是将语音信号 s(n) 通过一个高通滤波器H(z)=1-a*z-1,文中取预加重系数a=0.9375,加汉明窗,用工具Hsigp可完成预加重和分帧。分帧时帧长和帧移的大小由信号的采样频率决定。X(k)为线性频谱,s(m)为Mel能量谱取对数,c(n)为Mel频率倒谱系数,c^(n)为所求的MFCC特征参数。

HTK工具箱中比较重要的两个文件夹是HTKLib和HTKTools。HTKLib里面包含了语音信号处理所用到的资源文件,如内存分配(HMem)、信号处理(HSigP)、参数产生(HParm)、数学计算((HMath)等,这些模块构成了HTK的主体结构;HTKTools作为入口程序,利用上述文件夹里面的库文件,通过对源文件进行调用,链接生成一些可以执行的程序。根据HTK语音识别原理,搭建一个语音识别系统一般分为四步: 数据准备,模型训练,模式识别和模型分析。其语音识别系统框图如图2所示。也可理解为包括语音信号预处理、特征提取、特征建模(建立参考模板库)及模式匹配等几个功能模块,即训练和识别两个阶段。

汉语普通话是以字为单元的,从声学角度看,汉语中一个字就对应一个音节。音节结构的显著特点是声、韵母结构,一般每一个音节都有韵母,因而音节划分成声韵母音素作为识别单元符合汉语特点,也将推动汉语语音识别向大词汇量连续语音识别的方向不断发展。在本系统中分别采用了不同的识别单元,并建立了不同字典。对于语音拨号电话类的系统,它要求能够识别用户的语音输入,主要是人名和电话号码的语音识别。

系统所用语音数据由CoolEdit2.1软件录制,数据采样率为16000Hz,量化精度为16bit,是一个人的200个语音样本,其中100样本作为训练集,另外100样本作为测试集,包含有14个不同的电话号码以及6个人名,录制环境为实验室。系统用工具Hcopy对拨号语音提取39维的梅尔倒频谱参MFCC包括12阶的频谱值加上能量值,并取其一阶差分作为语音特征参数,声学模型状态数目分别为:音节状态数6个、声母状态数3个、韵母状态数6个、静音状态数3个、间隔符状态数1个。系统的概要构建步骤是:在定义任务语法后通过HParse转成HTK可用的底层表示。使用任务语法产生真值文本,再进行字典定义,用工具HLEd通过一个转换规则文件,将词级的mlf文件转换为音节级的mlf文件,用工具HCopy进行特征提取,用工具HCompV计算训练数据的均值与方差,采用工具HERest对HMM模型进行训练,再进行重复估算,建立一个识别结果输出的目录,执行HVite进行Viterbi校准,将所有用到过的字,全部列表到wordlist文件中进行识别得到最终识别结果。

2 语音拨号系统性能分析

在系统测试中,分别采用三种不同的语音识别单元进行识别实验,并且增加高斯分量个数以测试其对识别的影响情况,得到的实验结果如表1所示。本文用到的识别率有三种,分别为句识别率(SRR)、词识别率(WRR-WC)和考虑插入错误的词识别率(WRR-WA)。

从表1中的识别结果可以得出这样的结论:不含间隔的音节作为声学模型识别效果是最好的,而有间隔的音节要比声、韵母效果要好。[2]高斯混合分量个数的增加加大了语音拟合效果从而使对应识别单元的识别率有所提高。因而对于汉语连续数字和连续词结合的语音识别,可以选择音节作为声学模型,以提高系统的识别率。对于特定人的语音识别,当训练语音集越大时,识别率就越高。该系统的识别包括两部分语音的识别,电话号码的识别和人名的识别,两者的组合识别要比单独识别的识别率低。由于待识别语音的汉字或者数字在排序上存在着相互重合的现象,因此有必要建立一个最优的语音识别网络,从而提高系统的识别率。

参考文献:

[1] Rabiner L R,Fellow.IEEE A Tutorrial on Hidden Markov Models and Selected Applications in Speech Recognition[C].Proceedings of the IEEE,1989,77(2).

[2] 蒋正锋.基于HTK的汉语连续数字语音识别研究[D].广西师范大学硕士研究生学位论文,2008

[3] Flandrin P,Gabriel Rilling G,Goncalves P.Empirical mode decompositon as a filter bank[C].IEEE Signal Processing Letters 2004,11(2):112-114.

[4] Benjamin J S,Kuldip K P.Feature extraction form higher-lag autocorrelation Coefficients for robust speeeh recognition[J].Speech Communication,2006(48):1458-1485.

[5] 赵力.语音信号处理[M].北京:机械工业出版社,2003.

[6] 侯周国.基于HMM的汉语数字语音识别系统研究[D].湖南师范大学硕士研究生学位论文,2006.

[7] 胡航.语音信号处理[M].哈尔滨:哈尔滨工业大学出版社,2000:20-24

[8] 蔡莲红,黄德智,蔡锐,等.现代语音技术基础与应用[M].北京:清华大学出版社,2003.

[9] 张雄伟,陈亮,杨吉斌.现代语音处理技术及应用[M].北京:机械工业出版社,2003:97

[10] What is HTK[EB/OL].htk.eng.cam.ac.uk.