基于matlab的音乐信号处理和分析.doc

上传人:啊飒飒 文档编号:10527960 上传时间:2021-05-21 格式:DOC 页数:25 大小:307KB
返回 下载 相关 举报
基于matlab的音乐信号处理和分析.doc_第1页
第1页 / 共25页
基于matlab的音乐信号处理和分析.doc_第2页
第2页 / 共25页
基于matlab的音乐信号处理和分析.doc_第3页
第3页 / 共25页
基于matlab的音乐信号处理和分析.doc_第4页
第4页 / 共25页
基于matlab的音乐信号处理和分析.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《基于matlab的音乐信号处理和分析.doc》由会员分享,可在线阅读,更多相关《基于matlab的音乐信号处理和分析.doc(25页珍藏版)》请在三一文库上搜索。

1、基于matlab的音乐信号处理和分析1音乐信号的音谱和频谱的观察使用windows下的录音机录制一段音乐信号或者采用其他软件截取一段音乐信号(要求:时间不超过5s,文件格式为WAV) 使用wavread语句读取音乐信号获取抽样率;(注意:读取的信号是双声道信号,即为双列向量,需要分列处理); 输出音乐信号的波形和频谱,观察现象; 使用sound语句播放音乐信号,注意不同抽样率下的音调变化,解释现象程序:clear all;close all;clcy,fs,bit=wavread(E:music11); %读取音乐信号size(y) %看音乐信号是双列还是单列y1=y(:,1); %取单列fs

2、=fs %获取音乐信号的抽样率N=length(y1); %音乐信号的长度Fy1=fft(y1,N); %对信号做快速傅里叶变换w=2/N*0:N-1;figure %画音乐信号的波形和频谱subplot(2,1,1);plot(y1);grid ontitle(音乐信号的波形)xlabel(time/s)ylabel(Magnitude)subplot(2,1,2);plot(w,abs(Fy1);grid ontitle(音乐信号的频谱)xlabel(Frequency/pi)ylabel(Magnitude)sound(y1,fs) %以抽样率fs播放音乐信号sound(y1,2*fs)

3、 %以抽样率2fs播放音乐信号sound(y1,1/2*fs) %以抽样率1/2fs播放音乐信号程序运行结果如下:音乐信号的抽样率fs=44100音乐信号的波形和频谱如下图:抽样率较高时,听到的音乐音调较高,速度较快;抽样率较低时,听到的音乐音调低,速度慢。由此可知,音乐信号的音调和抽样率有关。2音乐信号的抽取(减抽样) 观察音乐信号频率的上限,选择适当的抽取间隔对信号进行减抽样(给出两种抽取间隔,代表混叠与非混叠); 输出减抽样音乐信号的波形和频谱,观察现象,给出理论解释; 播放减抽样音乐信号,注意抽样率的改变,比较不同抽取间隔下的声音,解释现象。音乐信号的频率上限为0.2pi,这里分别采用

4、3和60作为非混叠与混叠的抽样间隔进行抽样,程序如下:clear all;close all;clcy,fs,bit=wavread(E:music22);%读取音乐信号y1=y(:,1); %取单列x1=y1(1:180000); %截取音乐信号d=3;j=0;for i=1:d:length(x1) j=j+1; x2(j)=x1(i);end %对音乐信号以3为间隔做减抽样N1=length(x1); %截断的音乐信号的长度N2=length(x2); %以3为间隔减抽样后音乐信号的长度Fx1=fft(x1,N1); %对截断信号做快速傅里叶变换Fx2=fft(x2,N2); %对减抽样

5、后的信号做快速傅里叶变换w1=2/N1*0:N1-1;w2=2/N2*0:N2-1;figure %画出截断后的信号的波形和频谱subplot(2,1,1);plot(x1);grid ontitle(截断后的波形)xlabel(time/s)ylabel(Magnitude)subplot(2,1,2);plot(w1,abs(Fx1);grid ontitle(截断信号的频谱)xlabel(Frequency/pi)ylabel(Magnitude)figure %画出以3为间隔减抽样后的信号的波形和频谱subplot(2,1,1);plot(x2);grid ontitle(对截断信号以

6、3为间隔减抽样后的波形)xlabel(time/s)ylabel(Magnitude)subplot(2,1,2);plot(w2,abs(Fx2);grid ontitle(对截断信号以3为间隔减抽样后的频谱)xlabel(Frequency/pi)ylabel(Magnitude)d=60;j=0;for i=1:d:length(x1) j=j+1; x3(j)=x1(i);end %以60为间隔对截断信号进行减抽样N3=length(x3); Fx3=fft(x3,N3);w3=2/N3*0:N3-1;figure %画以60为间隔减抽样后的音乐信号的波形和频谱subplot(2,1,

7、1);plot(x3);grid ontitle(对截断信号以60为间隔减抽样后的波形)xlabel(time/s)ylabel(Magnitude)subplot(2,1,2);plot(w3,abs(Fx3);grid ontitle(对截断信号以60为间隔减抽样后的频谱)xlabel(Frequency/pi)ylabel(Magnitude)sound(x1,fs) %播放截断信号sound(x2,1/3*fs) %播放以3为间隔做减抽样后的音乐信号sound(x3,1/60*fs) %播放以60为间隔做减抽样后的音乐信号实验结果如图:使用两种抽样间隔进行实验: 以3为间隔进行减抽样,

8、得到的音乐信号时域长度变为原来的1/3,频谱宽度变为原来的3倍,这是时域截断造成的频谱泄漏。由于原音乐信号的频率上限为0.2,故变为原来的3倍后仍不混叠,依然能够听到音乐; 以60为间隔进行减抽样,得到的音乐信号时域点数变为原来的1/60,相应的,频谱宽度变为原来的60倍,此时频谱已经混叠混叠,播放音乐信号时什么都听不到。3音乐信号的AM调制 观察音乐信号的频率上限,选择适当调制频率对信号进行调制(给出高、低两种调制频率); 输出调制信号的波形和频谱,观察现象,给出理论解释; 播放调制音乐信号,注意不同调制频率下的声音,解释现象。音乐信号的频率上限为0.2PI,这里采用0.5pi与0.95pi

9、作为调制频率对音乐信号进行调制,程序如下:close all;clear all;clcy,fs,bit=wavread(E:music22);y1=y(:,1);x1=y1(1:180000);n1=1:180000;c1=cos(n1*pi/2);%余弦序列 x4=x1.*c1; %对信号进行调制N4=length(x4); %调制后信号的长度Fx4=fft(x4,N4); %对调制信号做快速傅里叶变换w4=2/N4*0:N4-1;figure %画出调制后的信号的波形和频谱subplot(2,1,1);plot(x4);grid ontitle(对信号以频率pi/2调制后的波形)xlab

10、el(time/s)ylabel(Magnitude)subplot(2,1,2);plot(w4,abs(Fx4);grid ontitle(对信号以频率pi/2调制后的频谱)xlabel(Frequency/pi)ylabel(Magnitude)n1=1:180000;c1=cos(n1*pi*0.95);x5=x1.*c1; N5=length(x5);Fx5=fft(x5,N5);w5=2/N5*0:N5-1;figuresubplot(2,1,1);plot(x5);grid ontitle(对截断信号以频率pi*0.95调制后的波形)xlabel(time/s)ylabel(Ma

11、gnitude)subplot(2,1,2);plot(w5,abs(Fx5);grid ontitle(对截断信号以频率pi*0.95调制后的频谱)xlabel(Frequency/pi)ylabel(Magnitude)sound(x1,fs)sound(x4,fs)sound(x5,fs)对音乐信号用两种频率进行调制:调制频率为pi/2时,调制后频谱搬移到了0.5pi处,不混叠,可以听到声音,但由于在高频处,音调很高,是刺耳的一段声音;调制频率为0.95pi时,调制后频谱搬移到0.95pi处,频谱混叠,不能听到声音。4 AM调制音乐信号的同步解调 计巴特沃斯滤波器完成同步解调;观察滤波器

12、频率响应曲线; 窗函数法设计FIR滤波器完成同步解调,观察滤波器频率响应曲线(要求:分别使用矩形窗和布莱克曼窗,进行比较); 输出解调信号的波形和频谱,观察现象,给出理论解释; 播放解调音乐信号,比较不同滤波器下的声音,解释现象。设计巴特沃斯滤波器对解调信号进行滤波:clear all;close all;clcy,fs,bit=wavread(E:music22);y1=y(:,1);x1=y1(1:180000);n1=1:180000;c1=cos(n1*pi/2);%生成余弦序列x3=x1.*c1; %调制x4=x3.*c1; %解调N4=length(x4);Fx4=fft(x4,N

13、4);w4=2/N4*0:N4-1;figure %画解调后信号的波形和频谱subplot(2,1,1);plot(x4);grid ontitle(同步解调后音乐信号的波形)xlabel(time/s)ylabel(Magnitude)subplot(2,1,2);plot(w4,abs(Fx4);grid ontitle(同步解调后音乐信号的频谱)xlabel(Frequency/pi)ylabel(Magnitude)Wp=0.2;Ws=0.3;Rp=1;Rs=15; N,Wc=buttord(Wp,Ws,Rp,Rs);B,A=butter(N,Wc);Hd,w=freqz(B,A);

14、%设计数字巴特沃斯滤波器figureplot(w/pi,abs(Hd)grid ontitle(数字巴特沃斯滤波器)xlabel(Digital Frequency/pi)ylabel(Magnitude)y2=filter(B,A,x4); %用巴特沃斯滤波器进行滤波N=length(y2);Fy2=fft(y1,N);w=2/N*0:N-1;figuresubplot(2,1,1);plot(y2);grid ontitle(巴特沃斯滤波后音乐信号的波形)xlabel(time/s)ylabel(Magnitude)subplot(2,1,2);plot(w,abs(Fy2);grid o

15、ntitle(巴特沃斯滤波后音乐信号的频谱)xlabel(Frequency/pi)ylabel(Magnitude)sound(x4,fs)sound(y2,fs)用窗函数法设计矩形窗和布莱克曼窗对解调信号进行滤波:clear all;close all;clcy,fs,bit=wavread(E:music22);size(y)y1=y(:,1);fs=fsx1=y1(1:90000);n1=1:90000;c1=cos(n1*pi/2);x3=x1.*c1;x4=x3.*c1;N4=length(x4);Fx4=fft(x4,N4);w4=2/N4*0:N4-1;figuresubplo

16、t(2,1,1);plot(x4);grid ontitle(同步解调后音乐信号的波形)xlabel(time/s)ylabel(Magnitude)subplot(2,1,2);plot(w4,abs(Fx4);grid ontitle(同步解调后音乐信号的频谱)xlabel(Frequency/pi)ylabel(Magnitude)N=33;wc=pi/4;hd=ideal(N,wc);w1=boxcar(N);w2=blackman(N);h1=hd.*w1;h2=hd.*w2;M=512;Fh1=fft(h1,M);Fh2=fft(h2,M);w=2/M*0:M-1;figuresu

17、bplot(2,1,1);plot(w,abs(Fh1);grid ontitle(矩形窗的频谱)xlabel(频率)ylabel(幅度)subplot(2,1,2);plot(w,abs(Fh2);grid ontitle(布莱克曼窗的频谱)xlabel(频率)ylabel(幅度)y3=conv(x4,h1);Fy3=fft(y3,N4);figuresubplot(2,1,1);plot(y3);grid ontitle(矩形窗滤波后的波形)xlabel(time/s)ylabel(Magnitude)subplot(2,1,2);plot(w4,abs(Fy3);grid ontitle

18、(矩形窗滤波后的频谱)xlabel(Frequency/pi)ylabel(Magnitude)y4=conv(x4,h2);Fy4=fft(y4,N4);figuresubplot(2,1,1);plot(y4);grid ontitle(布莱克曼窗滤波后的波形)xlabel(time/s)ylabel(Magnitude)subplot(2,1,2);plot(w4,abs(Fy4);grid ontitle(布莱克曼窗滤波后的频谱)xlabel(Frequency/pi)ylabel(Magnitude) 布莱克曼窗滤波效果更好,更平滑。但是听上去不同滤波器的效果差别不大。5 音乐信号的

19、滤波去噪 原始信号叠加幅度为0.05,频率为3kHz,5kHz,8kHz的三余弦混合噪声,观察噪声频谱以及加噪后音乐信号的音频和频谱,并播放音乐,感受噪声对音乐信号的影响; 给原始音乐信号叠加幅度为0.5的随机白噪声(可用rand语句产生),观察噪声频谱以及加噪后音乐信号的音谱和频谱,并播放音乐,感受噪声对音乐信号的影响; 根据步骤、观察到的频谱,选择合适指标设计滤波器进行滤波去噪,关注去噪后信号音谱和频谱,并播放音乐,解释现象。clear all;close all;clcy,fs,bit=wavread(E:music22);y0=y(:,1);y1=y0(1:180000) %截取音乐信

20、号N=length(y1);%取截断信号的长度n=0:N-1;x1=0.05*cos(n*2*pi*3000/fs)+0.05*cos(n*2*pi*5000/fs)+0.05*cos(n*2*pi*8000/fs);%三余弦噪声y2=y1+x1;%音乐信号和三余弦噪声叠加Fx1=fft(x1,N);Fy2=fft(y2,N);w1=2/N*0:N-1;figuresubplot(3,1,1);plot(w1,abs(Fx1);grid ontitle(三余弦混合噪声的频谱)xlabel(频率)ylabel(幅度)subplot(3,1,2);plot(w1,abs(Fy2);grid ont

21、itle(加三余弦混合噪声后音乐信号的频谱)xlabel(频率)ylabel(幅度)subplot(3,1,3);plot(y2);grid ontitle(加三余弦混合噪声后音乐信号的音谱)xlabel(时间)ylabel(幅度)x2=0.5*(rand(N,1)-0.5);%产生白噪声y3=y1+x2;%音乐信号和白噪声叠加Fx2=fft(x2,N);Fy3=fft(y3,N);figuresubplot(3,1,1);plot(w1,abs(Fx2);grid ontitle(白噪声的频谱)xlabel(频率)ylabel(幅度)subplot(3,1,2);plot(w1,abs(Fy

22、3);grid ontitle(加白噪声后音乐信号的频谱)xlabel(频率)ylabel(幅度)subplot(3,1,3);plot(y3);grid ontitle(加白噪声后音乐信号的音谱)xlabel(时间)ylabel(幅度)Wp=0.09;Ws=0.11;Rp=1;Rs=15;N,Wc=buttord(Wp,Ws,Rp,Rs);B,A=butter(N,Wc);Hd,w=freqz(B,A);%设计巴特沃斯滤波器y4=filter(B,A,y2);%对加三余弦噪声的音乐信号进行滤波N2=length(y4);Fy4=fft(y4,N2);w2=2/N2*0:N2-1;figure

23、subplot(2,1,1);plot(y4);grid ontitle(对加三余弦混合噪声的音乐信号进行滤波之后的音谱)xlabel(时间)ylabel(幅度)subplot(2,1,2);plot(w2,abs(Fy4);grid ontitle(对加三余弦混合噪声的音乐信号进行滤波之后的频谱)xlabel(频率)ylabel(幅度)Wp=0.15;Ws=0.17;Rp=1;Rs=15;N,Wc=buttord(Wp,Ws,Rp,Rs);B,A=butter(N,Wc);Hd,w=freqz(B,A);%设计巴特沃斯滤波器y5=filter(B,A,y3);%对加白噪声的音乐信号进行滤波N

24、3=length(y5);Fy5=fft(y5,N3);w3=2/N3*0:N3-1;figuresubplot(2,1,1);plot(y5);grid ontitle(对加白噪声的音乐信号进行滤波之后的音谱)xlabel(时间)ylabel(幅度)subplot(2,1,2);plot(w2,abs(Fy5);grid ontitle(对加白噪声的音乐信号进行滤波之后的频谱)xlabel(频率)ylabel(幅度)sound(y2,fs)sound(y3,fs)sound(y4,fs)sound(y5,fs)对于加三余弦混合噪声的音乐信号,播放的过程中,背后一直有一个音调很高的“滴”的声音

25、,这是由于余弦信号频率较高;对于加白噪声的音乐信号,播放过程中,背后一直有“丝啦丝啦”的干扰噪声,就像信号不好时听收音机的声音;根据滤波后的音乐播放效果可知,三余弦混合噪声可以完全滤去,这是由于余弦信号不在音乐信号所在的频率处;白噪声却不能完全滤去,这是由于白噪声在低频处也有分布,音乐信号也存在低频处,因此低频处的白噪声无法滤除,所以听到的音乐信号仍然会有干扰的声音,但是效果比滤波前要好。6 音乐信号的幅频滤波及相频分析 设计低通滤波器(可自行选择不同的截止频率),滤除原始音乐信号的高频信息,观察滤波前后的幅度频谱,并比较滤波前后的音乐效果,感受高频信息对音乐信号的影响; 设计高通滤波器(可自

26、行选择不同的截止频率),滤除原始音乐信号的低频信息,观察滤波前后的幅度频谱,并比较滤波前后的音乐效果,感受低频信息对音乐信号的影响; 选取两端不同的音乐信号,分别将其幅度谱与相位谱交叉组合构成信的音乐信号,播放比较组合后的音乐与原始音乐,感受相频信息对音乐信号的影响。clear all;close all;clcy,fs,bit=wavread(E:music22);y1=y(:,1);Wp=0.06;Ws=0.09;Rp=1;Rs=15;N,Wc=buttord(Wp,Ws,Rp,Rs);B,A=butter(N,Wc);Hd,w=freqz(B,A);%设计巴特沃斯低通滤波器y2=filt

27、er(B,A,y1);%滤除音乐信号的高频信息N1=length(y1);N2=length(y2);Fy1=fft(y1,N1);Fy2=fft(y2,N2);w1=2/N1*0:N1-1;w2=2/N2*0:N2-1;figure%绘制低通滤波前后音乐信号的幅頻特性subplot(2,1,1);plot(w1,abs(Fy1);grid ontitle(低通滤波前音乐信号的频谱)xlabel(频率)ylabel(幅度)subplot(2,1,2);plot(w2,abs(Fy2);grid ontitle(低通滤波后音乐信号的频谱)xlabel(频率)ylabel(幅度)Wp=0.06;W

28、s=0.09;Rp=1;Rs=15;N,Wc=buttord(Wp,Ws,Rp,Rs);B,A=butter(N,Wc,high);Hd,w=freqz(B,A);%设计巴特沃斯高通滤波器y3=filter(B,A,y1);%滤除音乐信号的低频信息N3=length(y3);w3=2/N3*0:N3-1;Fy3=fft(y3,N3);figure%绘制高通滤波前后音乐信号的幅頻特性subplot(2,1,1);plot(w1,abs(Fy1);grid ontitle(高通滤波前音乐信号的频谱)xlabel(频率)ylabel(幅度)subplot(2,1,2);plot(w3,abs(Fy3

29、);grid ontitle(高通滤波后音乐信号的频谱)xlabel(频率)ylabel(幅度)sound(y1,fs)sound(y2,fs)sound(y3,fs)低通滤波后的音乐信号音调较原音乐信号低,高通滤波后的音乐信号音调较原音乐信号高。clear all;close all;clcx1,fs1,bit1=wavread(E:music44);x2,fs2,bit2=wavread(E:music22);y11=x1(:,1);y1=y11(1:300000);y22=x2(:,1);y2=y22(1:300000);N1=length(y1);Fy1=fft(y1,N1);w1=2

30、/N1*0:N1-1;N2=length(y2);Fy2=fft(y2,N2);w2=2/N2*0:N2-1;figure %画两信号的幅度谱subplot(2,2,1);plot(w1,abs(Fy1);grid ontitle(音乐信号44的幅度谱)xlabel(Frequency/Hz)ylabel(Magnitude)subplot(2,2,2);plot(w2,abs(Fy2);grid ontitle(音乐信号22的幅度谱)xlabel(Frequency/Hz)ylabel(Magnitude)subplot(2,2,3);plot(w1,angle(Fy1);grid on %

31、画两信号的相位谱title(音乐信号44的相位谱)xlabel(频率)ylabel(相位)subplot(2,2,4);plot(w2,angle(Fy2);grid ontitle(音乐信号22的相位谱)xlabel(频率)ylabel(相位)Fy3=abs(Fy1).*exp(1i*angle(Fy2);%音乐信号44的幅度谱和音乐信号22的相位谱交叉Fy4=abs(Fy2).*exp(1i*angle(Fy1);%音乐信号22的幅度谱和音乐信号44的相位谱交叉y3=real(ifft(Fy3,N1);%对交叉得到的频域信号做傅里叶逆变换y4=real(ifft(Fy4,N1);%对交叉得

32、到的频域信号做傅里叶逆变换figure%绘制交叉得到的信号的波形和频谱subplot(2,1,1);plot(y3)grid ontitle(音乐信号44的幅度谱和22的相位谱交叉组合的音乐信号的波形)xlabel(时间)ylabel(幅度)subplot(2,1,2);plot(w1,abs(Fy3)grid ontitle(音乐信号44的幅度谱和22的相位谱交叉组合的音乐信号的频谱)xlabel(频率)ylabel(幅度)figuresubplot(2,1,1);plot(y4)grid ontitle(音乐信号22的幅度谱和44的相位谱交叉组合的音乐信号的波形)xlabel(时间)yla

33、bel(幅度)subplot(2,1,2);plot(w1,abs(Fy4)grid ontitle(音乐信号22的幅度谱和44的相位谱交叉组合的音乐信号的频谱)xlabel(频率)ylabel(幅度)sound(y1,fs1)sound(y2,fs2)sound(y3,fs1)sound(y4,fs1)交叉得到的信号的相位谱来着哪个信号播放出来的音乐就是哪个音乐信号的声音。由此可知,相频信息决定音乐信号的音色。【1】 音乐信号的音调与音乐信号的什么特征有关? 抽样率【2】 音乐信号的音色与音乐信号的什么特征有关? 相频特性【3】 两种不同音色的音乐信号叠加混叠后,为何人耳还可以分辨? 音色不同【4】 音乐信号的幅度与相位特征与信号有哪些影响? 音乐信号的幅度决定音乐信号的能量,幅度大则音乐信号的声音大;音乐信号的相位特征决定音乐信号的音色

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1