一种语音降噪方法及均衡滤波器与流程
本发明属于语音信号处理技术领域,具体涉及一种语音降噪方法及均衡滤波器。
背景技术:
语音信号是人类生活中常见的数字信号,是人类相互交流的信息载体,包含了众多的信息,其特点是典型的非平稳时变信号。人声音频率一般在60~500hz,不同人的发音频率与年龄、性别有关。而在初始语音信号采集的过程中,通常是在真实环境下的语音采集,包含有各种噪声,这给后续语音分析带来了很大的干扰,所以对原始语音进行降噪处理的研究非常重要。降噪的主要目的在于从带噪语音中尽可能提取出原始语音信号,过滤掉噪声信号的影响,为后续语音分析提供更可靠的语音信号。
目前有许多录音设备都有降噪的模块,主要原理是使语音信号通过滤波器处理。数字图形均衡器是滤波器的一种,其作用是对声音信号频率响应反应及振幅进行调整,从而达到特定的声音处理效果,比如降噪或语音增强。但是传统的基于傅里叶变换算法设计的均衡器,在语音分帧对每帧信号处理之后,再将处理后的分帧信号拼接起来的时候存在相邻频带重叠的情况,频带间的真实幅度值为相邻频带在该位置幅度之和,从而导致处理后的信号存在类似周期性的脉冲干扰,降低了语音质量。
技术实现要素:
本发明要解决的技术问题是:提供一种语音降噪方法及均衡滤波器,消除相邻频带的重叠问题,提升语音质量。
本发明为解决上述技术问题所采取的技术方案为:一种语音降噪方法,本方法包括以下步骤:
s1、对输入的语音信号进行快速傅里叶变换,使得各个频段的信号分开;
s2、对所需要变换的各个频段进行均衡处理;
s3、音频截取和拼接处理:
所述的各个频段中,设一个频段为一帧信号,每一帧信号的帧长为n,帧移为m,相邻两帧之间的重叠部分为n-m;
截取:截掉每一帧信号的前面一部分a和后面一部分b,且a+b=n-m,保留中间长度为m的信号;
拼接:将截取后的每一帧信号代替截取前的对应信号,拼接在对应的位置,得到新的频域信号;
s4、快速傅里叶反变换:
对新的频域信号进行快速傅里叶反变换,得到处理后的语音信号。
按上述方法,所述的a=b=(n-m)/2。
按上述方法,所述的s1还包括:绘制原始语音的波形图和语谱图,作为后续的调节参考。
一种语音降噪系统,本系统包括:
快速傅里叶变换模块,用于对输入的语音信号进行快速傅里叶变换,使得各个频段的信号分开;
均衡处理模块,用于对所需要变换的各个频段进行均衡处理;
音频截取和拼接处理模块,用于截掉每一帧信号的前面一部分a和后面一部分b,且a+b=n-m,保留中间长度为m的信号;以及将截取后的每一帧信号代替截取前的对应信号,拼接在对应的位置,得到新的频域信号;所述的各个频段中,设一个频段为一帧信号,每一帧信号的帧长为n,帧移为m,相邻两帧之间的重叠部分为n-m;
快速傅里叶反变换模块,用于对新的频域信号进行快速傅里叶反变换,得到处理后的语音信号。
按上述系统,所述的a=b=(n-m)/2。
按上述系统,所述的快速傅里叶变换模块还包括:绘制原始语音的波形图和语谱图,作为后续的调节参考。
一种均衡滤波器,包括所述的语音降噪系统。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的方法的步骤。
一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的方法的步骤。
本发明的有益效果为:本发明通过分帧截取和拼接,能有效避免均衡滤波器降噪处理语音信号后相邻语音频带叠加的干扰问题,而且算法容易实现,数据计算需求不大,不需要额外设置复杂的滤波器组件和滤波器算法,有很广阔的应用范围。
附图说明
图1为本发明一实施例的方法流程图。
图2为语音分帧示意图。
图3为原始语音波形图。
图4为原始语音频谱图。
图5为原始语音语谱图。
图6为均衡处理的处理界面图。
图7为均衡处理后的波形图。
图8为均衡处理后的语谱图。
图9为截取拼接后的信号波形图。
图10为截取拼接后的信号语谱图。
图11为蝶形运算符号图。
图12为原始语音周期截断后波形图。
图13为原始语音非周期截断后波形图。
图14为周期截断和非周期截断的频谱对比。
图15为原始语音波形图。
图16为经过fft和ifft后的语音波形图。
具体实施方式
下面结合具体实例和附图对本发明做进一步说明。
本发明提供一种语音降噪方法,如图1所示,本方法包括以下步骤:
s1、对输入的语音信号进行快速傅里叶变换,使得各个频段的信号分开;同时,绘制原始语音的波形图和语谱图,作为后续的调节参考。
本实施例中,图3和图4分别为原始语音信号的波形图和频谱图。可以看见有很明显的类似周期性的噪声影响,如果用人耳听辨的话难度很大。图5为原始语音的语谱图,可以看见,在400-500hz左右的频率范围内有很强的噪声信号干扰,因此均衡滤波器进行调节时需要重点对此频率范围内的音频信号进行减幅处理。
s2、对所需要变换的各个频段进行均衡处理,即采用一般的均衡滤波器进行降噪减幅处理。如图6为均衡滤波器进行降噪减幅的处理界面图,在0-5000hz共分31段进行调节。通过均衡滤波器对该原始音频文件进行处理,将频率在400-500hz左右的信号幅值衰减。
本实施例中,对图3和图4所示的原始语音信号进行均衡处理,得到语音信号波形图、语谱图分别如图7和图8所示,从图7可以明显看出,虽然经过均衡滤波器后,原始语音的噪声信号基本被消除,但是由于均衡滤波器相邻频带间的重叠问题,在400-500hz附近频段仍然存在一些脉冲干扰。
s3、音频截取和拼接处理:如图2所示,所述的各个频段中,设一个频段为一帧信号,每一帧信号的帧长为n,帧移为m,相邻两帧之间的重叠部分为n-m;截取:截掉每一帧信号的前面一部分a和后面一部分b,且a+b=n-m,保留中间长度为m的信号;拼接:将截取后的每一帧信号代替截取前的对应信号,拼接在对应的位置,得到新的频域信号。本实施例中,a=b=(n-m)/2。
本实施例中,主要算法流程为对每一帧语音信号分别进行滤波处理后,除了每段信号的首尾两帧,对中间的每帧信号进行如下处理:截掉每一帧信号的前(n-m)/2部分和后(n-m)/2部分,只保留中间的长度为m的信号在下一步做fft反变换。比如在帧长为1的时候,取帧移为1/2,每次截取每帧信号的前1/4和后1/4,这样保留了中间的1/2,对每一帧都做相同处理,最终将保留的中间长度为1/2的拼接起来组成新的频域信号,在下一步做fft反变换。这样一方面能保证在时间上是连续的语音信号而不丢失信息,同时也能避免在相邻频带的重叠问题引起的脉冲干扰,极大的提高了语音质量。
音频截取和拼接处理后的语音信号波形图、语谱图分别如图9和图10所示。从图10可以看到,经过音频截取和拼接算法处理后,不仅去掉了噪声信号,而且有效避免了相邻频带的叠加影响,成功提取了带噪语音中的有效语音,大大提升了语音质量,为后续不论是人耳辨听还是频谱分析提供了非常有价值的初始语音信号。
s4、快速傅里叶反变换:对新的频域信号进行快速傅里叶反变换,得到处理后的语音信号。
一种语音降噪系统,本系统包括:快速傅里叶变换模块,用于对输入的语音信号进行快速傅里叶变换,使得各个频段的信号分开;绘制原始语音的波形图和语谱图,作为后续的调节参考。
均衡处理模块,用于对所需要变换的各个频段进行均衡处理。
音频截取和拼接处理模块,用于截掉每一帧信号的前面一部分a和后面一部分b,且a+b=n-m,保留中间长度为m的信号;以及将截取后的每一帧信号代替截取前的对应信号,拼接在对应的位置,得到新的频域信号;所述的各个频段中,设一个频段为一帧信号,每一帧信号的帧长为n,帧移为m,相邻两帧之间的重叠部分为n-m;所述的a=b=(n-m)/2。
快速傅里叶反变换模块,用于对新的频域信号进行快速傅里叶反变换,得到处理后的语音信号。
一种均衡滤波器,包括所述的语音降噪系统。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的方法的步骤。
一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的方法的步骤。
下面从原理和算法必要性对本发明做进一步阐述。
fft是在离散傅立叶变换dft(discretefouriertransform)基础上的快速算法,快速傅里叶变换的时域抽取方法是将输入的信号按奇偶分开,打乱原来的顺序,之后进行蝶形运算,以保证输出的序列是按着时间顺序排列的。其算法思想和运算过程为:设复杂向量的序列x(n)的长度为n=2m,将序列x(n)前后对半分为x1(n)和x2(n)两个序列,用两个m点的dft运算来完成一个n点的dft运算。
将x(n)分解成偶数序列和奇数序列,当k取偶数时,有:
当k取偶数时,有:
将x1(n)和x2(n)分别代入上式可得:
上式表明,x(n)按奇偶k值分为2个n/2点dft序列:奇序列是x2(n),偶序列是x1(n)。那么对序列x(n),x1(n)和x2(n)可用蝶形运算符号表示,如图11所示。
关于算法的必要性说明
(1)信号截断带来的频谱泄露影响
语音信号分析是语音信号处理的前提和基础,在语音信号处理应用中具有举足轻重的地位。但由于语音信号是一个非平稳信号,只适用于周期、瞬变或平稳随机信号的标准傅里叶变换,不能用来直接分析语音信号。常见做法是对语音进行分帧处理,然后加窗后进行fft分析。
一次fft分析截取1帧长度的时域信号,这1帧的长度总是有限的,因为fft分析一次只能分析有限长度的时域信号。而实际采集的时域信号总时间很长,因此,需要将采样时间很长的时域信号截断成一帧一帧长度的数据块。这个截取过程叫做信号截断。
信号截断分为周期截断和非周期截断。周期截断是指截断后的信号为周期信号,而非周期截断是指截断后的信号不再是周期信号,即使原始信号本身是周期信号。
实际情形中,绝大部分情况都是非周期截断。由于截断后的信号起始时刻和结束时刻的幅值明显不等,将这个信号再进行重构,在连接处信号的幅值不连续,出现跳跃。如果对非周期截断后的信号做fft分析,得到的频谱在整个频带上会发生“拖尾”现象,而再将频谱进行ifft后得到的语音信号也和原始语音波形不一样了。
如下为对模拟的正弦信号波进行周期截断和非周期截断后,进行fft频谱分析的对比实验。
其中原始信号为正弦信号,周期为50hz,采样率为1000hz,采样点数为10000。图12为截取前100个采样点为一个周期(一帧),注意的是,这一个周期的信号的起始时刻和结束时刻的幅值为0,在进行fft分析频谱时不存在幅值突变。
图13为同样截取100个采样点为一个周期(一帧),只不过这一个周期的信号的起始时刻和结束时刻的幅值不为0,这也是非周期截断,这样在进行fft分析频谱是存在幅值突变的问题,这样会额外产生一些高频的干扰信号。
如图14所示为周期截断和非周期截断的频谱对比,可以看见,由于非周期截断的影响,在高频段产生了一些干扰信号,而高频干扰对于频谱分析是影响非常大的。实际音频分帧处理时,绝大部分情况都是非周期截断,所以进行fft分析容易引入高频信号干扰。
由于信号的非周期截断,导致频谱在整个频带内发生了拖尾现象。这是非常严重的误差,称为泄漏,是数字信号处理所遭遇的最严重误差。泄漏后的频谱的幅值更小,频谱拖尾更严重。当截断后的信号不为周期信号时,就会发生泄漏。而现实世界中,在做fft分析时,很难保证截断的信号为周期信号,因此,泄漏不可避免。
为了将这个泄漏误差减小到最小程度(注意是减少,而不是消除),我们需要使用加权函数,也叫窗。加窗主要是为了使信号似乎更好地满足fft处理的周期性要求,减少泄漏。但是窗函数只能减少泄漏,不能消除泄漏。
(2)信号截断带来的吉布斯效应
而实际处理音频文件的时候都是基于分帧算法的,这也是属于非周期截断。在对语音信号进行分帧之后,然后每一帧都当成平稳信号来处理,后面我们会用傅里叶展开每一项,以获取mel频谱特征,这时问题就出来了。如下效应会出现:
将具有不连续点的周期函数(如矩形脉冲)进行傅立叶级数展开后,选取有限项进行合成。当选取的项数越多,在所合成的波形中出现的峰起越靠近原信号的不连续点。当选取的项数很大时,该峰起值趋于一个常数,大约等于总跳变值的9%。这种现象称为吉布斯效应。
这样就不好了,因为我们的帧在起始和结束肯定是会出现不连续情况的,那样这个信号在分帧之后,就会越来越背离原始信号,此时我们需要对信号进行加窗处理,目的很明显了,就是为了减少帧起始和结束的地方信号的不连续性问题。
(3)语音信号加窗傅里叶变换的理论依据。
以上频谱泄露影响和吉布斯效应都是是由于我们对时域函数的改造即增加窗函数引起的,统称为截断(truncating)效应。
非周期离散时间信号的离散傅里叶变换(dtft)对为
其中ω是数字频率,它和模拟角频率θ的关系为ω=θt。这一变换可以看出时域的离散造成频域的周期延拓,而时域的非周期的连续。
鉴于语音信号的短时平稳性,对语音信号采用“加窗分析”,即给语音信号加窗,将语音信号分为一段一段来分析其特征参数,其中每一段称为一“帧”,帧长一般取为10ms~30ms。这样,对于整体的语音信号来讲,分析出的是由每一帧特征参数时间序列。对n帧语音信号xn(m)进行加窗傅里叶变换:
由上式可知,加窗傅里叶变换实际就是窗选信号的标准傅里叶变换。这里,窗ω(n-m)是一个“滑动的”窗口,它随n的变化而沿着序列x(m)滑动。由于窗口是有限长度的,所以这个变换是存在的.当窗口函数不同,傅里叶变换的结果也将不同。
上式还可表示成另外一种形式。设语音信号序列和窗口序列的标准傅里叶变换均存在,当n取固定值时,ω(n-m)的傅里叶变换为
根据卷积定理,有
xn(ejω)=x(ejω)·[e-jωn·w(e-jω)]
上式右边两个卷积项均为关于角频率ω的以2π为周期的连续函数,所以也可以将其写成以下的卷积积分形式:
即,假设x(m)的dtft是x(ejw),且ω(m)的dtft是w(ejω),那么xn(ejω)是x(ejω)和w(ejω)的周期卷积。
将截断信号的谱xn(ejω)与原始信号的谱x(ejω)相比较可知,它已不是原来的两条谱线,而是两段振荡的连续谱。这表明原来的信号被截断以后,其频谱发生了畸变,原来集中在一处的能量被分散到两个较宽的频带中去了,这种现象称之为频谱能量泄漏(leakage)。
信号截断以后产生的能量泄漏现象是必然的,因为窗函数w(t)是一个频带无限的函数,所以即使原信号x(t)是限带宽信号,而在截断以后也必然成为无限带宽的函数,即信号在频域的能量与分布被扩展了。又从采样定理可知,无论采样频率多高,只要信号一经截断,就不可避免地引起混叠,因此信号截断必然导致一些误差,这是信号分析中不容忽视的问题。
如果增大截断长度t,即矩形窗口加宽,则窗谱w(ω)将被压缩变窄(π/t减小)。虽然理论上讲,其频谱范围仍为无限宽,但实际上中心频率以外的频率分量衰减较快,因而泄漏误差将减小。当窗口宽度t趋于无穷大时,即窗口无限宽,即不截断,就不存在泄漏误差。
(4)同一语音信号经过fft前后波形图对比
如图15和16分别为原始语音信号波形图和经过fft和ifft后的语音波形图。可以看见,在经过fft变换后,在相邻频带间产生了额外的脉冲干扰,最大幅值也大大增加,影响了原始语音质量。而我们基于音频剪切和拼接的算法可以避免相邻频带间的重叠问题,避免了信号的起始时刻和结束时刻幅值突变从而导致fft变换后导致信号泄漏的情况。
以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除