资源描述:
《基于某matlab地语音滤波处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实用标准文案数字信号处理课程设计基于matlab的语音信号处理摘要精彩文档实用标准文案利用所学习的数字信号处理知识,设计了一个有趣的音效处理系统,首先设计了几种不同的滤波器对声音进行滤波处理,分析了时域和频域的变化,比较了经过滤波处理后的声音与原来的声音有何变化。同时设计实现了语音的倒放,变速播放,回响,音调转换等处理效果,其中音调转换部分使用了重新采样改变基频,再进行时长规整的算法。基于MATLAB的语音信号处理语音信号的采集 录制或者截取一段音乐,时间在1分钟左右,存为.wav的文件。然后利用wavread对语音信号进行采样。我们一共选择了3段语音,其中d.wav真心英雄(周华健)(男
2、声)man.wav我的歌声里(自己录制)(男声)girl.wav看的最远的地方(张韶涵)(女声)语音信号的频谱分析使用matlab画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,画出频谱图,分析频率成分。这里我们分析的是d.wav,通过分析知道频率分布在0—10KHz,主要分布在低频。数字滤波器设计精彩文档实用标准文案这里我们设计了4种滤波器对语音进行处理,分别为椭圆低通滤波,椭圆高通滤波,等波纹逼近法FIR带通滤波器,双线性变换法切比雪夫数字高通滤波器,绘制出相应的幅度、相位谱图,滤波后的波形、频谱图。各滤波器的设计如下:椭圆低通滤波器:fb=1200Hz,f
3、c=1400Hz,As=100dB,Ap=1dB精彩文档实用标准文案椭圆高通滤波器:fc=4800Hz,fb=5000HzAs=100dB,Ap=1dB精彩文档实用标准文案等波纹逼近法设计FIR带通滤波器fb1=1200Hz,fb2=3000Hz,fc1=1000Hz,fc2=3000Hz,As=100dB,Ap=1dB双线性变换法切比雪夫数字高通滤波器fc=4800Hz,fb=5000HzAs=100dB,Ap=1dB精彩文档实用标准文案滤波处理后,我们用函数sound()可以对声音进行回放,调用格式:sound(x,fs,bits);感觉滤波前后的声音。语音的低频部分沉稳,空间感较强;
4、中频部分音质一般;高频部分音质非常尖锐,略微有尖音。此外中高频的幅度都不大,回放时音量较低。语音变速播放改变语音的播放速度也就是改变采样间隔(即改变了采样频率),但是这个频实现率依然要在2f(Nyquistrate)之上,否则就会产生失真。%变速-慢放%精彩文档实用标准文案w=0.9;M=w*fs;%w>1为快放,w<1为慢放sound(x,M,nbits);语音倒放使用flipud()倒置语音矩阵,逆序输出音频即可。回响效果回声在时域上幅值减小了,频域上的特征不变,只需要把原信号添加一个延时(delay)和对时域的幅度添加一个参数.然后和原信号叠加即可获得回响效果。实现男女声转换音效效果
5、我们使用另外写的voice(x,f)函数实现音调转换,x为需要转换的声音,通过抽取插值更改采样率来改变基频,当f>1时音调降低;f<1音调升高。然后再进行时长整合使语音文件恢复原来的时长。时长整合使用重叠叠加算法来实现。经过我们试听,转换效果还是很好的。精彩文档实用标准文案精彩文档实用标准文案总结体会通过对声音信号的滤波处理,比较其前后变化,感受到了滤波器在声音信号处理当中的作用,同时在实践中掌握了滤波器的基本设计方法,加深了对各种类型的数字滤波器特性的理解。我们通过对声音的各种变换,产生了多种不同的音效,也体会到了语音处理的魅力。在课程设计过程中,我们发现自己对Matlab的应用还是不够
6、熟练,基础不够扎实,花了不少时间编写调试。代码附录%读取声音信号%[y,fs,nbits]=wavread('d');%读取声音文件x=y(:,1);%读入的y矩阵有两列,取第1列N=length(x);n=0:N-1;X=fft(x);%傅里叶变换Fs=2*fs;%2倍频T=1/Fs;f=n/N*Fs;figure;subplot(2,1,1);plot(n,x);%声音的时域波形title('原声音的波形');xlabel('t/s');ylabel('magnitude');subplot(2,1,2);plot(f,abs(X));%声音的频谱title('原声音的频谱');xla
7、bel('frequency/Hz');ylabel('magnitude');%滤波器设计%%椭圆低通滤波器%fp1=1200;fs1=1400;%低通滤波器通带截止频率1200Hz和阻带截止频率1400Hzwp1=2*fp1/Fs;ws1=2*fs1/Fs;rp=1;as=100;[N1,wp1]=ellipord(wp1,ws1,rp,as);%计算椭圆低通模拟滤波器的阶数和通带边界频率[B,A]=ellip(N1