欢迎来到天天文库
浏览记录
ID:35201647
大小:117.50 KB
页数:13页
时间:2019-03-21
《matlab音乐处理合成实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、MATLAB高级编程与工程应用语音合成综合实验姓名:班级:学号:日期:1.2.1简单的合成音乐(1)请根据《东方红》片断的简谱和“十二平均律”计算出该片断中各个乐音的频率,在MATLAB中生成幅度为1、抽样频率为8kHz的正弦信号表示这些乐音。请用sound函数播放每个乐音,听一听音调是否正确。最后用这一系列乐音信号拼出《东方红》片断,注意控制每个乐音持续的时间要符合节拍,用sound播放你合成的音乐,听起来感觉如何?由“十二平均律”计算得到各个乐音的频率:“5”——“C”:523.25Hz“6”——“D”:587.33Hz“1”——“F”:349.23Hz“
2、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);part
3、7=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)的乐曲中相邻乐音之间有“啪”的杂声,这是由于相位不连续产生了高频分量。这种噪声严重影响合成音乐的质量,丧失真实感。为了消除它,我们可以用图1.5所示包络修正每个乐音,以保证在乐音的邻接处信号幅度为零。此外
4、建议用指数衰减的包络来表示。首先尝试用折线包络,编写函数envelope_line.m生成所需折线:functionenvelope=envelope_line(t)envelope(1:floor(t/8))=linspace(0,1,floor(t/8));envelope(floor(t/8)+1:floor(t/4))=linspace(1,0.5,floor(t/4)-floor(t/8)));envelope(floor(t/4)+1:floor(3*t/4))=linspace(0.5,0.5,floor(t*3/4)-floor(t/4));e
5、nvelope(floor(3*t/4)+1:t)=linspace(0.5,0,floor(t)-floor(3*t/4));对project1_1_1.m中的部分代码进行修改,调用envelope_line实现折线包络:(project1_1_2.m)part1=sin(2*pi*523.25*t4).*envelope_line(t4);part2=sin(2*pi*523.25*t8).*envelope_line(t8);part3=sin(2*pi*587.33*t8).*envelope_line(t8);part4=sin(2*pi*392.0
6、0*t2).*envelope_line(t2);part5=sin(2*pi*349.23*t4).*envelope_line(t4);part6=sin(2*pi*349.23*t8).*envelope_line(t8);part7=sin(2*pi*293.66*t8).*envelope_line(t8);part8=sin(2*pi*392.00*t2).*envelope_line(t2);试听结果杂音明显减少,但声音还比较生硬,尝试用指数衰减的包络来表示。也是对project1_1_1.m中的部分代码进行修改(project1_1_2.m)p
7、art1=sin(2*pi*523.25*t4).*exp(-2*t4);part2=sin(2*pi*523.25*t8).*exp(4*t8);part3=sin(2*pi*587.33*t8).*exp(4*t8);part4=sin(2*pi*392.00*t2).*exp(1*t2);part5=sin(2*pi*349.23*t4).*exp(2*t4);part6=sin(2*pi*349.23*t8).*exp(4*t8);part7=sin(2*pi*293.66*t8).*exp(4*t8);part8=sin(2*pi*392.00*t2
8、).*exp(1*t2);试听结果比较
此文档下载收益归作者所有