非特定环境下去噪性能的分析

2013-04-25 09:44朱徐来
滁州学院学报 2013年5期
关键词:浊音清音语音

朱徐来, 冯 俊

语音信号是人所发出来的声音,人类产生语音的发音器官有肺部、气管、喉、咽、鼻腔、口腔和上、下唇,所以语音从人的口腔发出来之前,就受到这些器官的干扰,然后在传输过程中又受到各种环境的干扰,去除这些干扰,还原语音本身,有着非常重要的研究价值和实际意义。

1 短时能量[1]在去噪中的应用

语音信号的能量随着时间变化比较明显,不同的人,语音的能量会不同,即使是同一个人,在不同的场合和环境下,语音的能量也会有区别。而能量最大的差别还在于语音的分类,如清音和浊音,一般清音部分的能量比浊音的能量小得多,而无声段的能量又比清音部分小得多。对于一般环境下的清音和无声段,清音段的能量比无声段高三四倍左右,可以用能量来区分,但是如果无声段中加入了背景噪声和高斯白噪声,就无法用能量来衡量哪些部分是清音段,哪些部分是无声段了[1][2]。短时能量的表达式如下:

(1)

其中,h(n)=w2(n),En表示信号进行了加窗处理,代表第n个点的短时能量。因为非线性时变的信号处理非常繁琐,针对语音信号的特点和人耳的掩弊效应,我们采用窗函数来截取一段语音信号,在10ms-30ms之间,语音信号可以认为是线性时不变的信号,这样就可以用线性时不变系统来处理语音信号,降低了复杂度并且也能满足实时性的要求。

2 短时平均过零率[1]在去噪中的应用

短时平均过零率是语音信号的一种基本参数,它是指用窗函数截取的每帧内信号通过零值的次数,也就是在时域波形上语音信号的波形通过X轴的次数。对于离散信号,短时平均过零率处理相对比较简单,它实质上就是信号采样点符号变化的次数。如果是正弦信号,处理就要复杂的多,它的平均过零率就是信号的频率除以两倍的采样频率,而采样频率是固定的,因此过零率在一定程度上可以反映出频率的信息。因为语音信号不是简单的正弦序列,在X轴附近可能会出现虚假的过零率,所以平均过零率的表示方法就不那么确切。为了使平均过零率更能准确的反映语音信号的特征,常见的做法是选取一定的门限值,以通过该门限值的正负值,才算一次过零,这样计算短时平均过零率就有一定的抗干扰能力,并在一定程度上反映其频谱性质,可以通过短时平均过零率获得谱特性的一种粗略估计[1,3,5]。短时平均过零率的公式为:

其中,sgn[·]是符号函数,即

短时平均过零率可以用于判断浊音和清音,以及无声段和有声段。发浊音时,声带振动,因而声门激励是频率为基频的声压波,它在经过声道时产生共振。尽管声道有若干个共振峰,但由于声门的影响,其能量分布主要集中在3KHz频率范围内;反之,在发清音时,声带不振动,声道的某部分受到阻塞产生类白噪声的激励,该激励通过声道后能量集中在比浊音时更高的频率范围内。因此,浊音时的能量集中于低频段,而清音的能量集中在高频段。由于短时平均过零率可以在一定程度上反映频率的高低,因此在浊音段,一般具有较低的过零率,而在清音段具有较高的过零率,这样可以用短时平均过零率来初步判断清音和浊音[1,4,5]。

3 非特定环境下去噪方法

本文提出的方法,是在一般环境下,针对噪声的特点,这里我们假设的噪声主要是高斯白噪声,给出了利用短时能量和短时平均过零率来去除噪声的方法。首先选取一定的阈值,阈值采用sqrt(2*log(div)/(10^(snr/10)))公式计算,根据浊音、清音和噪声的短时能量值

nl3=[zeros(1,1/8*div),cd3,

zeros(1,3/4*div)];

nl2=[zeros(1,1/4*div),cd2,

zeros(1,1/2*div)];

nl1=[zeros(1,1/2*div),cd1];

来区分浊音和清音与噪声,其中div代表的语音帧长(实验中我们选取值为256)。通过比较可以得出浊音帧。

然后利用短时平均过零率,采用修正的短时平均过零率,设定一个门限值,公式如下:

Z1(i)=Z1(i)+abs(sign(x(j)-0.2)

-sign(x(j-1)))

区分出清音与噪声,通过比较得出的噪声部分,直接去除,最后把语音帧(包括前面判断的浊音与清音)与高斯白噪声做差,恢复原始语音信号。

4 仿真结果分析

仿真环境,采用Microsoft Windows XP Professional 版本2002,Service Pack 3,Intel(R) Core(TM)2 Duo CPU L7500 @1.60GHz 1.18GHz,1.97GB的内存。

仿真步骤如下:

(1)语音信号的采集:利用Windows下的录音机,录制一段话音,本次试验随机的抽取了两个人的声音,分别为一个男生和一个女生,录制的时间也采用了不同的时段。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,播放语音信号,并绘制原始语音信号;

(2)对原始信号加入噪声:对原始语音信号加入n=awgn(s,snr)的噪声,也就是高斯白噪声,播放加入噪声信号的语音信号,并绘制波形图;

(3)运用文中的方法,对叠加噪声后的信号进行分析,去除噪声,恢复原始的语音信号,然后把前后的信号进行对比,分析信号的变化,回放语音信号,并绘制波形图。

图1为一女生唱的英文歌曲,时间为19S。

图1

图2为一男生说的一段话,时间8S。

图2

根据恢复信号的播放效果来看,能够满足人耳的需求。从时域的波形图上也可以看出,文中的方法,在一般的环境下,在保证语音信号质量的情况下,可以有效的去除噪声,达到了去除噪声的目的。

5 结束语

本文的方法达到了去除噪声的目的,并且体现了一般性,有着实际的使用价值。这种方法对于信噪比非常低的语音信号,或者环境非常恶劣的情况下,处理的效果就不太理想了。另外对于语音质量要求非常高的场合,如录制DVD、CD等,文中的方法就不能满足其要求,需要对特定的环境下进行去噪声处理。

[参 考 文 献]

[1] 韩纪庆,张磊,郑铁然.语音信号处理[M].北京:清华大学出版社,2008.

[2] 国雁萌,盛任农,牟英良.基于能量和浊音特性的语音端点检测[J].计算机工程与应用,2006(26):43-46.

[3] MRTIN A,MAUUARY L.Voicing parameter and energy based speech/nonspeech detection for speech recognition in adverse conditions [C]//Proceedings of EuroSpeech 03.Geneva;[s.n.],2003:3069-3072.

[4] 易克出,田斌,付强.语音信号处理[M].北京:国防工业出版社,2000.

[5] Andrei Grebennikov. RF and m icnow ave power am plifier design[M].McG raw-Hill Companies,2005.

猜你喜欢
浊音清音语音
《山水清音》
《园林清音》
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
日语半浊音的变化规律研究
对方正在输入……
清浊音分离抗噪的语音识别算法的研究
有关鼻浊音使用实态的研究
——以NHK新闻为中心
基于计算听觉场景分析的改进清音分离方法