一种改进的双麦克智能语音前端算法

2018-03-29 08:20方赛鸿
网络安全与数据管理 2018年2期
关键词:混响麦克风声源

方赛鸿

(福州瑞芯微电子股份有限公司,福建 福州 350003)

0 引言

随着人工智能的兴起与发展,语音处理的作用也越来越重要。当前比较热门的语音交互平台有苹果的Siri、亚马逊的Alexa以及科大讯飞的讯飞云,这些软件可以将说话人的声音信号转化为文字信息,进而控制硬件系统。语音识别率决定语音交互系统的性能,语音信号进入语音识别系统之前需要进行预处理。

由于环境噪声和墙壁等障碍物的存在,麦克风采集的语音信号通常包含噪声和混响,它们会降低语音的清晰度和可懂度,导致语音识别系统识别率下降。因此,语音信号进入语音识别系统之前,需要进行噪声和混响消除。目前,多通道语音增强算法主要分为三类:波束形成[1]、逆滤波[2]以及盲源分离[3]。 HABETS EAP等人提出了一种双麦克风噪声和混响消除算法[4],该算法输出存在一定的失真,本文对其进行改进,并利用仿真数据验证改进算法的有效性。

1 混响理论

房间混响信号是由声源信号s(n)和房间声学冲激响应函数h(n)卷积产生的。h(n)可分为三个部分:直达路径、前期反射和后期反射,如图1所示。

图1 房间冲激响应示意

混响时间为400 ms的某一房间的房间冲激响应如图2所示。

对于第i路麦克风在某离散时间n时的混响信号可以表示为:

(1)

因此,第i路麦克风接收到的信号可以表示为:

Xi(n)=Zi(n)+Vi(n)

(2)

图2 混响时间为400 ms的房间冲激响应

其中Vi(n)表示背景噪声。

对输入的阵列语音信号加窗分帧(每帧长度在30 ms以内)后,通过短时傅里叶变换[5]由时域变换到频域,式(2)的频域表示如下:

Xi(m,k) =Zi(m,k)+Vi(m,k)

=Di(m,k)+Ri(m,k)+Vi(m,k)

(3)

其中m表示帧索引,k表示频率索引;Di和Ri分别表示第i路麦克风输入信号中的直达声(包括直达声和早期反射,为了简化统称直达声)和后期混响声。混响消除算法的目的是尽可能地去除Ri(m,k)。

2 Habets双麦克风算法及其问题分析

2.1 Habets双麦克风算法

Habets双麦克风原理图如图3所示。整个结构包含四个部分:固定波束形成器、噪声功率谱估计、后期混响功率谱估计和单通道后置滤波器。固定波束形成器的系数固定为[0.5,0.5],输出为Q(m,k);噪声功率谱估计是利用优化最小控制递归平均[6]算法估计Q(m,k)中噪声功率谱λv(m,k);后期混响功率谱估计是利用Polack模型[5]估计输入信号中的后期混响功率谱密度λr;单通道后置滤波器采用的是OM-LSA算法[7],根据前面估计的噪声和后期混响来计算增益函数GOM-LSA,最终的输出为:

Y(m,k)=GOM-LSA(m,k)Q(m,k)

(4)

图3 Habets双麦克风算法原理图

2.2 Habets算法存在的问题及其分析

后置OM-LSA算法的谱增益函数如下:

GOM-LSA(m,k)=GLSA(m,k)p(m,k)Gmin(m,k)1-p(m,k)

(5)

其中p(m,k)表示语音存在概率,Gmin表示增益下限,p(m,k)计算表达式如式(6)所示:

p(m,k)=

(6)

q(m,k)=

(7)

公式(6)中ξ(m,k)表示先验信噪比,v(m,k)的值和ξ(m,k)有关;分析式(7)发现,q(m,k)的取值与阈值γ1和ζ0有关[6]。实际这两个阈值是固定的常数,在某些帧q(m,k)可能会出现较大偏差,会导致增益函数异常,使得输出失真。Habets双麦克风算法输出与纯净语音波形对比如图4所示。观察图中椭圆圈标记部分发现,算法的输出在某些时刻存在失真,这种失真最终导致识别系统识别率的降低。

图4 Habets双麦克风算法输出与纯净语音波形对比

3 本文提出的基于维纳滤波的改进算法

针对Habets算法存在的问题,本文的改进思路是将Habets算法的后置滤波器用维纳滤波进行替换。改进算法的原理图如图5所示。

图5 改进算法框图

对应该系统的维纳滤波器的表达式如下:

(8)

式中:

ξ(m,k)=βH(m-1,k)+ξ(m-1,k)+

(1-β)max{γ(m,k)-1,0}

(9)

(10)

式(9)中的β表示权重因子,γ(m,k)表示后验信噪比。

(11)

其中,Hmin,R和Hmin,N0是常数,用来控制噪声和混响消除的最大化。

改进算法最终的输出为:

Y(m,k)=H(m,k)Q(m,k)

(12)

4 实验结果

4.1 仿真实验

本次仿真实验采用间距为10 cm的线性麦克风阵列。纯净声源取自TIMIT标准语音库,噪声源取自Noise92语音库。利用MATLAB工具箱[8]生成阵列语音信号。仿真时,房间大小设置成4.6 m×4.6 m×3.2 m,声源到麦克风阵列的距离设置成3种情况:1.5 m、2 m和2.5 m,采样频率为16 kHz,墙壁的吸声系数设置为[0.8,0.8,0.8,0.8,0.7,0.4],声源混响时间设置为400 ms。

仿真房间冲激响应曲线图如图6所示,纯净源语音的波形图以及语谱图如图7所示。

图6 仿真实验环境房间冲激响应

图7 纯净语音的波形图和语谱图

输入信噪比为10 dB的阵列信号的波形和语谱图如图8所示。

图8 输入信号波形和语谱

Habets算法和改进算法处理后的结果分别如图9和图10所示。

图9 Habets算法输出

图10 改进算法输出

观察图9和图10可以发现,Habets双麦克风算法噪声消除性能很好,但是输出存在失真;改进算法噪声消除性能变弱,但是输出失真减小。

4.2 实际实验

为了验证改进算法输出识别率是否有所提高,采用科大讯飞四麦克风阵列模块采集语音信号,将采集到的信号通过Habets算法和改进算法处理后,将算法的输出送到语义识别端,比较识别结果。语义识别算法采用的是讯飞开放平台的语音听写模块[9]。

10个不同的人分别站在距离麦克风1.5 m、2 m、2.5 m的地方说“今天天气很好,福州天气,刘德华的电影”,总共16个汉字。假设某一组采集数据经过算法处理后通过语义识别算法能识别出的正确字数为N,那么识别率计算如下:

(13)

然后对10组识别率求平均得到最终的识别率结果。

对未处理、Habets算法输出以及改进算法的输出通过语义识别端进行识别率结果对比,如表1所示。

表1 不同算法处理结果识别率的比较 (%)

由表1可知,随着声源到麦克风距离的增加,三种情况下的识别率都越来越低;未处理的语音信号识别率急剧下降,改进算法识别率情况最好。由此可以说明,改进算法是有效的。

5 结论

本文对Habets双麦克风噪声和混响消除算法进行研究,针对其存在的问题,提出了一种改进算法。经过仿真数据和实录数据的测试发现,改进算法与Habets

算法相比,噪声消除性能有所下降,但是改进算法输出失真更小,最终的识别率也有一定的提升。随着声源到麦克风距离的增加,改进算法输出的识别率也越来越低,有待后续进一步优化。

[1] MCCOWAN I A, MOORE D C, SRIDHARAN S. Near-field adaptive beamformer for robust speech recognition[J]. Digital Signal Processing, 2002, 12(1): 87-106.

[2] Xu Guanghan, Liu Hui, Tong Lang, et al. A least-squares approach to blind channelidentification[J]. IEEE Transactions on Signal Processing, 1996, 43(12): 2982-2993.

[3] ABRARD F, DEVILLE Y. A time frequency blind signal separation method applicable to underdetermined mixtures of dependent sources[J]. Signal Processing, 2005, 85(7): 1389-1403.

[4] HABETS E A P, GANNOT S, COHEN I. Dual-microphone speech dereverberation in a noisy environment[C]//IEEE International Symposium on Signal Processing and Information Technology. IEEE, 2006:651-655.

[5] WOLFE P J,GODSILL S J. Efficient alternatives to the Ephraim and Malah suppression rule for audio signal enhancement[J]. EURASIP Journal on Advances in Signal Processing, 2003, 2003(10):1043-1051.

[6] COHEN I. Noise spectrum estimation in adverseenvironments:improved minima controlled recursive averaging[J]. IEEE Transactions on Speech & Audio Processing,2003,11(5):466-475.

[7] COHEN I,BERDUGO B. Speech enhancement for non-stationary noise environments[J]. Signal Processing,2001,81(11):2403-2418.

[8] LEHMANN E A. Image-source method:Matlab code implementation[EB/OL].(2006-08-01)[2017-03-12]http://www.eric-lehmann.com/

[9] 讯飞开放平台[EB/OL].(2012-03-22)[2017-02-24]http://www.xfyun.cn/sdk/dispatcher.

猜你喜欢
混响麦克风声源
GRAS发布新12Bx系列、支持TEDS的测量麦克风电源模块
虚拟声源定位的等效源近场声全息算法
基于GCC-nearest时延估计的室内声源定位
海洋混响特性分析与建模仿真研究∗
浅谈音响效果器的应用
麦克风的艺术
讯飞输入法也能离线语音输入
运用内积相关性结合迭代相减识别两点声源
用于室内环境说话人识别的混响补偿方法
麦克风