基于嵌入式的开集说话人识别方法及其系统的制作方法

文档序号:2822334阅读:227来源:国知局
专利名称:基于嵌入式的开集说话人识别方法及其系统的制作方法
技术领域
本发明涉及语音信号处理领域的说话人识别,尤其是涉及采用开集方式的说话人识别系统,特别涉及利用嵌入式系统实现的开集说话人识别系统。

背景技术
通过查阅相关资料和有关专利,主要引证下列专利 国名公开号
公开日期 1. 中国CN 101350196A2009.7.19 2. 中国CN 101064043A2007.10.31 3. 中国CN 1746972A 2006.3.15 专利1(CN101350196A)申请公开了一种任务相关的说话人身份确认片上系统及其确认方法。使用专用的语音处理芯片UniLite400进行系统的硬件设计,对说话人确认方法进行系统实现。在芯片UniLite400接收到语音后,提取12维美尔频率倒谱系数和短时归一化对数能量共13维,作为说话人的语音特征参数,采用动态规划的矢量匹配技术进行用户的训练和确认。专利2(CN 101064043A)申请公开了一种声纹门禁系统及其应用。采用两个微处理器进行系统硬件设计,采集到的语音信号经过预处理模块,提取大帧特征、DTW模板特征和DCT模板特征数据作为说话的语音特征参数。在用户进行语音模型的训练时,首先录制10遍语音口令,每个口令经过预处理模块形成一个训练样本集,按时间顺序保存,训练DTW和DCT模板。然后进行人工神经网络模型的训练。在进行用户识别时,首先进行DCT特征比对,得到最小距离的N个用户,然后使用DTW特征比对,得到一个最小距离的用户,最后利用人工神经网络进行最后的用户识别。专利3(CN 1746972A)申请公开了一种语音锁。由电子信号处理电路和锁具动作执行机构构成,电子信号处理电路由语音接收装置、语音预处理模块、训练模块、识别模块和开锁模块构成。语音接收装置接收被识别人的语音信号,并把语音信号传送至所述的语音预处理模块,语音预处理模块通过所述的键盘取得用户ID号码,对用户ID号码进行确认,确认ID号码有效以后,对语音信号进行语音分析处理,提取语音的微特征参数,并将ID号码和语音微特征参数输入到训练和识别模块中。训练模块接收语音预处理的处理结果并对该ID号码相对应的语音样本进行训练,形成主人独有的语音钥匙声纹编码,识别模块根据语音预处理模块提供的ID号码,利用多层聚类神经网络识别出说话人。
上述专利在解决本申请的技术要求方面主要存在下面几点问题 1.专利1采用专用的语音处理芯片UniLite400进行系统的硬件设计,导致的外围芯片类型的选择受到限制。专利2采用两个微处理器进行系统硬件设计,增加了系统的成本。
2.当用户数大于1时,实际的说话人识别系统是一个开集的识别系统,不仅要判断待识别语音是属于参考说话人中的哪一个,同时对于系统的冒认者还要给出一个拒绝的格外判定。然而上述专利对说话人确认系统进行嵌入式系统的实现,无法满足开集方式的说话人识别系统的实际要求。
3.为了增强系统的通用性,使系统能够适应不同的应用环境,系统安全等级的设定十分重要。上述专利没有考虑系统安全等级的问题,无法使系统适应于不同的应用场合。
4.功耗问题严重制约着嵌入式系统的应用与发展,尤其是对于便携式的嵌入式系统。上述专利没有考虑系统实际应用的功耗问题。
在本专利中,解决了上述说话人识别系统实用化过程中存在的四个问题。


发明内容
本发明提供一种基于嵌入式的开集说话人识别方法及其系统,以解决上述说话人识别系统实用化过程中存在的四个问题。
本发明一种基于嵌入式的开集说话人识别方法,采取的技术方案包括下列步骤 一、语音信号的预处理和特征提取 首先都要将采集到的语音信号进行预处理和特征提取,得到说话人的语音特征参数; 语音信号的预处理和特征提取处理的对象是一帧由AD采样得到的短时帧信号,为了保证实时性,需要在下一帧语音信号的采样结束之前完成前一帧信号的预处理和特征提取;语音信号的预处理主要包括语音信号的小数据、尖峰及饱和处理、加窗、频域上的语音增强、端点检测。
为了防止采样过程中存在的尖峰干扰及过小的采样数据,在进行加窗之前,首先对输入的语音信号进行前端处理,删除小数据、尖峰干扰及饱和帧,具体过程是当采集一帧语音信号以后,计算该帧语音信号幅度绝对值的均值和最大值,首先将均值与设定阈值比较来判断小数据帧,如果均值小于设定阈值1,则认为该帧信号为小数据帧,舍去,返回等待处理下一帧采样信号。否则,接着判断是否存在尖峰信号,如果最大值与均值的比值大于设定阈值2,则认为该帧采样信号存在尖峰信号,舍去,返回等待处理下一帧采样信号。否则,判断该帧中饱和的点数与该帧信号点数的比值是否大于阈值3,如果大于则认为该帧饱和点数太多,舍去,返回等待处理下一帧采样信号。否则,对语音信号后序的进行预处理; 在对语音信号进行小数据、尖峰及饱和处理后,采用汉明窗对语音信号进行加窗。利用循环维纳滤波的扩展谱相减法对加窗后的语音信号进行频域上的语音增强,去除语音信号中的噪声干扰。具体过程如下。
1)计算背景噪声幅度谱的初始平滑估计值|N0(ejw)|。
这里假设带噪语音前N_noise帧为纯噪声信号,则可以利用其幅度的统计平均来估计|NN_noise(ejw)|,其递推公式为 n=1,...,N_noise 其中|N′n(ejw)|2为背景噪声的第n次统计估计值,|N′0(ejw)|2=0。|Xn(ejw)|2为第n个噪声帧的功率谱。得到初始值|N0(ejw)|=|N′N_noise(ejw)|。
2)利用幅度谱相减法计算语音信号的幅度谱初始平滑估计|S0(ejw)|;|S0(ejw)|=||XN_noise(ejw)|-|N0(ejw)|| 其中|XN_noise(ejw)|为第N_noise帧噪声的幅度谱。
3)令帧变量n=1; 4)计算第n+N_noise帧的维纳滤波器的传递函数 5)对带噪语音信号幅度谱进行滤波,得到当前帧背景噪声幅度谱的估计值
6)计算增强后信号的幅度谱
7)利用当前帧噪声幅度谱估计

对背景噪声的平滑估计值

进行更新。
其中p为比例因子,它与时间常数τ之间满足 8)计算信号幅度谱的平滑估计|Sn(ejw)|; |Sn(ejw)|=||Xn(ejw)|-|Nn(ejw)|| 9)帧变量n=n+1;如果n>总帧数N,则结束,得到增强后的语音幅度谱的估计值

作为输出;否则到步骤3)继续执行; 在对语音信号进行增强以后,采用平均分段信噪比的方法对语音信号进行端点检测。计算增强后语音的帧平均分段信噪比fn 其中p为信号幅度谱的长度。如果fn大于阈值,则认为是该帧信号是语音帧,需要进行特征提取,否则,认为该帧信号是非语音帧,等待处理下一短时帧采样信号。
对语音帧信号进行特征提取,提取19维Mel倒谱系数及其19维一阶动态参数、16维线性预测倒谱系数、韵律特征的静态和一阶动态参数,共56维特征参数组合作为说话人语音的特征参数; 二、参考说话人语音模型的训练 参考说话人输入训练语音经采样、预处理和特征提取后,得到参考说话人训练的语音特征参数X,将X分为两部分X={Xtr,Xsrt},一部分用于参考说话人语音模型的形成,定义为训练模型参数Xtr,另一部分用于训练识别过程,定义为训练识别参数Xsrt;因此,参考说话人语音模型的训练包括两个部分,参考说话人语音模型的形成和参考说话人的训练识别过程;具体过程如下 (1).参考说话人语音模型的形成 采用基于模糊核矢量量化的说话人识别算法对参考说话人的语音模型进行训练。模糊核矢量量化器将原始空间通过非线性映射到高维特征空间,利用模糊核聚类算法设计矢量量化器,在高维特征空间中对参考说话人的训练语音特征进行模糊聚类分析,并将得到的每个类中心{vi},i=1,...,c(这里c为聚类数),作为参考说话人的语音模型,即第q个参考说话人的模型可以表示为λ(q)={vi},i=1,...,c,从而完成了第q个参考说话人语音模型的训练。
令Xtr={x1,x2,...xN}为训练特征参数,包含N个特征参数,xk是其中的一个特征参数矢量,其维数为d维。第q个参考说话人语音模型训练的具体实现过程如下。
1)确定聚类数c、迭代终止条件ε∈(0,1)、迭代次数T,模糊加权指数m∈[1,2.5]; 2)采用分裂法初始化类中心vi,i=1,2,...,c; 3)更新隶属度函数

i=1,...,c;k=1,...,N; 这里 其中K(xk,xl)、K(xj,xk)、K(xk,xk)均表示两个向量之间核函数。采用高斯核函数保证样本的线性可分性,设两个矢量x,y之间的核函数为 其中σ为高斯核函数的宽度,通常取3~7。
4)若或迭代次数等于预定迭代次数T,则算法继续,否则转到步骤3)。
5)计算类中心

i=1,...c,并将聚类中心组成第q个说话人的语音模型,迭代结束。
i=1,...,c i=1,...,c (2).参考说话人的训练识别过程 使用核函数将第q个参考说话人训练识别的特征参数Xsrt={x1,x2,...xM}(M为特征参数的个数)映射到高维特征空间,在高维特征空间中,分别计算训练识别参数Xsrt与第q个参考说话人模型λ(q)以及背景模型λUBM的匹配失真值D(Xsrt;λ(q))和D(Xsrt;λUBM);如果D(Xsrt;λ(q))>D(Xsrt;λUBM),则认为第q个参考说话人训练语音前后不一致,可能存在干扰或没有输入完全的情况,该参考说话人需要重新进行训练。否则,根据两个失真的差值确定第q个参考说话人确认的初始阈值;其中特征参数与模型之间的匹配失真值为 这里,背景模型是描述与说话人无关的语音模型,采用大量的语音数据,利用模糊核矢量量化器训练得到的λUBM={vi},i=1,...,c;背景模型需要事先存储在程序存储器中,作为已知数据直接使用; 在参考说话人语音模型形成之后,判断参考说话人语音模型是否可靠,如果可靠,则产生参考说话人确认的初始阈值,并对参考说话人语音模型和确认的初始阈值进行存储,否则,需要用户重新完成模型的训练过程;对于参考说话人数为Q的开集说话人识别系统,要完成Q个参考说话人的训练,需要重复Q参考说话人语音模型的训练; 三、开集模式匹配 对于开集的说话人识别系统而言,用户存在不属于集合内参考说话人的情况,因此对于一个开集说话人识别的模式匹配过程需要先进行说话人辨认,然后进行说话人确认; 在开集识别阶段,待识别用户输入识别语音经采样、预处理和特征提取后,得到待识别用户语音特征参数Xsr,首先利用Xsr和参考说话人的语音模型进行辨认,找到与待识别语音最匹配的参考说话人i,作为辨认的结果,然后利用参考说话人i的确认阈值,对待识别语音进行说话人确认,得到最后的识别结果; (1).说话人辨认 采用模糊核矢量量化的最近近邻分类器完成说话人的辨认。利用每个参考说话人的语音模型在特征空间中依次对待识别用户语音特征参数Xsr进行量化,并计算每个参考说话人语音模型量化时产生的量化失真D(q),q=1,...,Q,其中Q为参考说话人的个数。对于说话人辨认而言,使用最近近邻分类器选择最小D(q)的参考说话人语音模型所对应的参考说话人作为的辨认结果。
如果参考说话人i产生的量化误差D(i)最小,则辨认结果result=i。
(2).说话人确认 计算待识别语音特征参数Xsr与背景模型λUBM的匹配失真值D(Xsr;λUBM),如果辨认结果result=i,则利用辨认过程产生的最小失真D(i)与该匹配失真D(Xsr;λUBM)的差值进行确认决策。首先计算背景模型的失真D(Xsr;λUBM)和辨认过程产生的最小失真D(i)的差值,如果该差值小于0,则认为冒认者,身份验证失败;否则,通过不同的安全设置,对说话人进行进一步的确认; 如果安全级别处于低级,则认为待识别说话人为集合内参考说话人,身份验证成功,但不更新参考说话人确认阈值,否则认为冒认者,身份验证失败; 如果安全级别处于中级,将上述差值与参考说话人i的确认阈值DT(i)进行比较,如果差值大于DT(i),则认为待识别说话人为集合内参考说话人,身份验证成功,并更新参考说话人确认阈值 DT_new(i)=(1-pp)*DT(i)+pp*差值;其中pp在
分别与语音信号采集单元[102]、数据存储单元[103]、人机接口单元[104]、通信接口单元[106]连接,电源管理模块[105]与语音信号处理单元连接,人机接口单元包括状态指示模块、键盘模块、显示模块、启动模块。
上述系统以语音信号处理单元[101]为核心,控制语音信号采集单元[102]、系统数据存储单元[103]、人机接口单元[104]和通信接口单元[106]完成相应的功能。
本发明的优点在于,采用基于模糊核矢量量化的开集说话人识别方法对说话人的语音模型进行训练和识别,包括语音信号的预处理和特征提取、基于模糊核矢量量化的参考说话人语音模型的训练、基于模糊核矢量量化的最近近邻分类器的开集模式匹配方法。在语音信号的预处理和特征提取阶段,对由AD采样得到的短时帧采样信号进行处理,保证系统的实时性要求。增加了语音信号的小数据、尖峰及饱和处理,并采用循环维纳滤波的扩展谱相减的语音增强算法,提高输入语音的质量。参考说话人语音模型的训练不仅形成参考说话人的语音模型,同时在训练识别过程对形成的语音模型进行可靠性判断,并对产生可靠语音模型的参考说话人产生说话人确认的初始阈值,提高了模型产生的可靠性。开集模式匹配采用先辨认后确认的模式匹配方法,利用模糊核矢量量化的最近近邻分类器完成说话人的辨认,利用辨认过程产生的最小失真与待识别语音参数与背景模型的匹配失真值的差值,根据不同安全设置,对说话人的确认采用不同的判决决策,使系统能够适应不同的应用场合,同时提高了系统的安全性能。设计嵌入式系统对上述开集说话人识别方法进行嵌入式实现,该系统具有实时性高、识别性能好、低功耗、低成本、便携、通用性强等特点。



图1是开集说话人识别方法框图。
图2是本发明的语音信号的预处理和特征提取流程图。
图3是本发明的小数据、尖峰干扰及饱和处理流程图。
图4是本发明参考说话人语音模型的训练流程图。
图5是开集说话人识别模式匹配框图。
图6是基于嵌入式的开集说话人识别系统结构示意图。
图7是本发明的用户操作界面。
图8a是本发明的存储单元硬件系统逻辑图。
图8b是本发明的AD芯片AIC23与DSPVC5416接口框图。
图8c是本发明的AIC23的电路连接原理图。
图8d键盘显示扩展芯片HD7279A与DSPVC5416接口框图。
图8e是本发明的键盘电路原理图. 图8f是本发明的指示模块电路示意图。
具体实施方案 实施例1基于嵌入式的开集说话人识别方法 一、语音信号的预处理和特征提取 首先都要将采集到的语音信号进行预处理和特征提取,得到说话人的语音特征参数。
语音信号的预处理和特征提取处理的对象是一帧由AD采样得到的短时帧语音信号,为了保证实时性,需要在下一帧语音信号的采样结束之前完成前一帧信号的预处理和特征提取;语音信号的预处理和特征提取过程如图2所示,语音信号的预处理主要包括语音信号的小数据、尖峰及饱和处理、加窗、频域上的语音增强、端点检测。
为了防止采样过程中存在的尖峰干扰及过小的采样数据,在进行加窗之前,首先对输入的语音信号进行前端处理,删除小数据、尖峰干扰及饱和帧,具体过程如图3所示。当采集一帧语音信号以后,计算该帧语音信号幅度绝对值的均值和最大值,首先将均值与设定阈值比较来判断小数据帧,如果均值小于设定阈值1,则认为该帧信号为小数据帧,舍去,返回等待处理下一帧采样信号。否则,接着判断是否存在尖峰信号,如果最大值与均值的比值大于设定阈值2,则认为该帧采样信号存在尖峰信号,舍去,返回等待处理下一帧采样信号。否则,判断该帧中饱和的点数与该帧信号点数的比值是否大于阈值3,如果大于则认为该帧饱和点数太多,舍去,返回等待处理下一帧采样信号。否则,对语音信号后序的进行预处理。
在对语音信号进行小数据、尖峰及饱和处理后,采用汉明窗对语音信号进行加窗。利用循环维纳滤波的扩展谱相减法对加窗后的语音信号进行频域上的语音增强,去除语音信号中的噪声干扰。对加窗后的语音信号进行频域上的语音增强,去除语音信号中的噪声干扰。具体过程如下。
1)计算背景噪声幅度谱的初始平滑估计值|N0(ejw)|。
这里假设带噪语音前N_noise帧为纯噪声信号,则可以利用其幅度的统计平均来估计|NN_noise(ejw)|,其递推公式为 n=1,...,N_noise 其中|N′n(ejw)|2为背景噪声的第n次统计估计值,|N′0(ejw)|2=0。|Xn(ejw)|2为第n个噪声帧的功率谱。得到初始值|N0(ejw)|=|N′N_noise(ejw)|。
2)利用幅度谱相减法计算语音信号的幅度谱初始平滑估计|S0(ejw)|; |S0(ejw)|=||XN_noise(ejw)|-|N0(ejw)|| 其中|XN_noise(ejw)|为第N_noise帧噪声的幅度谱。
3)令帧变量n=1; 4)计算第n+N_noise帧的维纳滤波器的传递函数 5)对带噪语音信号幅度谱进行滤波,得到当前帧背景噪声幅度谱的估计值
6)计算增强后信号的幅度谱
7)利用当前帧噪声幅度谱估计

对背景噪声的平滑估计值|Nn(ejw)|进行更新。
其中p为比例因子,它与时间常数τ之间满足 8)计算信号幅度谱的平滑估计|Sn(ejw)|; |Sn(ejw)|=||Xn(ejw)|-|Nn(ejw)|| 9)帧变量n=n+1;如果n>总帧数N,则结束,得到增强后的语音幅度谱的估计值

作为输出;否则到步骤3)继续执行; 在对语音信号进行增强以后,采用平均分段信噪比的方法对语音信号进行端点检测。计算增强后语音的帧平均分段信噪比fn 其中p为信号幅度谱的长度。如果fn大于阈值,则认为是该帧信号是语音帧,需要进行特征提取,否则,认为该帧信号是非语音帧,等待处理下一短时帧采样信号。
对语音帧信号进行特征提取,提取19维Mel倒谱系数及其19维一阶动态参数、16维线性预测倒谱系数、韵律特征的静态和一阶动态参数,共56维特征参数组合作为说话人语音的特征参数。
二、参考说话人语音模型的训练 参考说话人输入训练语音经采样、预处理和特征提取后,得到参考说话人训练的语音特征参数X,将X分为两部分X={Xtr,Xsrt},一部分用于参考说话人语音模型的形成,定义为训练模型参数Xtr,另一部分用于训练识别过程,定义为训练识别参数Xsrt。因此,参考说话人语音模型的训练包括两个部分,参考说话人语音模型的形成和参考说话人的训练识别过程。具体过程如图4所示。
1.参考说话人语音模型的形成 采用基于模糊核矢量量化的说话人识别算法对参考说话人的语音模型进行训练。模糊核矢量量化器将原始空间通过非线性映射到高维特征空间,利用模糊核聚类算法设计矢量量化器,在高维特征空间中对参考说话人的训练语音特征进行模糊聚类分析,并将得到的每个类中心{vi},i=1,...,c(这里c为聚类数),作为参考说话人的语音模型,即第q个参考说话人的模型可以表示为λ(q)={vi},i=1,...,c,从而完成了第q个参考说话人语音模型的训练。
令Xtr={x1,x2,...xN}为训练特征参数,包含N个特征参数,xk是其中的一个特征参数矢量,其维数为d维。第q个参考说话人语音模型训练的具体实现过程如下。
6)确定聚类数c、迭代终止条件ε∈(0,1)、迭代次数T,模糊加权指数m∈[1,2.5]; 7)采用分裂法初始化类中心vi,i=1,2,...,c; 8)更新隶属度函数

i=1,..,c;k=1,...,N; 这里 其中K(xk,xl)、K(xj,xk)、K(xk,xk)均表示两个向量之间核函数。采用高斯核函数保证样本的线性可分性,设两个矢量x,y之间的核函数为 其中σ为高斯核函数的宽度,通常取3~7。
9)若或迭代次数等于预定迭代次数T,则算法继续,否则转到步骤3)。
10)计算类中心

i=1,...c,并将聚类中心组成第q个说话人的语音模型,迭代结束。
i=1,...,c i=1,...,c 2.参考说话人的训练识别过程 下面以第q个参考说话人为例,介绍一下参考说话人的训练识别过程。
使用核函数将第q个参考说话人训练识别的特征参数Xsrt={x1,x2,...xM}(M为特征参数的个数)映射到高维特征空间,在高维特征空间中,分别计算训练识别参数Xsrt与第q个参考说话人模型λ(q)以及背景模型λUBM的匹配失真值D(Xsrt;λ(q))和D(Xsrt;λUBM)。如果D(Xsrt;λ(q))>D(Xsrt;λUBM),则认为第q个参考说话人训练语音前后不一致,可能存在干扰或没有输入完全的情况,该参考说话人需要重新进行训练。否则,根据两个失真的差值确定第q个参考说话人确认的初始阈值。其中特征参数与模型之间的匹配失真值为 这里,背景模型是描述与说话人无关的语音模型,采用大量的语音数据,利用模糊核矢量量化器训练得到的λUBM={vi},i=1,...,c。背景模型需要事先存储在程序存储器中,作为已知数据直接使用。
在参考说话人语音模型形成之后,判断参考说话人语音模型是否可靠,如果可靠,则产生参考说话人确认的初始阈值,并对参考说话人语音模型和确认的初始阈值进行存储,否则,需要用户重新完成模型的训练过程。对于参考说话人数为Q的开集说话人识别系统,要完成Q个参考说话人的训练,需要重复Q参考说话人语音模型的训练。
三、开集模式匹配 对于开集的说话人识别系统而言,用户存在不属于集合内参考说话人的情况,因此对于一个开集说话人识别的模式匹配过程需要先进行说话人辨认,然后进行说话人确认。开集模式匹配框图如图5所示。
在开集识别阶段,待识别用户输入识别语音经采样、预处理和特征提取后,得到待识别用户语音特征参数Xsr,首先利用Xsr和参考说话人的语音模型进行辨认,找到与待识别语音最匹配的参考说话人i,作为辨认的结果,然后利用参考说话人i的确认阈值,对待识别语音进行说话人确认,得到最后的识别结果。
1.说话人辨认 采用模糊核矢量量化的最近近邻分类器完成说话人的辨认。利用每个参考说话人的语音模型在特征空间中依次对待识别用户语音特征参数Xsr进行量化,并计算每个参考说话人语音模型量化时产生的量化失真D(q),q=1,..,Q,其中Q为参考说话人的个数。对于说话人辨认而言,使用最近近邻分类器选择最小D(q)的参考说话人语音模型所对应的参考说话人作为的辨认结果。
如果参考说话人i产生的量化误差D(i)最小,则辨认结果result=i。
2.说话人确认 计算待识别语音特征参数Xsr与背景模型λUBM的匹配失真值D(Xsr;λUBM),如果辨认结果result=i,则利用辨认过程产生的最小失真D(i)与该匹配失真D(Xsr;λUBM)的差值进行确认决策。首先计算背景模型的失真D(Xsr;λUBM)和辨认过程产生的最小失真D(i)的差值,如果该差值小于0,则认为冒认者,身份验证失败。否则,通过不同的安全设置,对说话人进行进一步的确认。
如果安全级别处于低级,则认为待识别说话人为集合内参考说话人,身份验证成功,但不更新参考说话人确认阈值,否则认为冒认者,身份验证失败。
如果安全级别处于中级,将上述差值与参考说话人i的确认阈值DT(i)进行比较,如果差值大于DT(i),则认为待识别说话人为集合内参考说话人,身份验证成功,并更新参考说话人确认阈值 DT_new(i)=(1-pp)*DT(i)+pp*差值;其中pp在
分别与语音信号采集单元[102]、数据存储单元[103]、人机接口单元[104]、通信接口单元106]连接,电源管理模块[105]与语音信号处理单元连接,人机接口单元包括状态指示模块、键盘模块、显示模块、启动模块。上述系统以语音信号处理单元[101]为核心,控制语音信号采集单元[102]、系统数据存储单元[103]、人机接口单元[104]和通信接口单元[106]完成相应的功能。
语音信号处理单元[101]采用TI公司54X系列的增强型数字信号处理器(DSPDigital Signal Processor)TMS320VC5416完成语音信号的预处理、说话人语音个性特征的提取、说话人声纹识别建模、相似度匹配等系统所需的运算,同时还作为核心微处理芯片对外围芯片进行接口控制操作。
TMS320VC5416(以下简称VC5416)是为实现低功耗、高性能而专门设计的定点DSP芯片,也是TI公司TMS320VC54x系列DSP中性价比最高的一款芯片。
语音采集单元[102]由麦克和可编程增益、采样率调节A/D转换器组成,由DSP控制完成语音信号的增益控制和数字化处理。DSP采用DMA方式对由麦克输入的语音进行采样,在采样的同时可以对采集的前一帧语音信号进行预处理和特征提取,预处理的时间小于一帧语音信号的采样时间,因此保证了系统的实时性。
数据存储单元[103]使用FLASH存储器实现DSP程序代码以及用户语音模型信息的永久存储,并构建基于FLASH的DSP脱机独立运行系统。当用户进行训练、删除、识别操作后,系统自动完成用户信息的在线实时更新。
人机接口单元[104]由状态指示模块、键盘模块、显示模块、启动模块组成。其中状态指示模块、键盘模块和显示模块都由键盘显示扩展芯片控制。系统的指示模块,由三个指示灯和一个蜂鸣器组成,指示系统当前的状态并提示用户进行相应的操作。系统的键盘模块由数字按键及功能按键组成,其中数字按键包括0-9的10个数字,功能键包括训练、识别、删除、取消、确认、安全键等。显示模块可以由LED数码管或LCD显示器构成,系统的用户操作界面如图7所示。
启动模块包括总电源开关和呼吸模式开关,系统采用电池供电,由电源管理模块[105]进行电压转换,整个嵌入式系统的上电都由总电源开关控制。呼吸模式开关采用红外扫描的方式,实现系统的休眠与启动。当用户到来时,红外扫描电路触发,系统启动开始进行语音的录入。这样不但降低了本发明的功耗,而且使本发明不需要长期处于连续工作状态,延长了系统电池的使用寿命。
通信接口单元[106]采用有线或无线两种模式和上位机进行通信,二者可自动切换。
本发明采用四种方式对系统进行低功耗设计。
(1)低电压供电的CMOS器件。包括低电压供电的DSP芯片、存储单元Flash、用于逻辑控制的CPLD、以及语音采集转换芯片; (2)分时/分区供电技术。利用电源开关对电源进行分割,从而控制系统的各个部分,使系统在休眠或掉电工作时关掉外围电路的电源,仅仅保留DSP的电源; (3)DSP的节电模式。在系统无人操作时,令DSP进入空闲方式,使DSP处于休眠状态; (4)多种工作频率在线变换技术。动态改变DSP的工作时钟,在等待中断还有非语音处理等DSP相对空闲阶段,降低DSP系统的工作时钟,当需要DSP进行高速运算时,再提高DSP系统的工作时钟。
一个完整的训练过程。
(1)启动电源总开关; (2)通过用户界面操作,按“训练”键,然后按数字键选择用户ID号码,按“确认”键,进入训练状态。黄灯亮,用户对着MIC输入训练语音,直至黄灯灭为止。用户输入的训练语音应为3~4字的短语或词组,如“请开门”,“我回来了”等,输入语音约为3秒。如果用户按下“训练”键后20秒之内没有操作,则自动取消训练操作,关闭电源。
(3)用户等待系统运算。对训练语音数据进行特征参数提取,并分成训练模型参数和训练识别参数。
(4)利用训练模型参数产生用户语音模型。利用训练识别参数判断用户是否训练成功。
(5)如果蜂鸣器“嘀”的一声绿灯亮,说明训练成功,产生说话人确认的初始阈值,并将说话人的语音模型和初始阈值存储到Flash存储器中。否则“嘀、嘀、嘀”三声红灯亮,说明训练失败,用户需返回步骤1重新训练。
一个完整的识别过程包括 (1)启动呼吸模式开关,使系统由休眠状态进入识别状态; (2)黄灯亮,用户对着MIC输入识别语音,直至黄灯熄灭为止,识别语音约为1秒。
(3)用户等待系统运算。
(4)如果蜂鸣器“嘀”的一声,同时绿灯亮,则用户身份得到验证,显示模块显示用户对应的ID号码;否则“嘀、嘀、嘀”三声,红灯亮,身份验证失败,显示模块显示与其最相近用户的ID号码。
权利要求
1.一种基于嵌入式的开集说话人识别方法,其特征在于包括下列步骤
一、语音信号的预处理和特征提取
首先都要将采集到的语音信号进行预处理和特征提取,得到说话人的语音特征参数;
语音信号的预处理和特征提取处理的对象是一帧AD采样得到的短时帧信号,为了保证实时性,需要在下一帧语音信号的采样结束之前完成前一帧信号的预处理和特征提取;语音信号的预处理主要包括语音信号的小数据、尖峰及饱和处理、加窗、频域上的语音增强、端点检测;
为了防止采样过程中存在的尖峰干扰及过小的采样数据,在进行加窗之前,首先对输入的语音信号进行前端处理,删除小数据、尖峰干扰及饱和帧,具体过程是当采集一帧语音信号以后,计算该帧语音信号幅度绝对值的均值和最大值,首先将均值与设定阈值比较来判断小数据帧,如果均值小于设定阈值1,则认为该帧信号为小数据帧,舍去,返回等待处理下一帧采样信号;否则,接着判断是否存在尖峰信号,如果最大值与均值的比值大于设定阈值2,则认为该帧采样信号存在尖峰信号,舍去,返回等待处理下一帧采样信号;否则,判断该帧中饱和的点数与该帧信号点数的比值是否大于阈值3,如果大于则认为该帧饱和点数太多,舍去,返回等待处理下一帧采样信号;否则,对语音信号后序的进行预处理; 在对语音信号进行小数据、尖峰及饱和处理后,采用汉明窗对语音信号进行加窗;利用循环维纳滤波的扩展谱相减法对加窗后的语音信号进行频域上的语音增强,去除语音信号中的噪声干扰。具体过程如下;
1)计算背景噪声幅度谱的初始平滑估计值|N0(ejw)|;
这里假设带噪语音前N_noise帧为纯噪声信号,则可以利用其幅度的统计平均来估计|NN_noise(ejw)|,其递推公式为
其中|N′n(ejw)|2为背景噪声的第n次统计估计值,|N′0(ejw)|2=0;|Xn(ejw)|2为第n个噪声帧的功率谱;得到初始值|N0(ejw)|=|N′N_noise(ejw)|;
2)利用幅度谱相减法计算语音信号的幅度谱初始平滑估计|S0(ejw)|;
|S0(ejw)|=‖XN_noise(ejw)|-|N0(ejw)‖
其中|XN_noise(ejw)|为第N_noise帧噪声的幅度谱。
3)令帧变量n=1;
4)计算第n+N_noise帧的维纳滤波器的传递函数
5)对带噪语音信号幅度谱进行滤波,得到当前帧背景噪声幅度谱的估计值
6)计算增强后信号的幅度谱
7)利用当前帧噪声幅度谱估计
对背景噪声的平滑估计值|Nn(ejw)|进行更新;
其中p为比例因子,它与时间常数τ之间满足
8)计算信号幅度谱的平滑估计|Sn(ejw)|;
|Sn(ejw)|=‖Xn(ejw)|-|Nn(ejw)‖
9)帧变量n=n+1;如果n>总帧数N,则结束,得到增强后的语音幅度谱的估计值
作为输出;否则到步骤3)继续执行;
在对语音信号进行增强以后,采用平均分段信噪比的方法对语音信号进行端点检测。计算增强后语音的帧平均分段信噪比fn
其中p为信号幅度谱的长度。如果fn大于阈值,则认为是该帧信号是语音帧,需要进行特征提取,否则,认为该帧信号是非语音帧,等待处理下一短时帧采样信号;
对语音帧信号进行特征提取,提取19维Mel倒谱系数及其19维一阶动态参数、16维线性预测倒谱系数、韵律特征的静态和一阶动态参数,共56维特征参数组合作为说话人语音的特征参数;
二、参考说话人语音模型的训练
参考说话人输入训练语音经采样、预处理和特征提取后,得到参考说话人训练的语音特征参数X,将X分为两部分X={Xtr,Xsrt},一部分用于参考说话人语音模型的形成,定义为训练模型参数Xtr,另一部分用于训练识别过程,定义为训练识别参数Xsrt;因此,参考说话人语音模型的训练包括两个部分,参考说话人语音模型的形成和参考说话人的训练识别过程;具体过程如下
(1).参考说话人语音模型的形成
采用基于模糊核矢量量化的说话人识别算法对参考说话人的语音模型进行训练。模糊核矢量量化器将原始空间通过非线性映射到高维特征空间,利用模糊核聚类算法设计矢量量化器,在高维特征空间中对参考说话人的训练语音特征进行模糊聚类分析,并将得到的每个类中心{vi},i=1,...,c(这里c为聚类数),作为参考说话人的语音模型,即第q个参考说话人的模型可以表示为λ(q)={vi},i=1,...,c,从而完成了第q个参考说话人语音模型的训练;
令Xtr={x1,x2,...xN}为训练特征参数,包含N个特征参数,xk是其中的一个特征参数矢量,其维数为d维。第q个参考说话人语音模型训练的具体实现过程如下
1)确定聚类数c、迭代终止条件ε∈(0,1)、迭代次数T,模糊加权指数m∈[1,2.5];
2)采用分裂法初始化类中心vi,i=1,2,...,c;
3)更新隶属度函数
i=1,...,c;k=1,..,N;
这里
其中K(xk,xl)、K(xj,xk)、K(xk,xk)均表示两个向量之间核函数;采用高斯核函数保证样本的线性可分性,设两个矢量x,y之间的核函数为
其中σ为高斯核函数的宽度,通常取3~7;
4)若
或迭代次数等于预定迭代次数T,则算法继续,否则转到步骤3);
5)计算类中心
i=1,...c,并将聚类中心组成第q个说话人的语音模型,迭代结束;
(2).参考说话人的训练识别过程使用核函数将第q个参考说话人训练识别的特征参数Xsrt={x1,x2,...XM}(M为特征参数的个数)映射到高维特征空间,在高维特征空间中,分别计算训练识别参数Xsrt与第q个参考说话人模型λ(q)以及背景模型λUBM的匹配失真值D(Xsrt;λ(q))和D(Xsrt;λUBM);如果D(Xsrt;λ(q))>D(Xsrt;λUBM),则认为第q个参考说话人训练语音前后不一致,可能存在干扰或没有输入完全的情况,该参考说话人需要重新进行训练。否则,根据两个失真的差值确定第q个参考说话人确认的初始阈值;其中特征参数与模型之间的匹配失真值为
这里,背景模型是描述与说话人无关的语音模型,采用大量的语音数据,利用模糊核矢量量化器训练得到的λUBM={vi},i=1,...,c;背景模型需要事先存储在程序存储器中,作为已知数据直接使用;
在参考说话人语音模型形成之后,判断参考说话人语音模型是否可靠,如果可靠,则产生参考说话人确认的初始阈值,并对参考说话人语音模型和确认的初始阈值进行存储,否则,需要用户重新完成模型的训练过程;对于参考说话人数为Q的开集说话人识别系统,要完成Q个参考说话人的训练,需要重复Q参考说话人语音模型的训练;
三、开集模式匹配
对于开集的说话人识别系统而言,用户存在不属于集合内参考说话人的情况,因此对于一个开集说话人识别的模式匹配过程需要先进行说话人辨认,然后进行说话人确认;
在开集识别阶段,待识别用户输入识别语音经采样、预处理和特征提取后,得到待识别用户语音特征参数Xsr,首先利用Xsr和参考说话人的语音模型进行辨认,找到与待识别语音最匹配的参考说话人i,作为辨认的结果,然后利用参考说话人i的确认阈值,对待识别语音进行说话人确认,得到最后的识别结果;
(1).说话人辨认
采用模糊核矢量量化的最近近邻分类器完成说话人的辨认;利用每个参考说话人的语音模型在特征空间中依次对待识别用户语音特征参数Xsr进行量化,并计算每个参考说话人语音模型量化时产生的量化失真D(q),q=1,..,Q,其中Q为参考说话人的个数。对于说话人辨认而言,使用最近近邻分类器选择最小D(q)的参考说话人语音模型所对应的参考说话人作为的辨认结果;
如果参考说话人i产生的量化误差D(i)最小,则辨认结果result=i;
2.说话人确认
计算待识别语音特征参数Xsr与背景模型λUBM的匹配失真值D(Xsr;λUBM),如果辨认结果result=i,则利用辨认过程产生的最小失真D(i)与该匹配失真D(Xsr;λUBM)的差值进行确认决策;首先计算背景模型的失真D(Xsr;λUBM)和辨认过程产生的最小失真D(i)的差值,如果该差值小于0,则认为冒认者,身份验证失败;否则,通过不同的安全设置,对说话人进行进一步的确认;
如果安全级别处于低级,则认为待识别说话人为集合内参考说话人,身份验证成功,但不更新参考说话人确认阈值,否则认为冒认者,身份验证失败;
如果安全级别处于中级,将上述差值与参考说话人i的确认阈值DT(i)进行比较,如果差值大于DT(i),则认为待识别说话人为集合内参考说话人,身份验证成功,并更新参考说话人确认阈值
DT_new(i)=(1-pp)*DT(i)+pp*差值;其中pp在
分别与语音信号采集单元[102]、数据存储单元[103]、人机接口单元[104]、通信接口单元106]连接,电源管理模块[105]与语音信号处理单元连接,人机接口单元包括状态指示模块、键盘模块、显示模块、启动模块。
全文摘要
本发明涉及一种基于嵌入式的开集说话人识别方法及其系统,涉及语音信号处理领域的说话人识别。包括下列步骤一、语音信号的预处理和特征提取,二、参考说话人语音模型的训练,三、开集模式匹配,识别系统包括语音信号处理单元分别与语音信号采集单元、数据存储单元、人机接口单元、通信接口单元连接,电源管理模块与语音信号处理单元连接,人机接口单元包括状态指示模块、键盘模块、显示模块、启动模块。本发明的优点在于能够适应不同的应用场合,同时提高了系统的安全性能。设计嵌入式系统对上述开集说话人识别方法进行嵌入式实现,该系统具有实时性高、识别性能好、低功耗、低成本、便携、通用性强等特点。
文档编号G10L17/00GK101770774SQ200910218160
公开日2010年7月7日 申请日期2009年12月31日 优先权日2009年12月31日
发明者林琳, 孙晓颖, 陈建, 燕学智, 胡封晔, 温泉, 王波, 魏小丽 申请人:吉林大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1