一种基于双麦克风的语音活动检测与环境噪声消除方法
文献发布时间:2024-04-18 19:58:53
技术领域
本发明属于VOIP(代表“IP语音”或“互联网语音协议”)终端语音信号处理相关领域,特别是一种基于双麦克风的语音活动检测与环境噪声消除方法。
背景技术
在实际使用VOIP话机进行免提或者视频会议通话的应用场景中,实时语音通信质量会受到嘈杂的环境噪音影响。为了提高语音质量,需要有效地检测和消除环境噪音。
现有技术采用单麦克风,虽然布置较为容易,但是当非平稳噪声出现时,无论是语音活动的检测正确率还是降噪性能都会大幅度下降[1]。理论上,使用多个麦克风利用声场的空间特性是可以提高系统的降噪能力的。
波束形成[2]是利用多个麦克风组成阵列,进行空间滤波增强语音最简单有效的一种方法。波束形成降噪算法假设每一个麦克风所拾取的噪声成分是互不相关的,然而在实际应用中,这样的假设并不充分;因此,波束形成算法对噪声的抑制效果不够明显。通常还要使用后置滤波算法进一步增强语音,然而后置滤波算法的缺点也十分明显,就是对非平稳噪声的处理结果非常有限,而且当瞬态干扰出现时,后置滤波处理还会降低语音通信的质量。而且麦克风的数量也会影响波束形成降噪算法的性能,过多的麦克风数量大大增加了系统的复杂度。
另外一种比较常见的利用双麦进行降噪的方法是基于能量差的方法,即PLD(Power Level Difference)算法[3]。尽管基于能量差的方法有很多优点,例如对双麦之间的延时估计准确度不是很倚赖,而且能较为不错的处理非平稳噪声,但是在实践中,我们发现基于能量差估计维纳滤波器进行噪声消减常常会引入音乐噪声,对语音质量的影响会达到令人难以接受的程度。
近些年来,随着深度学习的兴起,基于神经网络的降噪算法越来越多的被应用到实际系统中。但神经网络算法是数据驱动的,在复杂环境低信噪比的情况下,常常会出现伤人声的现象,而且神经网络训练成本高,计算量比较大,在终端设备上部署常常需要npu单元,大大增加了硬件的成本。
参考文献
[1]Schnitta B.Speech Enhancement:Theory and Practice,Second Edition[J].Noise-News International,2015(23-1).
[2]Brandstein M S,Ward D B.Microphone Arrays:Signal ProcessingTechniques and Applications[M].2001.
[3]Yousefian N,Rahmani M,Akbari A.Power level difference as acriterion for speech enhancement[C]//IEEE International Conference onAcoustics.IEEE,2009:4653-4656.DOI:10.1109/ICASSP.2009.4960668.
发明内容
针对上述问题,本发明提供了一种基于双麦克风的语音活动检测与环境噪声消除方法,通过合理布置主麦和环境噪声采集麦,利用能量比进行语音活动检测,进而控制自适应滤波进行环境噪声消除,该方法对芯片计算能力要求较低,在满足一定性能的前提下,大大降低了硬件成本。
所述基于双麦克风的语音活动检测与环境噪声消除方法,具体步骤如下:
步骤一、针对VoIP话机,在话机前端和后方分别布置两个全向麦克风,当用户使用话机时,采集两个麦克风的信号;
布置于话机前端的为主麦克风,布置于话机后端的为辅助麦克风,两个麦克风之间相距5cm;
采集到的信号表示如下:
y
其中y
s
步骤二、分别对两路麦克风信号加窗,做快速傅里叶变换,计算各自的功率谱;
则麦克风信号的功率谱密度计算如下:
λ为遗忘因子,Y
Y
Y
其中n为帧索引,k为频率索引,S
步骤三、分别对两路麦克风的功率谱求对数并相减,判断结果是否大于经验阈值ε;如果是,则判断有语音活动,进入步骤四;否则,判断无讲话活动,进入步骤五。
表达式如下:
步骤四、将辅助麦克风的采集信号作为参考信号,对主麦克风采集的信号使用自适应滤波器进行噪声消除,得到增强后的信号,进入步骤六;
公式如下:
s
其中h(m)代表自适应滤波器,*代表卷积,s
步骤五、对自适应滤波器的系数进行更新,并返回步骤四;
更新公式如下:
其中μ代表自适应滤波器更新步长;e(m)=y
步骤六、将增强后的信号进行编码,通过RTSP协议发出,用户通过实时反馈调节音频设置,以达到最佳语音通信效果。
本发明的优点在于:
1)、一种基于双麦克风的语音活动检测与环境噪声消除方法,通过使用双麦克风配置,有效提高了语音活动检测和噪音消除的性能。
2)、一种基于双麦克风的语音活动检测与环境噪声消除方法,通过自适应滤波进行信号处理,与基于深度学习的方法比系统实现简单,复杂度低,实时性能好,可以在更多较为廉价的芯片上实现,因此应用面更广阔。
3)、一种基于双麦克风的语音活动检测与环境噪声消除方法,对于语音通话中无人讲话时消除恼人的环境噪声十分有效。
4)、一种基于双麦克风的语音活动检测与环境噪声消除方法,在平稳噪声环境下,也能够对讲话人讲话时的情景下,对环境噪声起到一定的抑制效果。
附图说明
图1为本发明一种基于双麦克风的语音活动检测与环境噪声消除方法的原理图;
图2为本发明一种基于双麦克风的语音活动检测与环境噪声消除方法的流程图;
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图对本发明作进一步的详细和深入的具体过程描述。
本发明一种基于双麦克风的语音活动检测与环境噪声消除方法,具体是通过双麦能量比进行语音活动检测,然后根据语音活动检测结果,控制自适应滤波策略,消除环境噪声;其原理如图1所示,通过在话机前后方分别布置两个全向麦克风,当用户使用话机时,分别对两路麦克风信号加窗,做快速傅里叶变换,计算各自的功率谱后求对数并相减,判断是否有语音活动,如果有,自适应滤波器系数停止更新,利用当前的自适应滤波系数和噪声功率谱进行环境噪声的消除,得到增强后的信号;当没有语音活动时,自适应滤波系数正常更新,并消除环境噪声。
所述基于双麦克风的语音活动检测与环境噪声消除方法,如图2所示,具体步骤如下:
步骤一、针对VoIP话机,在话机前端和后方分别布置两个全向麦克风,当用户使用话机时,采集两个麦克风的信号;
布置于话机前端的为主麦克风,布置于话机后端的为辅助麦克风,两个麦克风之间相距5cm;
采集到的信号表示如下:
y
其中y
s
步骤二、分别对两路麦克风信号加窗,做快速傅里叶变换,计算各自的功率谱
即对时域信号进行短时傅里叶变换,则麦克风信号在频域表示为:
Y
其中n为帧索引,k为频率索引,S
假设语音信号和噪声信号互不相关,则麦克风信号的功率谱密度可计算如下:
λ为遗忘因子,Y
步骤三、分别对两路麦克风的功率谱求对数并相减,判断结果是否大于经验阈值ε;如果是,则判断有语音活动,进入步骤四;否则,判断无讲话活动,进入步骤五。
用公式表达如下:
通常,由于说话人离主麦更近,辅助麦有遮蔽物,通常当说话人讲话时有3到10个db的能量差。
步骤四、将辅助麦克风的采集信号作为参考信号,对主麦克风采集的信号使用自适应滤波器进行噪声消除,得到增强后的信号,进入步骤六;
自适应滤波,在有语音活动时,避免发散,所以利用先前的系数直接滤波。
公式如下:
s
其中h(m)代表自适应滤波器,*代表卷积,s
步骤五、对自适应滤波器的系数进行更新,进入步骤四;
公式如下:
其中μ代表自适应滤波器更新步长;e(m)=y
步骤六、将增强后的信号进行编码,通过RTSP协议发出,用户通过实时反馈调节音频设置,以达到最佳语音通信效果。
实施例:
首先进行双麦克风配置:采用两个相距5cm的全向麦克风,分别布置在sip话机前端和后方,假设环境噪声为加性噪声,并与使用话机的说话人声音信号不相关,则布置于话机前端的主麦克风与布置于话机后端的辅助麦克风采集到的信号可以表示如下:
y
环境噪声消除的目的就是去除y
n
所以当说话人不发声时,
y
当说话人发声时,因为主麦离说话人更近,辅助麦不但距离人较远还有话机机身屏蔽,所以:
P
其中P
首先,分别对两路麦克风信号加窗,做快速傅里叶变换,计算各种的功率谱,并对两麦的功率谱求对数,相减,若结果大于ε(一个经验阈值),则判断有语音活动;否则判断无讲话活动。
然后,进行双麦克风环境的噪声消除:将环境噪声采集麦输入作为参考信号,对主麦进行自适应滤波噪声消除,特别的,基于语音活动检测的结果对自适应滤波器更新进行控制,当检测到语音活动时停止对自适应滤波器的更新,来防止滤波器发散,伤害到语音信号。用公式描述如下:
s
最后,自适应滤波器设计:对于自适应滤波器,本实施例实现了nlms滤波器,并使用了块加速方法。自适应滤波器更新公式如下:
对经过噪音消除处理的信号进行输出,用户可以通过实时反馈调节音频设置,以达到最佳语音通信效果。
本发明基于双麦克风的语音活动检测与环境噪声消除方法,通过合理布置双麦克风在voip话机上进行环境噪声消除,用户使用支持RTSP的VoIP话机,通过按键设置开启双麦环境噪声消除功能;用户拨号进行通话后,在DSP模块消噪后建立语音RTP流;
所述VoIP话机包括用户输入模块,通话控制模块,RTSP协议控制模块,DSP模块以及UI模块。
用户通过VoIP话机的用户输入模块进行按键操作,开启双麦环境噪声抑制功能,根据设置信息,构建VoIP通话请求;音频采集模块对两个麦克风进行数据采集后送入DSP模块,DSP模块对数据进行信号处理操作:包括加窗,快速傅里叶变换,计算功率谱,求对数之后相减根据结果判断语音活动控制自适应滤波策略:如果判别为没有语音活动,自适应滤波器系数进行更新;如果有语音活动,自适应滤波器系数停止更新,使用之前系数进行滤波。降噪后的音频数据按照设置进行编码,之后通过RTSP协议进行发送。开启双麦环境消噪功能,消噪后的语音经过RTSP协议控制模块传输。
- 一种基于多麦克风阵列的语音识别方法及系统
- 一种基于双麦克风的目标方向语音活动检测方法及系统
- 一种基于双麦克风的目标方向语音活动检测方法及系统