




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 数字信号处理课程设计 基于matlab的语音信号处理 摘要利用所学习的数字信号处理知识,设计了一个有趣的音效处理系统,首先设计了几种不同的滤波器对声音进行滤波处理,分析了时域和频域的变化,比较了经过滤波处理后的声音与原来的声音有何变化。同时设计实现了语音的倒放,变速播放,回响,音调转换等处理效果,其中音调转换部分使用了重新采样改变基频,再进行时长规整的算法。基于MATLAB的语音信号处理语音信号的采集 录制或者截取一段音乐,时间在1分钟左右,存为.wav的文件。然后利用wavread对语音信号进行采样。我们一共选择了3段语音,其中 d.wav 真心英雄(周华健)(男声) man.wav我的歌
2、声里(自己录制)(男声) girl.wav看的最远的地方(张韶涵)(女声)语音信号的频谱分析使用matlab画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,画出频谱图,分析频率成分。这里我们分析的是d.wav,通过分析知道频率分布在010KHz,主要分布在低频。数字滤波器设计这里我们设计了4种滤波器对语音进行处理,分别为椭圆低通滤波,椭圆高通滤波,等波纹逼近法FIR带通滤波器,双线性变换法切比雪夫数字高通滤波器,绘制出相应的幅度、相位谱图,滤波后的波形、频谱图。各滤波器的设计如下:椭圆低通滤波器:fb1 200 Hz,fc1 400 Hz,As100 dB,Ap1
3、dB椭圆高通滤波器:fc4 800 Hz,fb5 000 Hz As100 dB,Ap1 dB等波纹逼近法设计FIR带通滤波器fb11200Hz,fb23000Hz,fc11000Hz,fc23000Hz,As100dB,Ap1dB双线性变换法切比雪夫数字高通滤波器fc4 800 Hz,fb5 000 Hz As100 dB,Ap1 dB 滤波处理后,我们用函数sound()可以对声音进行回放,调用格式:sound(x,fs,bits);感觉滤波前后的声音。语音的低频部分沉稳,空间感较强;中频部分音质一般;高频部分音质非常尖锐,略微有尖音。此外中高频的幅度都不大,回放时音量较低。语音变速播放改
4、变语音的播放速度也就是改变采样间隔(即改变了采样频率),但是这个频实现率依然要在2f(Nyquist rate)之上,否则就会产生失真。%变速-慢放%w=0.9;M=w*fs; %w>1为快放,w<1为慢放sound(x,M,nbits);语音倒放 使用flipud()倒置语音矩阵,逆序输出音频即可。回响效果 回声在时域上幅值减小了,频域上的特征不变,只需要把原信号添加一个延时(delay)和对时域的幅度添加一个参数.然后和原信号叠加即可获得回响效果。实现男女声转换音效效果 我们使用另外写的voice(x,f)函数实现音调转换,x为需要转换的声音,通过抽取插值更改采样率来改变基频,
5、当f>1时音调降低;f<1音调升高。然后再进行时长整合使语音文件恢复原来的时长。时长整合使用重叠叠加算法来实现。经过我们试听,转换效果还是很好的。总结体会通过对声音信号的滤波处理,比较其前后变化,感受到了滤波器在声音信号处理当中的作用,同时在实践中掌握了滤波器的基本设计方法,加深了对各种类型的数字滤波器特性的理解。我们通过对声音的各种变换,产生了多种不同的音效,也体会到了语音处理的魅力。在课程设计过程中,我们发现自己对Matlab的应用还是不够熟练,基础不够扎实,花了不少时间编写调试。代码附录%读取声音信号%y,fs,nbits=wavread('d'); %读取声
6、音文件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('原声音的频谱');xlabel('frequency/Hz')
7、;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,rp,as,wp1); %计算低通滤波器模拟滤波器系统函数系数y1=filter(B,A,x); %滤波器软件实现% 低通滤波器绘图部分% figure; freqz(B,A); figur
8、e; subplot(2,1,1); t=n*T; plot(t,y1); xlabel('t/s');ylabel('magnitude');title('低通滤波后的波形'); axis(0,t(end),min(y1),1.2*max(y1)%坐标范围 subplot(2,1,2); plot(f,abs(fft(y1);%椭圆高通滤波器% fp2=4800;fs2=5000; %高通滤波器通带截止频率5000Hz和阻带截止频率4800Hz wp2=2*fp2/Fs; ws2=2*fs2/Fs;rp=1;as=100; N2,wp2=ell
9、ipord(wp2,ws2,rp,as); B2,A2=ellip(N2,rp,as,wp2,'high'); %计算高通滤波器模拟滤波器系统函数系数 y2=filter(B2,A2,x); %滤波器软件实现% 高通滤波器绘图部分% figure; freqz(B2,A2); figure; subplot(2,1,1); t=n*T; plot(t,y2); xlabel('t/s');ylabel('magnitude');title('高通滤波后的波形'); axis(0,t(end),min(y2),1.2*max(y2)
10、 subplot(2,1,2); plot(f,abs(fft(y2); %等波纹逼近法设计带通滤波器及滤波I,fs,nbits=wavread('d');y=I(:,1);fp1=1200;fp2=3000;fc1=1000;fc2=3200;FS=2*fs;rp=1;rs=100;f=fc1,fp1,fp2,fc2;m=0,1,0;dat1=(10(rp/20)-1)/(10(rp/20)+1);dat2=10(-rs/20);rip=dat2,dat1,dat2;M,fo,mo,w=remezord(f,m,rip,FS);M=M+1;hn=remez(M,fo,mo,w
11、);figure(1);freqz(hn);Y=fft(y);y1=fftfilt(hn,y); %用remez设计的滤波器进行滤波Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title('未滤波语音波形');subplot(222);plot(y1);title('等波纹逼近法滤波后语音波形');subplot(223);plot(n,Y);title('未滤波语音频谱');subplot(224);plot(n,Y1);title('等波纹逼近法滤波后语音频谱
12、39;);sound(y1,fs,nbits); %滤波后语音回放%cheby1设计模拟高通滤波器再经双线性变换法设计成数字高通滤波器fp=5000;fc=4800;rp=1;rs=100;FS=2*fs;wpz=2*pi*fp/FS;wsz=2*pi*fc/FS;wp=2*tan(wpz/2)*FS;ws=2*tan(wsz/2)*FS; %预畸校正转换指标N,wpo=cheb1ord(wp,ws,rp,rs,'s');BH,AH=cheby1(N,rp,wpo,'high','s');Bz,Az=bilinear(BH,AH,FS);w=0:
13、0.01*pi:pi;h,w=freqz(Bz,Az,w);plot(w/pi,20*log(abs(h),'k');axis(0,1,-800,100);xlabel('w/pi');ylabel('幅度/dB');grid;title('cheby1数字高通滤波器');Y=fft(y);y1=filter(Bz,Az,y); Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title('未滤波语音波形');subplot(222);plot(y
14、1);title('cheby滤波后语音波形');subplot(223);plot(n,Y);title('未滤波语音频谱');subplot(224);plot(n,Y1);title('cheby滤波后语音频谱');sound(y1,fs,nbits); %滤波后语音回放 %播放声音%sound(x,fs,nbits); %原声sound(5*y1,fs,nbits); %低通sound(5*y2,fs,nbits); %高通 %变速-慢放%w=0.9;M=w*fs; %w>1为快放,w<1为慢放sound(x,M,nbits)
15、; %语音倒放%y0=flipud(x);sound(y0); %回声%z=zeros(5000,1);x; %延时5000个点x1=x;zeros(5000,1); %使原声音长度与延时后相等y1=x1+0.4*z; %原声+延时衰减figure;plot(y1);title('加入回声的波形');sound(5*y1,fs,nbits); %调用函数voice()实现音调转换% %男声转换为女声%y,fs,nbits=wavread('man'); %读取声音文件x=y(:,1); %读入的y矩阵有两列,取第1列y1=voice(x,0.71); %调整vo
16、ice()第2个参数转换音调,>1降调,<1升调,y1为x转换后的声音N=length(x); M=length(y1);n=0:N-1; m=0:M-1;X= fft(x); Y=fft(y1); %傅里叶变换Fs=2*fs; %2倍频T=1/Fs; T1=1/Fs*0.71;f=n/N*Fs; f1=m/M*Fs/0.71;t=n*T; t1=m*T1;figure;subplot(2,1,1);plot(t,x); xlabel('t/s');ylabel('magnitude');title('转换前的波形');subplot
17、(2,1,2);plot(t1,y1); xlabel('t/s');ylabel('magnitude');title('转换后的波形');figure;subplot(2,1,1);plot(f,abs(X); xlabel('frequency/Hz');ylabel('magnitude');title('转换前的频谱');subplot(2,1,2);plot(f1,abs(Y); xlabel('frequency/Hz');ylabel('magnitude
18、39;);title('转换后的频谱');sound(y1,fs,nbits); %女声转换为男声%y,fs,nbits=wavread('girl'); %读取声音文件x=y(:,1); %读入的y矩阵有两列,取第1列sound(voice(x,1.3),fs,nbits);%调整voice()第2个参数转换音调,>1降调,<1升调function Y=voice(x,f) %更改采样率使基频改变 f>1降低;f<1升高f=round(f*1000);d=resample(x,f,1000);%时长整合使语音文件恢复原来时长 W=400; Wov=W/2; Kmax=W*2; Wsim=Wov; xdecim=8; kdecim=2; X=d' F=f/1000; Ss =W-Wov; xpts = size(X,2);ypts = round(xpts / F); Y = zeros(1, ypts); xfwin = (1:Wov)/(Wov+1); ovix = (1-Wov):0; newix = 1:(W-Wov);simix = (1:xdecim:Wsim) - Wsim; padX = zeros(1,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论