资源描述:
《东方红音乐合成.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、附录:实验一:♫合成《东方红》的前四小节♪计算各乐音的频率♪用幅度为1,抽样频率为8kHz的正弦信号表示乐音♪用sound函数播放♪对音乐进行修正(谐波、包络、升降调)1、计算各乐音的频率:《东方红》前四小节的曲谱如下图:……..则通过比对下面规则:可得出频率依次为:C=523.25;C=523.25;D=587.33;G=392;F=349.23;F=349.23;D/2=293.66;G=392………每小节有两拍,一拍的时间是0.5s,因此各乐音的持续时间为:乐音55621162时间0.50.250.2510.50
2、.250.2512、根据2、3实验要求:用幅度为1,抽样频率为8kHz的正弦信号表示乐音;用sound函数播放。编写得到如下程序:clearall;clc;closeall;T=1/8000;F=349.23;G=392;A=440;B=493.88;C=523.25;D=587.33;E=659.25;mm=[CCDGFFD/2GCCD2*FDCFFD/2GCGFE/2D/2C/2CGAGFFD/2G];ml=[10.50.5210.50.52110.50.50.50.510.50.521110.50.51110.5
3、0.510.50.50.50.50.50.50.50.50.50.52];l=zeros(1,32);forn=2:32l(n)=l(n-1)+ml(n-1);endDFH=zeros(1,32/T);forn=1:32;t=[0:T:ml(n)/2-T];z=sin(2*pi*mm(n)*t);DFH(1,(l(n)/2/T+1):(l(n)/2/T+ml(n)/2/T))=DFH(1,(l(n)/2/T+1):(l(n)/2/T+ml(n)/2/T))+z;;endsound(DFH);plot(DFH);axis
4、([15000,18000,-1.5,1.5])播放的音乐比较生硬没有连续过渡感,与自然音乐差别极大。分析音乐的频谱可得到如下图:整个时域的波形图:部分时域的波形图:1、根据实验要求4:对音乐进行修正(谐波、包络、升降调)对已编写的程序进行完善:升调:在末尾修改为:DFHh1=resample(DFH,100,106);DFHh2=resample(DFHh1,100,106);DFHh3=resample(DFHh2,100,106);sound(DFHh3);plot(DFHh3);axis([15000,1800
5、0,-1.5,1.5]);升调之后,可看到对频谱影响不大,只有部分频率的幅值增加,但是音乐的整体音调上升了许多。加入谐波,程序如下:clearall;clc;closeall;T=1/8000;F=349.23;G=392;A=440;B=493.88;C=523.25;D=587.33;H=293.66,E=659.25;mm=[CCDGFFD/2GCCD2*FDCFFD/2GCGFE/2D/2C/2CGAGFFD/2G];ml=[10.50.5210.50.52110.50.50.50.510.50.521110.
6、50.51110.50.510.50.50.50.50.50.50.50.50.50.52];l=zeros(1,32);forn=2:32l(n)=l(n-1)+ml(n-1);endDFH=zeros(1,32/T);forn=1:32;t=[0:T:ml(n)/2-T];z0=0.8*sin(2*pi*mm(n)*t);z1=0.2*sin(4*pi*mm(n)*t);z2=0.1*sin(8*pi*mm(n)*t);z3=0.05*sin(12*pi*mm(n)*t);z4=0.01*sin(20*pi*mm(
7、n)*t);z=z0+z1+z2+z3+z4;DFH(1,(l(n)/2/T+1):(l(n)/2/T+ml(n)/2/T))=DFH(1,(l(n)/2/T+1):(l(n)/2/T+ml(n)/2/T))+z.*exp(-3*t);;endDFHl1=resample(DFH,106,100);sound(DFHl1);plot(DFHl1);axis([15000,18000,-1.5,1.5]);加入谐波后,频谱的波形中各个音调较为明显,且音调之间都有包络,过渡,合成的音乐更加柔和有节奏,贴近自然声音。部分时间
8、的波形:这部分频谱可看到在音调过渡上的细节,相比未经处理的音乐,更加贴切自然音乐的频谱。实验二、♫用傅里叶变换分析音乐Guitar.mat1、载入文件Guitar.mat,分析wave2proc是怎么由realwave得到的。利用loadGuitar.mat;载入并用plot函数将realwave、wave2proc分别画出,得到