欢迎来到天天文库
浏览记录
ID:57072585
大小:1008.19 KB
页数:24页
时间:2020-08-01
《音乐合成大作业实验报告.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、音乐合成大作业实验报告无84王梦娣2008011134音乐合成大作业实验报告无84王梦娣200811134实验报告部分一、简单的音乐合成1.请根据《东方红》片断的简谱和“十二平均律”计算出该片断中各个乐音的频率,在MATLAB中生成幅度为1、抽样频率为8kHz的正弦信号表示这些乐音。请用sound函数播放每个乐音,听一听音调是否正确。最后用这一系列乐音信号拼出《东方红》片断,注意控制每个乐音持续的时间要符合节拍,用sound播放你合成的音乐,听起来感觉如何?问题解答:《东方红》片段:其中所用音符的唱名、音名及对应频率(由十二平均律和相应键数间隔即可导出)如下:(单位是Hz)5562
2、116.2523.25523.25587.33392349.23349.23293.66392用sound播放单音,音调正确。以一拍0.5秒计,播出合成音乐。发现音乐听起来,总体上音调、节拍正确,但乐音无声音强弱变化,两音之间有明显的“啪”的杂声。2.你一定注意到(1)的乐曲中相邻乐音之间有“啪”的杂声,这是由于相位不连续产生了高频分量。这种噪声严重影响合成音乐的质量,丧失真实感。为了消除它,我们可以用图1.5所示包络修正每个乐音,以保证在乐音的邻接处信号幅度为零。此外建议用指数衰减的包络来表示。问题解答:这个问题,实际上我并没有完全理解题意,没有明白是需要乐音之间有重叠,还是没有
3、重叠,所以,我把两种方法都做了一遍,结果发现,用耳朵完全听不出区别。2/24音乐合成大作业实验报告无84王梦娣200811134对于无重叠的包络:我对包络所做的处理是,对于上图折线部分用指数实现,因为题目中有说当主观感受为线性变化时声音的概率实际上呈指数变化。做出的结果的图像如下:包络21.510.5000.511.522.533.54加包络后的音乐210-1-200.511.522.533.543/24音乐合成大作业实验报告无84王梦娣200811134未处理的一个音符10-100.050.10.150.20.25加包络处理过的音符10-100.050.10.150.20.25有
4、重叠的包络:(处理后的音)1.510.50-0.5-1-1.500.511.522.533.54x10从图像上可明显看出有重叠包络和无重叠包络的区别,但是听起来,基本听不出区别。3.请用最简单的方法将(2)中的音乐分别升高和降低一个八度。(提示:音乐播放的时间可以变化)再难一些,请用resample函数(也可以用interp和decimate函数)将上述音乐升高半个音阶。(提示:视计算复杂度,不必特别精确)问题解答:4/24音乐合成大作业实验报告无84王梦娣200811134由于题目中已有提示“音乐播放的时间可以变化”,所以很容易就想到用Sample函数实现音调的改变,用Sampl
5、e函数也确实是最简单的方法。对于升高半个音阶,通过“十二平均律”的方法可知,所谓提高半个音阶,即频率提高2^12≈1.06倍。这也就可以运用resample函数用这个比例重新抽样,这里的关键就是resample函数的应用。4.试着在(2)的音乐中增加一些谐波分量,听一听音乐是否更有“厚度”了?注意谐波分量的能量要小,否则掩盖住基音反而听不清音调了。(如果选择基波幅度为1,二次谐波幅度0:2,三次谐波幅度0:3,听起来像不像象风琴?)问题解答:这里只需要改变各个音的组成,加上各次谐波即可。5.自选其他音乐合成,例如《贝多芬第五交响乐》的开头两小节。问题解答:这里的方法与前面完全相同,
6、只是改变乐谱,映射到技术问题上就是改变基频。二、用傅里叶级数分析音乐现在我们开始要处理真实的音乐信号了!请用load命令载入附件光盘中的数据文件guitar.mat",工作区会出现两个新的变量realwave和wave2proc(可以用who查看变量名),如图1.6和1.7所示。其中前者是从一段吉他乐曲(附件光盘上的fmt.wav")中截取下来的真实信号,后者是用信号处理方法得到的这段信号的理论值,它们的抽样率都是8kHz。5/24音乐合成大作业实验报告无84王梦娣2008111341.先用wavread函数载入光盘中的fmt.wav文件,播放出来听听效果如何?是否比刚才的合成
7、音乐真实多了。这个只有一个操作,没有代码,直接在操作平台上完成。主要操作如下:>>FMT=wavread('fmt.wav');>>figure;>>plot(FMT);>>sound(FMT/max(abs(FMT)),8000);听起来这个声音确实比之前真实多了,有金属弹奏的感觉了。画出图像如下:0.60.40.20-0.2-0.4-0.6-0.8024681012144x102.你知道待处理的wave2proc是如何从真实值realwave中得到的么?这个预处理
此文档下载收益归作者所有