MATLAB 高级编程与工程应用 语音合成综合实验 姓名: 班级: 学号: 日期: 1
1 简单的合成音乐 (1) 请根据《东方红》片断的简谱和“十二平均律”计算出该片断中各个乐音的频率,在MATLAB 中生成幅度为1 、抽样频率为8kHz 的正弦信号表示这些乐音
请用sound 函数播放每个乐音,听一听音调是否正确
最后用这一系列乐音信号拼出《东方红》片断,注意控制每个乐音持续的时间要符合节拍,用sound 播放你合成的音乐,听起来感觉如何
由“十二平均律”计算得到各个乐音的频率: “5”——“C”:523
25Hz “6”——“D”:587
33Hz “1”——“F”:349
23Hz “2”——“G”:392Hz “6
”频率是“6”的一半:293
66Hz 代码:(project1_1_1
m) f=8000; T=1/f; t8=0:T:1*0
25; t4=0:T:2*0
25; t2=0:T:4*0
25; t1=0:T:8*0
25; part1=sin(2*pi*523
25*t4); part2=sin(2*pi*523
25*t8); part3=sin(2*pi*587
33*t8); part4=sin(2*pi*392
00*t2); part5=sin(2*pi*349
23*t4); part6=sin(2*pi*349
23*t8); part7=sin(2*pi*293
66*t8); part8=sin(2*pi*392
00*t2); total=[part1,part2,part3,part4,part5,part6,part7,part8]; sound(total); 试听发现,合成后的音乐基本保持了《东方红》的音调,但声音比较沉闷,相邻乐音之间有比较明显的“啪”的杂音
(2) 你一定注意到(1) 的乐曲中相邻乐音之间有