音乐合成综合实验实验报告.docx
- 文档编号:9363559
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:8
- 大小:17.26KB
音乐合成综合实验实验报告.docx
《音乐合成综合实验实验报告.docx》由会员分享,可在线阅读,更多相关《音乐合成综合实验实验报告.docx(8页珍藏版)》请在冰豆网上搜索。
音乐合成综合实验实验报告
音乐合成综合报告
电信08-1
0804020102
张伟
一、实验名称:
音乐合成综合实验。
二、实验目的:
应用《信号与系统——MATLAB综合实验》(高等教育出版社)第一章中所讲的MATLAB编程技术,在电子音乐合成领域做一些练习。
通过本实验,熟练运用MATLAB基本指令,以及加强对傅里叶级数、变换的理解。
三、实验设备仪器及材料:
《信号与系统——MATLAB综合实验》(高等教育出版社)、搭载windowsxp操作系统的pc一台、MATLAB7.0。
四、试验方法及步骤(根据《信号与系统——MATLAB综合实验》第六章第二节要求所作)
6.2.1简单的合成音乐
(1)请根据《东方红》片断的简谱和“十二平均律”计算出该片断中各个乐音的频率,在MATLAB中生成幅度为1、抽样频率为8kHz的正弦信号表示这些乐音。
请用sound函数播放每个乐音,听一听音调是否正确。
最后用这一系列乐音信号拼出《东方红》片断,注意控制每个乐音持续的时间要符合节拍,用sound播放你合成的音乐,听起来感觉如何?
音调正确。
根据图6.1和图6.2,得出相应频率:
“5”——“C”:
523.25Hz
“6”——“D”:
587.33Hz
“1”——“F”:
349.23Hz
“2”——“G”:
392Hz
“6(低音)”频率是“6”的一半:
93.66Hz
用所给正弦信号生成各个乐音,拼出《东方红》片段,乐感不强,听起来感觉不出好坏,但通过与后面修改的所比较,还是能听出有区别。
源代码:
f=8000;
t=[0:
1/f:
4-1/f];
t1=t(1:
0.5*f);
t2=t(0.5*f+1:
0.75*f);
t3=t(0.75*f+1:
1*f);
t4=t(1*f+1:
2*f);
t5=t(2*f+1:
2.5*f);
t6=t(2.5*f+1:
2.75*f);
t7=t(2.75*f+1:
3*f);
t8=t(3*f+1:
4*f);
voiceice1=sin(2*pi*523.25*t1);
voiceice2=sin(2*pi*523.25*t2);
voiceice3=sin(2*pi*587.33*t3);
voiceice4=sin(2*pi*392*t4);
voiceice5=sin(2*pi*349.23*t5);
voiceice6=sin(2*pi*349.23*t6);
voiceice7=sin(2*pi*293.66*t7);
voiceice8=sin(2*pi*392*t8);
voiceice=[voiceice1,voiceice2,voiceice3,voiceice4,voiceice5,voiceice6,voiceice7,voiceice8];
sound(voiceice);
(2)你一定注意到
(1)的乐曲中相邻乐音之间有“啪”的杂声,这是由于相位不连续产生了高频分量。
这种噪声严重影响合成音乐的质量,丧失真实感。
为了消除它,我们可以用图6.5所示包络修正每个乐音,以保证在乐音的邻接处信号幅度为零。
此外建议用指数衰减的包络来表示。
我采用指数衰减来处理此问题。
给每个乐音加一个指数衰减的包络:
保持每个语音的第一个采样点的值不变,最后一个采样点的值衰减至原来的1/e2,处理后有效使“啪啪”声音变小。
源代码:
f=8000;
t=[0:
1/f:
4-1/f];
t1=t(1:
0.5*f);
t2=t(0.5*f+1:
0.75*f);
t3=t(0.75*f+1:
1*f);
t4=t(1*f+1:
2*f);
t5=t(2*f+1:
2.5*f);
t6=t(2.5*f+1:
2.75*f);
t7=t(2.75*f+1:
3*f);
t8=t(3*f+1:
4*f);
voice1=exp(-2*t1).*sin(2*pi*523.25*t1);voice2=exp(4*(0.5-t2)).*sin(2*pi*523.25*t2);
voice3=exp(4*(0.75-t3)).*sin(2*pi*587.33*t3);
voice4=exp(1*(1-t4)).*sin(2*pi*392*t4);
voice5=exp(2*(2-t5)).*sin(2*pi*349.23*t5);
voice6=exp(4*(2.5-t6)).*sin(2*pi*349.23*t6);
voice7=exp(4*(2.75-t7)).*sin(2*pi*293.66*t7);
voice8=exp(1*(3-t8)).*sin(2*pi*392*t8);
voice=[voice1,voice2,voice3,voice4,voice5,voice6,voice7,voice8];
sound(voice);
(3)请用最简单的方法将
(2)中的音乐分别升高和降低一个八度。
(提示:
音乐播放的时间可以变化)再难一些,请用resample函数(也可以用interp和decimate函数)将上述音乐升高半个音阶。
间隔八度的音的频率是2倍关系,在合成声音时,在正弦信号内添加系数改变其频率,这样可到升高和降低八度的音乐。
升高半个音阶:
用resample函数本采样频率。
源代码:
升高八度
f=8000;
t=[0:
1/f:
4-1/f];
t1=t(1:
0.5*f);
t2=t(0.5*f+1:
0.75*f);
t3=t(0.75*f+1:
1*f);
t4=t(1*f+1:
2*f);
t5=t(2*f+1:
2.5*f);
t6=t(2.5*f+1:
2.75*f);
t7=t(2.75*f+1:
3*f);
t8=t(3*f+1:
4*f);
voiceice1=exp(-4*t1).*sin(4*pi*523.25*t1);voiceice2=exp(8*(0.5-t2)).*sin(4*pi*523.25*t2);
voiceice3=exp(8*(0.75-t3)).*sin(4*pi*587.33*t3);
voiceice4=exp(2*(1-t4)).*sin(4*pi*392*t4);
voiceice5=exp(4*(2-t5)).*sin(4*pi*349.23*t5);
voiceice6=exp(8*(2.5-t6)).*sin(4*pi*349.23*t6);
voiceice7=exp(8*(2.75-t7)).*sin(4*pi*293.66*t7);
voiceice8=exp(2*(3-t8)).*sin(4*pi*392*t8);
voiceice=[voiceice1,voiceice2,voiceice3,voiceice4,voiceice5,voiceice6,voiceice7,voiceice8];
sound(voiceice);
降低八度
f=8000;
t=[0:
1/f:
4-1/f];
t1=t(1:
0.5*f);
t2=t(0.5*f+1:
0.75*f);
t3=t(0.75*f+1:
1*f);
t4=t(1*f+1:
2*f);
t5=t(2*f+1:
2.5*f);
t6=t(2.5*f+1:
2.75*f);
t7=t(2.75*f+1:
3*f);
t8=t(3*f+1:
4*f);
voiceice1=exp(-4*t1).*sin(pi*523.25*t1);
voiceice2=exp(8*(0.5-t2)).*sin(pi*523.25*t2);
voiceice3=exp(8*(0.75-t3)).*sin(pi*587.33*t3);
voiceice4=exp(2*(1-t4)).*sin(pi*392*t4);
voiceice5=exp(4*(2-t5)).*sin(pi*349.23*t5);
voiceice6=exp(8*(2.5-t6)).*sin(pi*349.23*t6);
voiceice7=exp(8*(2.75-t7)).*sin(pi*293.66*t7);
voiceice8=exp(2*(3-t8)).*sin(pi*392*t8);
voiceice=[voiceice1,voiceice2,voiceice3,voiceice4,voiceice5,voiceice6,voiceice7,voiceice8];
sound(voiceice);
(4)试着在
(2)的音乐中增加一些谐波分量,听一听音乐是否更有“厚度”了?
注意谐波分量的能量要小,否则掩盖住基音反而听不清音调了。
(如果选择基波幅度为1,二次谐波幅度0.2,三次谐波幅度0.3,听起来像不像风琴?
)
没有听过单独听过风琴,所以不太清楚像不像风琴。
f=8000;
t=[0:
1/f:
4-1/f];
t1=t(1:
0.5*f);
t2=t(0.5*f+1:
0.75*f);
t3=t(0.75*f+1:
1*f);
t4=t(1*f+1:
2*f);
t5=t(2*f+1:
2.5*f);
t6=t(2.5*f+1:
2.75*f);
t7=t(2.75*f+1:
3*f);
t8=t(3*f+1:
4*f);
p1=523.25;
p2=523.25;
p3=587.33;
p4=392;
p5=349.23;
p6=349.23;
p7=293.66;
p8=392;
voiceice1=exp(-4*t1).*(sin(2*pi*p1*t1)+0.2*sin(4*pi*p1*t1)+0.3*sin(6*pi*p1*t1));
voiceice2=exp(8*(0.5-t2)).*(sin(2*pi*p2*t2)+0.2*sin(4*pi*p2*t2)+0.3*sin(6*pi*p2*t2));
voiceice3=exp(8*(0.75-t3)).*(sin(2*pi*p3*t3)+0.2*sin(4*pi*p3*t3)+0.3*sin(6*pi*p3*t3));
voiceice4=exp(2*(1-t4)).*(sin(2*pi*p4*t4)+0.2*sin(4*pi*p4*t4)+0.3*sin(6*pi*p4*t4));
voiceice5=exp(4*(2-t5)).*(sin(2*pi*p5*t5)+0.2*sin(4*pi*p5*t5)+0.3*sin(6*pi*p5*t5));
voiceice6=exp(8*(2.5-t6)).*(sin(2*pi*p6*t6)+0.2*sin(4*pi*p6*t6)+0.3*sin(6*pi*p6*t6));
voiceice7=exp(8*(2.75-t7)).*(sin(2*pi*p7*t7)+0.2*sin(4*pi*p7*t7)+0.3*sin(6*pi*p7*t7));
voiceice8=exp(2*(3-t8)).*(sin(2*pi*p8*t8)+0.2*sin(4*pi*p8*t8)+0.3*sin(6*pi*p8*t8));
voiceice=[voiceice1,voiceice2,voiceice3,voiceice4,voiceice5,voiceice6,voiceice7,voiceice8];
sound(voiceice);
(5)自选其它音乐合成,例如贝多芬第五交响乐的开头两小节。
我选择的是《一分钱》的主要旋律,简谱如下:
1=D2/4
51|615|3523|50|3561|5653|513|20|
源代码:
f=8000;
t=[0:
1/f:
3.5-1/f];
t1=t(1:
0.5*f);
t2=t(0.5*f+1:
1*f);
t3=t(1*f+1:
1.25*f);
t4=t(1.25*f+1:
1.5*f);
t5=t(1.5*f+1:
2*f);
t6=t(2*f+1:
2.25*f);
t7=t(2.25*f+1:
2.5*f);
t8=t(2.5*f+1:
2.75*f);
t9=t(2.75*f+1:
3*f);
t10=t(3*f+1:
3.5*f);
voiceice1=exp(-2*t1).*sin(2*pi*392*t1);
voiceice2=exp(2*(0.5-t2)).*sin(2*pi*261.63*t2);
voiceice3=exp(4*(1-t3)).*sin(2*pi*440*t3);
voiceice4=exp(4*(1.25-t4)).*sin(2*pi*261.63*t4);
voiceice5=exp(2*(1.5-t5)).*sin(2*pi*392*t5);
voiceice6=exp(4*(2-t6)).*sin(2*pi*329.63*t6);
voiceice7=exp(4*(2.25-t7)).*sin(2*pi*392*t7);
voiceice8=exp(4*(2.5-t8)).*sin(2*pi*293.66*t8);
voiceice9=exp(4*(2.75-t9)).*sin(2*pi*329.63*t9);
voiceice10=exp(2*(3-t10)).*sin(2*pi*392*t10);
voiceice=[voiceice1,voiceice2,voiceice3,voiceice4,voiceice5,voiceice6,voiceice7,voiceice8,voiceice9,voiceice10];
sound(voiceice);
后面附上《东方红》和《一分钱》的源文件Untitled.m与YFQ.m
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音乐 合成 综合 实验 报告