武汉市公安局刑事侦查局,武汉
王毅 ,张伟,邢燚 ,等.均衡滤波器设计及其在语音降噪中的应用 [J].刑事司法科学与治理,2021,2(1):62-67.
语音信号是人类生活中常见的数字信号,是人类相互交流的信息载体,包含了众多的信息,其特点是典型的非平稳时变信号。人声音频率一般在60~500Hz,不同人的发音频率与年龄、性别有关。而在初始语音信号采集的过程中,通常是在真实环境下的语音采集,包含有各种噪声,这给后续语音分析带来了很大的干扰,所以对原始语音进行降噪处理的研究非常重要。降噪的主要目的在于从带噪语音中尽可能提取出原始语音信号,过滤掉噪声信号的影响,为后续语音分析提供更可靠的语音信号。
随着公安语音数字范围的业务需求的扩大,围绕语音技术在刑事侦破案件的应用频率也越来越高。比如在目前电话诈骗案件中,由于是匿名电话,语音甚至是案件侦破的唯一线索和证据。比如在声纹鉴定的领域,被检语音通常是带噪语音,这一方面会给直接听辨语音带来较大的干扰,导致语音辨别困难;另一方面,在进行语音频谱特征分析时,噪声信号表现为各种杂纹,也会严重干扰原始信号,影响语音频谱特征的识别和分析。
目前有许多录音设备都有降噪的模块,主要原理是使语音信号通过滤波器处理。数字图形均衡器是滤波器的一种,其作用是对声音信号频率响应反应及振幅进行调整,从而达到特定的声音处理效果,比如降噪或语音增强。本文中使用的基于傅里叶变换设计的图形均衡器,相比传统的IIR或FIR滤波器有很大的优越性,不存在相位误差、时间延迟等问题。但是传统的基于傅里叶变换算法设计的均衡器,在语音分帧对每帧信号处理之后,再将处理后的分帧信号拼接起来的时候存在相邻频带重叠的情况,频带间的真实幅度值为相邻频带在该位置幅度之和,从而导致处理后的信号存在类似周期性的脉冲干扰。本文设计了一种基于傅里叶变换算法的音频拼接算法,能有效消除相邻频带的重叠问题,提升语音质量。
本文设计的基于傅里叶变换的音频拼接算法流程如下:
(1)对输入的语音信号进行快速傅里叶变换,使得各个频段的信号分开。同时,绘制原始语音的波形图和语谱图,作后续均衡滤波器的调节参考。
(2)基于语谱图分析结果,通过均衡滤波器在频谱图上对需要变换的频点及周围的频点做相应的处理。
(3)将处理后的信号按设计的算法进行切割和拼接之后,再进行傅里叶反变换,最后得到需要的信号。
FFT是在离散傅立叶变换DFT(Discrete Fourier Transform)基础上的快速算法,快速傅里叶变换的时域抽取方法是将输入的信号按奇偶分开,打乱原来的顺序,之后进行蝶形运算,以保证输出的序列是按着时间顺序排列的。其算法思想和运算过程为:设复杂向量的序列x(n)的长度为N=2M,将序列x(n)前后对半分为x1(n)和x2(n)两个序列,用两个M点的DFT运算来完成一个N点的DFT运算。
x(k)=DFT[x(n)]=x(n)WNk
=x(n)WNkn +
x(n)Wnkn
=[x(n)+WNkN/2x(n+N/2)]Wnkn,其中WNkn ={
将x(n)分解成偶数序列和奇数序列,当k取偶数时,有:
x(2m)=[x(n)+x(n+N/2)]WN2mn
=[x(n)+x(n+N/2)]WN/22mn
当k取偶数时,有:
x(2m+1)=[x(n)-x(n+N/2)]WNn(m+1)
=[x(n)-x(n+N/2)]WNn WN/2mn
将x1(n)和x2(n)分别代入上式可得:
{
上式表明,x(n)按奇偶k值分为2个N/2点DFT序列:奇序列是x2(n),偶序列是x1(n)。那么对序列x(n),x1(n)和x2(n)可用蝶形运算符号表示,如图1所示。
图 1 DFT蝶形运算符号
Figure 1 DFT wing operation symbols
在对输入语音数据进行以上蝶形运算后,再结合原始语音的波形图和语谱图分析,通过均衡滤波器对某些频率段的语音信号进行幅值调节,从而达到降噪或者语音增强的目的。调节后的信号再进行FFT反变换,即得到时域内的语音信号。然而信号在经过均衡滤波器调节后,一般存在有相邻频带间的重叠,本文提出一种音频信号的剪切及拼接算法,能有效解决上述问题,算法流程如图2。
图 2 算法流程图
图3为语音信号分帧示意图。设每一帧信号的帧长为N,帧移为M,相邻两帧之间的重叠部分为N-M。主要算法流程为对每一帧语音信号分别进行滤波处理后,除了每段信号的首尾两帧,对中间的每帧信号进行如下处理:截掉每一帧信号的前(N-M)/2部分和后(N-M)/2部分,只保留中间的长度为M的信号在下一步做FFT反变换。比如在帧长为1的时候,取帧移为1/2,每次截取每帧信号的前1/4和后1/4,这样保留了中间的1/2,对每一帧都做相同处理,最终将保留的中间长度为1/2的拼接起来组成新的频域信号,在下一步做FFT反变换。这样一方面能保证在时间上是连续的语音信号而不丢失信息,同时也能避免在相邻频带的重叠问题引起的脉冲干扰,极大地提高了语音质量。
图 3 语音分帧示意图
为验证本文所提出方法的效果,本文采用实际生活场景下的一段录音进行实验。
(1)图4和图5分别为原始语音信号的波形图和频谱图。可以看见有很明显的类似周期性的噪声影响,如果用人耳听辨的话难度很大。
图6为原始语音的语谱图,可以看见,在400~500Hz左右的频率范围内有很强的噪声信号干扰,因此均衡滤波器进行调节时需要重点对此频率范围内的音频信号进行减幅处理。
图 6 原始语音语谱图
(2)如图7为均衡滤波器进行降噪减幅的处理界面图,在0~5000Hz共分31段进行调节。通过均衡滤波器对该原始音频文件进行处理,将频率在400~500Hz左右的信号幅值衰减。
图 7 均衡滤波器进行降噪减幅的处理界面图
(3)传统的基于傅里叶变换的均衡滤波器并没有特殊的语音剪切和拼接算法,其输出的语音信号波形图、语谱图分别如图8和图9所示。从图8可以明显看出,虽然经过均衡滤波器后,原始语音的噪声信号基本被消除,但是由于均衡滤波器相邻频带间的重叠问题,在400~500Hz附近频段仍然存在一些脉冲干扰。
图 8 传统均衡滤波器信号处理后的波形图
图 9 传统均衡滤波器信号处理后的语谱图
基于本文提出的音频截取和拼接算法的均衡滤波器处理后的语音信号波形图、语谱图分别如图10和图11所示。从图9可以看到,经过本文的音频截取和拼接算法的均衡滤波器处理后,不仅去掉了噪声信号,而且有效避免了相邻频带的叠加影响,成功提取了带噪语音中的有效语音,大大提升了语音质量,为后续不论是人耳辨听还是频谱分析提供了非常有价值的初始语音信号。
图 10 基于分帧算法的均衡滤波器处理后信号波形图
图 11 基于分帧算法的均衡滤波器处理后信号语谱图
真实环境里的语音大多是带有各种噪音的,在分析和处理时都需要首先进行降噪处理。本文提出的基于傅里叶变换的语音信号分帧截取和拼接算法,能有效避免均衡滤波器降噪处理语音信号后相邻语音频带叠加的干扰问题,而且算法容易实现,数据计算需求不大,不需要额外设置复杂的滤波器组件和滤波器算法,有很广阔的应用范围。