语音辨认是机器经过辨认和了解进程把语音信号转变为相应的文本文件或指令的高技能。作为专门的研讨范畴,语音辨认又是一门交叉学科,它与声学、语音学、言语学、数字信号处理理论、信息论、核算机科学等许多学科严密相连。语音辨认经过四十多年的开展,现已显示出巨大的运用远景。本文从完结原理下手,介绍语音辨认体系的完结办法。
1 概述
本汉语语音辨认体系是一个非特定人的、孤立音语音辨认体系。其间孤立音至少包含汉语的400多个调音节(不考虑腔调)以及一些常用的词组。辨认体系首要用于手持设备,如手机、掌上电脑。这些设备的CPU一般是DSP,硬件资源十分有限,并且大多不支持浮点运算。那么,对体系各个部分的规划首要考虑的是体系对硬件资源的开支有必要尽量的小,不能超过这些设备的约束。硬件资源的开支包含存储模型参数的开支,以及辨认进程中对内存、DSP的运转时刻的开支。
2 完结流程
一般的语音处理流程图如图1所示。
图1 语音辨认体系的处理流图
在语音辨认体系中,模仿的语音信号在完结A/D转化后成为数字信号,但时域上的语音信号很难直接用于辨认,因而需要从语音信号中提取语音的特征,一方面能够取得语音的本质特征,另一方面也起到数据压缩的效果。输入的模仿语音信号首先要进行预处理,包含预滤波、采样和量化、加窗、端点检测、预加剧等。语音辨认体系的模型一般由声学模型和言语模型两部分组成,别离对应于语音到半音节概率的核算和半音节到字概率的核算。
3 特征提取
现在通用的特征提取办法是依据语音帧的,行将语音信号分为有堆叠的若干帧,对每一帧提取语音特征。因为本技能计划选用的语音库采样率为8 kHz,因而选用帧长为256个采样点(即32 ms),帧步长或帧移(即每一帧语音与上一帧语音不堆叠的长度)为80个采样点(即10 ms)。
现有语音辨认体系选用的最首要的两种语音特征包含:
线性猜测倒谱参数(Linear Prediction Cepstrum Coefficient,LPCC),该特征是依据语音信号为自回归信号的假定,运用线性猜测剖析取得倒谱参数。LPCC参数的长处是核算量小,对元音有较好的描绘才能,其缺陷在于对子音的描绘才能较差,抗噪声功能较差。
Mel 频标倒谱参数(Mel Frequency Cepstrum Coefficient,MFCC),该特征考虑了人耳的听觉特性,将频谱转化为依据Mel频标的非线性频谱,然后转化到倒谱域上。因为充沛模仿了人的听觉特性,并且没有任何条件假定,MFCC参数具有辨认功能和抗噪才能,试验证明在汉语数码语音辨认中MFCC 参数的功能显着优于LPCC参数,因而本技能计划选用MFCC参数为语音特征参数。
求MFCC参数的大致进程为:
对输入语音帧加Hamming窗后做快速傅里叶改换(Fast Fourier Transformation,FFT),将时域信号转化为频域信号。
将线性频标转化为Mel频标。转化办法是将频域信号经过24个三角滤波器,其间中心频率在1 000 Hz以上和以下的各12个。滤波器的中心频率距离特色是在1000Hz以下为线性散布,1000Hz以上为等比数列散布。三角滤波器的输出为:
式中:Xk为频谱上第k个频谱点的能量;Yi为第i个滤波器的输出;Fi为第i个滤波器的中心频率。
用离散余弦改换(Discrete Cosine Transformation,DCT)将滤波器输出改换到倒谱域:
式中:p为MFCC参数的阶数,这儿取p = 12.{Ck}k = 1,2,…,12即为所求的MFCC参数。
为表现语音的动态特性,在语音特征中加入了一阶差分倒谱,其核算办法如下式所示:
式中下标l与l – k表明第l与l – k帧;m表明第m维。
MFCC参数核算的关键是将线性功率谱S(n)转化成为Mel频率下的功率谱,这需要在核算之前先在语音的频谱范围内设置若干个带通滤波器Hm(n),m= 0,1,2,…,M – 1,n = 0,1,2,…,N/2 – 1.M为滤波器个数,N为一帧语音信号的点数。每个滤波器具有三角形特性,其间心频率为fm,它们在Mel频率轴上是均匀散布的。在线性频率上,当m 较小时相邻的fm距离很小,跟着m的添加相邻的fm距离逐步摆开。Mel频率和线性频率的转化联系如下:
这些带通滤波器的参数是事前核算好的。图2给出了滤波器组的散布图,其间M 挑选为26,FFT点数N为256,语音信号的采样频率为8000Hz。
图2 运用人耳仿生学特性规划的Mel标准滤波器组
4 测度估量
测度估量技能能够选用动态时刻弯折DTW、隐马尔可夫模型HMM或人工神经网ANN等算法,本项目选用国际上最先进的HMM,这样能够比较简略的完结非特定人,并且体系结构也比较灵敏、共同。
依据描绘的语音单位的巨细,HMM可分为:依据整词模型的HMM(Word based HMM)。其长处为能够很好地描绘词内音素协同发音的特色,建模进程也较为简略。因而许多小词汇量语音辨认体系均选用整词模型HMM.但在大词汇量语音辨认中因为所需树立的模型太多而无法运用。
依据子词模型的HMM(Sub Word based HMM)。该类HMM描绘的语音单位比词小,如英语语音辨认中的根本音素,汉语语音辨认中的半音节等。其长处为模型总数少,所以在大词汇量语音辨认中得到了广泛的运用。其缺陷在于其描绘词内协同发音的才能劣于整词模型,但因为子词模型现已得到了十分充沛的研讨,所以近年来在许多小词表运用辨认体系中也用了子词模型。本技能计划选用依据半音节(即声、韵母)的语音建模办法,其辨认模型拓扑结构如图3 所示,其间静音HMM选用1个状况,每一声母模型选用2个状况,每一韵母模型选用4个状况。
图3 辨认模型拓扑结构
依据输出概率散布的不同,HMM(隐含马尔科夫模型)可分为:
离散HMM(Discrete HMM,DHMM)。其输出概率是依据一套码本的离散概率散布,其长处在于因为完结了存储量和核算量都较小,所需的练习语音也较少,但其矢量量化的进程会形成功能的丢失。
接连HMM(Continuous Density HMM,CDHMM)。其输出概率是接连概率密度函数(一般是高斯混合密度函数)。其所需的练习语音较多,模型参数存储量和核算量都较大,在练习语音满意时,其功能优于DHMM.
半接连HMM(Semi Continuous HMM,SCHMM)。SCHMM是DHMM和CDHMM的折衷,与DHMM类似,其输出为一套码本,但每个码字均为一个接连概率密度散布函数,这一点与CDHMM附近。其功能和所需的练习语音等均介于DHMM和CDHMM之间。
考虑到汉语数码语音所需的模型较少,很简略取得满意多的练习语音,因而本技能计划选用了CDHMM为语音模型。
状况输出概率散布为混合高斯密度函数。其各重量核算如下:
总的概率输出即为各重量的加权和:
式中:s表明当时状况;M为混合重量数;u,Σ ,c别离为各混合重量的均值矢量、协方差矩阵和混合重量系数。
该算法运用Viterbi译码的进程进行帧同步的查找,易于实时完结,也简略归入语法信息。考虑到体系的实时完结性,本技能计划选用Viterbi译码作为体系的查找算法。
5 试验成果
在汉语全音节与词组混合的语音辨认使命中,得到的开始试验成果为:PC微机浮点算法条件下正确覆盖率不低于98%,定点算法的正确覆盖率不低于97%。DSP嵌入体系定点条件下正确覆盖率不低于96%。体系的呼应时刻满意实时辨认的要求。经过测验组严厉的查看及抽样测验,证明上述成果实在牢靠,该输入法根本到达实用化要求。
6 结语
语音汉字输入技能的研制是具有严重经济和社会含义的课题,该项目选用孤立语音的全音节和词组的混合辨认模式,运用接连概率散布非特定人的声学模型,并辅以多候选的人机交互办法,较好地完结了在移动(便携式)电子设备上资源有限的条件下方便快捷的汉字语音输入。