音樂合成综合实验实验报告.docVIP

  • 11
  • 0
  • 约5.88千字
  • 约 11页
  • 2016-12-03 发布于重庆
  • 举报
音樂合成综合实验实验报告

音乐合成综合报告 电信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=[voic

文档评论(0)

1亿VIP精品文档

相关文档