1一:应用背景利用所学习的数字信号处理知识,自己动手制作一个有趣的音效处理系统,看看能不能完成声音的逐渐放大和逐渐衰减、看看能不能让自己的声音发生一些改变(变得尖声尖气或粗声粗气)、看看改变声音播放速度有什么方法等等,你还可以自己想想还有什么有趣的变化,可以通过我们已有的知识让它实现。作为课程设计,以下要求分为基本必做部分和提高必做部分,在提高部分你可以选择全部内容和部分内容,当然分数值是不一样。二、基于MATLAB数字音效处理器2.1:实现步骤基本要求描述(40分)1)语音信号的采集(2分)要求利用Windows下的录音机,录制一段自己的话音,时间在5s内,存为*.WAV的文件。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。2)语音信号的频谱分析(10分)要求首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,分析基频。3)设计数字滤波器和画出其频率响应(10分)给出各滤波器的性能指标:(1)低通滤波器性能指标fb=1000Hz,fc=1200Hz,As=100dB,Ap=1dB。(2)高通滤波器性能指标fc=4800Hz,fb=5000HzAs=100dB,Ap=1dB。(3)带通滤波器性能指标fb1=1200Hz,fb2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB。4)用滤波器对信号进行滤波(5分)要求学生用自己设计的各滤波器分别对采集的信号进行滤波,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。25)比较滤波前后语音信号的波形及频谱(10分)要求在一个窗口同时画出滤波前后的波形及频谱,做出分析。6)回放语音信号(1分)在Matlab中,函数sound可以对声音进行回放。其调用格式:sound(x,fs,bits);可以感觉滤波前后的声音有变化。7)实现慢录快放和快录慢放功能(2分)3提高部分要求(选择60分内容)8)实现对声音信号放大和衰减功能(10分)9)实现对录音内容倒播放(30分)10)实现混音音效效果(10分)11)实现回音音效效果(10分)12)实现男女变声音效效果(30分)13)设计系统界面(10分)为了使编制的程序操作方便,要求有能力的学生,设计处理系统的用户界面。2.2试验程序基础部分:clear;clc;closeall;%读取声音信号%[x,fs,nbits]=wavread('bb',16384);%读声音文件N=length(x);n=[0:N-1];X=fft(x);%傅里叶变换Fs=2*fs;%2倍频T=1/Fs;f=n/N*Fs;%把点数转换成频率subplot(2,1,1);plot(n,x);%画出原声音信号ylabel('原声音信号');xlabel('时间/s');subplot(2,1,2);plot(f,abs(X));%画出原声音信号的幅度谱ylabel('语音的幅度谱');xlabel('频率/Hz');%%滤波器设计%3%%低通滤波器%fp1=1000;fs1=1200;%设定低通滤波器通带截止频率和阻带截止频率wp1=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);%滤波器软件实现Y1=abs(fft(y1));%低通滤波器设计与实现绘图部%figure;freqz(B,A);y1t='y_1(t)';figure;subplot(2,1,1);t=n*T;plot(t,y1);xlabel('t/s');ylabel(y1t);axis([0,t(end),min(y1),1.2*max(y1)])%坐标范围subplot(2,1,2);plot(f,abs(fft(y1)));%高通滤波器%fp2=4800;fs2=5000;%设定高通滤波器通带截止频率和阻带截止频率wp2=2*fp2/Fs;ws2=2*fs2/Fs;rp=1;as=100;[N2,wp2]=ellipord(wp2,ws2,rp,as);%计算椭圆高通模拟滤波器的阶数和通带边界频率[B2,A2]=ellip(N2,rp,as,wp2,'high');%计算高通滤波器模拟滤波器系统函数系数y2=filter(B2,A2,x);%滤波器软件实现%高通滤波器设计与实现绘图部分figure;freqz(B2,A2);figure;y2t='y_2(t)';subplot(2,1,1);t=n*T;plot(t,y2);xlabel('t/s');ylabel(y2t);axis([0,t(end),min(y2),1.2*max(y2)])subplot(2,1,2);plot(f,abs(fft(y2)));%带通滤波器%fpl=1200;fpu=3000;fsl=1000;fsu=3200;wp3=[2*fpl/Fs,2*fpu/Fs];ws3=[2*fsl/Fs,2*fsu/Fs];rp=1;as=100;[N3,wp3]=ellipord(wp3,ws3,rp,as);%计算椭圆带通模拟滤波器的阶数和通带边界频率[B3,A3]=ellip(N3,rp,as,wp3);%计算带通滤波器模拟滤波器系统函数系数y3=filter(B3,A3,x);%滤波器软件实现%带通滤波器设计与实现绘图部分4figure;freqz(B3,A3);y3t='y_3(t)';figure;subplot(2,1,1);t=n*T;plot(t,y3);xlabel('t/s');ylabel(y3t);axis([0,t(end),min(y3),1.2*max(y3)])subplot(2,1,2);plot(f,abs(fft(y3)));%播放声音%sound(x,fs);sound(y1,fs);%低通sound(y2,fs);%高通sound(y3,fs);%带通%变速%w=0.8M=w*fs;%相乘的数为大于一的数为快放,小于一的为慢放sound(x,M);提高部分:%对声音信号放大和衰减%%放大%figureo=10forxa=1:16384;p(xa,1)=x(xa,1)*xa*o;endsubplot(2,1,1);plot(x);xlabel('原始波形')subplot(2,1,2);plot(n/Fs,p);xlabel('变换波形')sound(20*p,fs);%衰减%figureo1=0.9forxa=1:16384;p(xa,1)=x(xa,1)/xa*o1;endsubplot(2,1,1);plot(x);5xlabel('原始波形')subplot(2,1,2);plot(n/Fs,p);xlabel('变换波形')sound(20*p,fs)%%%倒放figurew1=x(1:2350);w2=x(2351:3850);w3=x(3851:4850);w4=x(4851:5550);w5=x(5551:8550);w6=x(10000:10150);w7=x(10151:12500);w8=x(12501:16384);y=[w8;w7;w6;w5;w4;w3;w2;w1];sound(30*y,fs);%%混频[x5,fs5,nbits]=wavread('man',16384);%读声音文件c=10*x+0.5*x5;plot(c);sound(c);%%%%%%%回声figurez=[zeros(1000,1);x];%声音延时x1=[x;zeros(1000,1)];%使原声音长度与延时后相等y1=x1+z;plot(y1);sound(10*y1,fs);%%%%%%%%%%男女声变换%%%%%%%%%%%%%%%%%%%%%%%%%%%%男声变女声[y,fs]=wavread('man');%saveY1%luyinp=fft(y);xaa=p';N=1000;pa=[zeros(1,N),xaa(1:22001),zeros(1,N)];pu=pa';Y1=3*real(ifft(pu));plot(Y1)sound(20*Y1,fs);%%%%%%%%女声变男声[y,fs]=wavread('bb');%saveY1%luyinp=fft(y);xaa=p';6xab(1:17797)=xaa(1:17797);%取一半N=3500;pa=[xab(N:17797),zeros(1,17797)];pu=pa';Y2=3*real(ifft(pu));plot(Y2)sound(1000*Y1,fs);2.3绘图部分:语音信号的采集00.20.40.60.81-0.1-0.0500.050.1原声音信号时间/s020004000600080001000012000140001600005101520语音的幅度谱频率/Hz低通滤波器:700.10.20.30.40.50.60.70.80.91-1000-5000NormalizedFrequency(rad/sample)Phase(degrees)00.10.20.30.40.50.60.70.80.91-200-1000100NormalizedFrequency(rad/sample)Magnitude(dB)00.10.20.30.40.50.60.70.80.91-0.0500.05t/sy1(t)020004000600080001000012000140001600005101520高通滤波器:00.10.20.30.40.50.60.70.80.91050010001500NormalizedFrequency(rad/sample)Phase(degrees)00.10.20.30.40.50.60.70.80.91-400-300-200-1000NormalizedFrequency(rad/sample)Magnitude(dB)00.10.20.30.40.50.60.70.80.91-505x10-3t/sy2(t)020004000600080001000012000140001600000.20.40.60.8带通滤波器:800.10.20.30.40.50.60.70.80.91-1000-50005001000NormalizedFrequency(rad/sample)Phase(degrees)00.10.20.30.40.50.60.70.80.91-300-200-1000100NormalizedFrequency(rad/sample)Magnitude(dB)00.10.20.30.40.50.60.70.80.91-0.0200.020.04t/sy3(t)020004000600080001000012000140001600001234放大:020004000600080001000012000140001600018000-0.1-0.0500.050.1原始波形00.20.40.60.811.21.4-1-0.500.51x104变换波形衰减:9020004000600080001000012000140001600018000-0.1-0.0500.050.1原始波形00.20.40.60.811.21.4-2-1012x10-3变换波形倒放:050001000015000-0.1-0.08-0.06-0.04-0.0200.020.040.060.08混频:020004000600080001000012000140001600018000-1-0.8-0.6-0.4-0