1、语音信号处理实验四 减谱法语音增强技术研究一、实验目的本实验要求掌握减谱法语音增强的原理,会利用已学的相关语音特征,构建语音特征矢量,然后自己设计减谱法语音增强程序(也可参考相关文献),能显示干净语音和加噪语音信号及处理后的结果语音信号波形,分析实验结果,写出报告。二、实验原理谱减法的基本原理谱相减方法是基于人的感觉特性,即语音信号的短时幅度比短时相位更容易对人的听觉系统产生影响,从而对语音短时幅度谱进行估计,适用于受加性噪声污染的语音。由于语音是短时平稳的,所以在短时谱幅度估计中认为它是平稳随机信号,假设、和分别代表语音、噪声和带噪语音,、和分别表示其短时谱。假设噪声是与语音不相关的加性噪声
2、。于是得到信号的加性模型: (4-1)对功率谱有 (4-4)原始语音的估值为 (4-5)只要在频域用(4-5)式得到纯净语音的谱估计,就可以根据(4-6)式得到增强后的语音。 (4-6)根据前面分析,我们可以给出谱相减算法的整个算法流程,如图4-1所示:图4-1 谱减法的算法流程三、实验程序1、噪声叠加到信号上的比较%在噪声环境下语音信号的增强%语音信号为读入的声音文件%噪声为正态随机噪声clear;input=wavread(C:UsersAdministratorDesktopyuyinxinhaob1.wav);count=length(input);noise1=0.1*randn(1
3、,count);signal=input;for i=1:countvoice1(i)=signal(i)+noise1(i);endnoise2=0.01*randn(1,count);for i=1:countvoice2(i)=signal(i)+noise2(i);endnoise3=randn(1,count);signal=input;for i=1:countvoice3(i)=signal(i)+noise3(i);endn=1:count;figure %对比纯净语音信号,噪音信号和带噪语音信号subplot(3,1,1);plot(n,signal);title(纯净信号)
4、subplot(3,1,2);plot(n,noise1);title(噪音信号)subplot(3,1,3);plot(n,voice1);title(带噪信号)figure %对比纯净语音信号频谱,噪音信号和带噪信号频谱Fss=fft(signal);subplot(3,1,1);plot(n,abs(Fss);title(纯净信号频谱)Fss1=fft(noise1);subplot(3,1,2);plot(n,abs(Fss1);title(噪音信号频谱)Fv1=fft(voice1);subplot(3,1,3)plot(n,abs(Fv1);title(带噪信号的频谱)figure
5、 %对比纯净语音信号,噪音信号和带噪语音信号subplot(3,1,1);plot(n,signal);title(纯净信号)subplot(3,1,2);plot(n,noise2);title(噪音信号)subplot(3,1,3);plot(n,voice2);title(带噪信号)figure %对比纯净语音信号频谱,噪音信号和带噪信号频谱Fss=fft(signal);subplot(3,1,1);plot(n,abs(Fss);title(纯净信号频谱)Fss2=fft(noise2);subplot(3,1,2);plot(n,abs(Fss2);title(噪音信号频谱)Fv2
6、=fft(voice2);subplot(3,1,3)plot(n,abs(Fv2);title(带噪信号的频谱)figure %对比纯净语音信号,噪音信号和带噪语音信号subplot(3,1,1);plot(n,signal);title(纯净信号)subplot(3,1,2);plot(n,noise3);title(噪音信号)subplot(3,1,3);plot(n,voice3);title(带噪信号)figure %对比纯净语音信号频谱,噪音信号和带噪信号频谱Fss=fft(signal);subplot(3,1,1);plot(n,abs(Fss);title(纯净信号频谱)Fs
7、s3=fft(noise3);subplot(3,1,2);plot(n,abs(Fss3);title(噪音信号频谱)Fv3=fft(voice3);subplot(3,1,3)plot(n,abs(Fv3);title(带噪信号的频谱)2、利用减谱法的基本原理给语音信号降噪 噪声为0.1*randn(1,coun) 纯净信号为输入信号 %在噪声环境下语音信号的增强%语音信号为读入的声音文件%噪声为正态随机噪声clear;input=wavread(C:UsersAdministratorDesktopyuyinxinhaob1.wav);count=length(input);noise=
8、1*randn(1,count);signal=input;for i=1:countvoice(i)=signal(i)+noise(i);end Fv=fft(voice);anglev=angle(Fv);Fn=fft(noise);power1=(abs(Fv).2;power2=(abs(Fn).2;power3=power1-power2;power4=sqrt(power3);Fs=power4.*exp(j*anglev);sound=ifft(Fs);n=1:count;%纯净语音信号频谱Fss=fft(signal);figure %对比纯净语音信号和输出信号subplot
9、(2,1,1)plot(n,signal);title(纯净信号)subplot(2,1,2)plot(n,sound);title(输出信号)figure %对比纯净语音信号频谱和输出语音信号频谱subplot(2,1,1)plot(n,abs(Fss);title(纯净信号频谱)subplot(2,1,2)plot(n,abs(Fs);title(输出信号频谱)max_v=max(voice); %对带噪信号抽样值点进行归一化处理re_voice=voice/max_v;%对输出信号抽样点值进行归一化处理max_s=max(sound);re_sound=sound/max_s;%读出带噪
10、语音信号,存为1001.wavwavwrite(re_voice,5500,16,1001);%读出处理后语音信号,存为1002.wavwavwrite(re_sound,5500,16,1002)3、利用改进的减谱法给语音信号降噪噪声为0.1*randn(1,coun) 纯净信号为输入信号 %在噪声环境下语音信号的增强%语音信号为读入的声音文件%噪声为正态随机噪声clear;input=wavread(C:UsersAdministratorDesktopyuyinxinhaob1.wav);count=length(input);noise=0.1*randn(1,count);signa
11、l=input;for i=1:countvoice(i)=signal(i)+noise(i);end Fv=fft(voice);anglev=angle(Fv);Fn=fft(noise);power1=(abs(Fv).2;power2=(abs(Fn).2;for i=1:count if(power1(i)=3*power2(i) power3(i)=power1(i)-3*power2(i); else power3(i)=0.01*power2(i); endendpower4=sqrt(power3);Fs=power4.*exp(j*anglev);sound=ifft(F
12、s);n=1:count;%纯净语音信号频谱Fss=fft(signal);figure %对比纯净语音信号和输出信号subplot(2,1,1)plot(n,signal);title(纯净信号)subplot(2,1,2)plot(n,sound);title(输出信号)figure %对比纯净语音信号频谱和输出语音信号频谱subplot(2,1,1)plot(n,abs(Fss);title(纯净信号频谱)subplot(2,1,2)plot(n,abs(Fs);title(输出信号频谱)四、实验结果1、噪声叠加到信号上的比较(1)噪声为0.1*randn(1,count)(2)噪声为0
13、.01*randn(1,count)(3)噪声为randn(1,count)2、利用减谱法的基本原理给语音信号降噪噪声为0.1*randn(1,coun) 纯净信号为输入信号3、利用改进的减谱法给语音信号降噪噪声为0.1*randn(1,coun) 纯净信号为输入信号(1)参数取a=3,b=0.01 (2)参数取a=10,b=0.01 (3)参数取a=0.8,b=0.01 (4)参数取a=3,b=0.0001 (5)参数取a=3,b=0.1 五、实验分析1、噪声叠加到信号上时,噪声会对信号产生较大影响,噪声加强会使信号被噪声淹没;噪声减弱,对信号的影响减小;2、用减谱法的基本原理対带噪信号进行
14、处理后,信号质量明显提升,从而得到较纯净的语音信号;3、用改进的减谱法対带噪信号进行处理后,信号质量更好,语音信号更纯净。合理选择参数a、b很重要,由于实验所用的是辅音,去a=3,b=0.01左右较合适。a太大或太小,不能取得较好的降噪效果,b太小,不能抑制纯音噪声,b太大会造成噪声,必须b1。六、实验总结 通过本次实验,我知道了:减谱法作为语音增强技术的有效方法之一,能够有效地降低包含在语音中的加性噪声,但是由于减谱法针对的是宽带噪声较为传统和有效的方法,它是在假定加性噪声与短时平稳的语音信号相互独立的条件下,从带噪语音的功率谱中减去噪声功率谱,从而得到较为纯净的语音频谱,可见存在一定的局限性。如何寻求一种较通用的语音增强方法有待进一步探讨。看似简单的问题,自己动手亲自写一下程序,才知道自己的不足,才会真正得到提高,为将来更深层次的学习打下良好的基础。(此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的配合和支持)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1