- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
音乐合成综合实验实验报告汇
音乐合成综合报告
电信08-1
0804020102
张伟
一、实验名称:音乐合成综合实验。
二、实验目的:应用《信号与系统——MATLAB综合实验》(高等教育出版社)第一章中所讲的MATLAB编程技术,在电子音乐合成领域做一些练习。通过本实验,熟练运用MATLAB基本指令,以及加强对傅里叶级数、变换的理解。
三、实验设备仪器及材料:《信号与系统——MATLAB综合实验》(高等教育出版社)、搭载windows xp操作系统的pc一台、MATLAB 7.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,voice
文档评论(0)