好好学习,天天向上,学科吧欢迎您!
当前位置:首页 >> 最新范文 内容页

音乐合成综合实验实验报告

音乐合成综合实验实验报告 本文关键词:实验,合成,报告,综合,音乐

音乐合成综合实验实验报告 本文简介:音乐合成综合报告电信08-10804020102张伟一、实验名称:音乐合成综合实验。二、实验目的:应用《信号与系统——MATLAB综合实验》(高等教育出版社)第一章中所讲的MATLAB编程技术,在电子音乐合成领域做一些练习。通过本实验,熟练运用MATLAB基本指令,以及加强对傅里叶级数、变换的理解。

音乐合成综合实验实验报告 本文内容:

音乐合成综合报告

电信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,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=D

2/4

5

1

|

6

1

5

|

3

5

2

3

|

5

0

|

3

5

6

1

|

5

6

5

3

|

5

1

3

|

2

0

|

源代码:

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

TAG标签: