欢迎来到天天文库
浏览记录
ID:8979016
大小:723.50 KB
页数:13页
时间:2018-04-13
《matlab音乐合成实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、课程设计《音乐合成》实验报告专业:测控技术与仪器班级:测控11-2班姓名:谷晓峰学号:11034010219指导教师:贺婷广东石油化工学院计算机与电子信息学院13信号与系统课程设计-------利用matlab合成音乐一、实验目的1.熟悉MATLAB的软件和语言指令的使用;2.学习利用MATLAB进行连续信号的时域、频域分析;3.熟悉抽样信号与连续信号的区别。二、实验内容1.请根据《画心》片断的简谱和“十二平均律”计算出该片断中各个乐音的频率,在MATLAB中生成幅度为1抽样频率为8kHz的正弦信号表示这些乐音。请
2、用sound函数播放每个乐音,听一听音调是否正确。最后用这一系列乐音信号拼出《画心》片断,注意控制每个乐音持续的时间要符合节拍,用sound播放你合成的音乐,听起来感觉如何?并用图显示生成的音乐信号。相关知识:①《画心》完整曲谱,实验时从中随机截取几节用于编程。13①利用十二平均律计算频率以及相关音乐知识。如图1,其中,,相当于的二次谐波,二者是倍频的关系。从A到A1共有12个键,7个白色键,5个黑色键。中间这些频率值得计算规律为相邻音倍乘系数。即,别的依次类推。图1钢琴键盘图1中各键对应的频率如下表:FbGGbA
3、AbBBC1bD1D1bE1E1174.61184.99196207.65220233.08246.94261.63277.18293.66311.13329.63F1bG1G1bA1A1bB1B1C2bD2D2bE2E2349.23369.99392415.30440466.16493.88523.25554.36587.33622.25659.25D调名与音名对应:1234567¡D1E1F1G1A1B1C1D2bG表示的F升高半音,在乐谱中用#表示。或者G降低半音,用b表示。乐谱这中的4/4表示每小节有四拍,
4、一个1/4音符的持续时间为一拍,一拍大概0.5s左右。eg:y=0*t;%初始化y(t<0.25)=sin(440*2*pi*t(t<0.25));%第一个音5,持续时间0.25sy(0.255、播放合成的音乐。由图可知《画心》的曲调定为D,即1=D,对应的频率为293.66Hz,据此可以计算出其他乐音的频率,一次类推计算出第一小节各乐音对应的频率为:乐音533212253频率440349.23349.23329.63293.66329.63329.63440349.23乐音533213563频率440349.23349.23329.23293.66349.23440493.88349.23乐音53321217频率440349.23349.23329.63293.66329.63293.66277.96在确6、定了各乐音的频率之后需要确定每个乐音的持续时间。每小节有两拍,一拍的时间是0.5s,因此各乐音的持续时间为:乐音533212253时间0.250.250.50.250.250.50.250.251.5乐音533213563时间0.250.250.50.250.250.50.250.251.5乐音53321217时间0.250.250.50.250.250.50.250.25而在MATLAB中表示乐音所用的抽样频率为fs=8000Hz,也就是所1s钟内有8000个点,抽样点数的多少就可表示出每个乐音的持续时间的长短。7、用一个行向量来存储这段音乐对应的抽样点,在用sound函数播放即可。根据以上分析在MATLAB中编写如下程序:sound_1_1.m13clear;clc;fs=8000;%抽样频率f=[440349.23349.23329.63293.66329.63329.63440349.23440349.23349.23329.63293.66349.23440493.88349.23440349.23349.23329.63293.66329.63293.66277.96];%各个乐音对应的频率time=fs*[0.258、,0.25,0.5,0.25,0.25,0.5,0.25,0.25,1.5,0.25,0.25,0.5,0.25,0.25,0.5,0.25,0.25,1.5,0.25,0.25,0.5,0.25,0.25,0.5,0.25,0.25];%各个乐音的抽样点数N=length(time);%这段音乐的总抽样点数east=zeros(1,N);%用east向量来
5、播放合成的音乐。由图可知《画心》的曲调定为D,即1=D,对应的频率为293.66Hz,据此可以计算出其他乐音的频率,一次类推计算出第一小节各乐音对应的频率为:乐音533212253频率440349.23349.23329.63293.66329.63329.63440349.23乐音533213563频率440349.23349.23329.23293.66349.23440493.88349.23乐音53321217频率440349.23349.23329.63293.66329.63293.66277.96在确
6、定了各乐音的频率之后需要确定每个乐音的持续时间。每小节有两拍,一拍的时间是0.5s,因此各乐音的持续时间为:乐音533212253时间0.250.250.50.250.250.50.250.251.5乐音533213563时间0.250.250.50.250.250.50.250.251.5乐音53321217时间0.250.250.50.250.250.50.250.25而在MATLAB中表示乐音所用的抽样频率为fs=8000Hz,也就是所1s钟内有8000个点,抽样点数的多少就可表示出每个乐音的持续时间的长短。
7、用一个行向量来存储这段音乐对应的抽样点,在用sound函数播放即可。根据以上分析在MATLAB中编写如下程序:sound_1_1.m13clear;clc;fs=8000;%抽样频率f=[440349.23349.23329.63293.66329.63329.63440349.23440349.23349.23329.63293.66349.23440493.88349.23440349.23349.23329.63293.66329.63293.66277.96];%各个乐音对应的频率time=fs*[0.25
8、,0.25,0.5,0.25,0.25,0.5,0.25,0.25,1.5,0.25,0.25,0.5,0.25,0.25,0.5,0.25,0.25,1.5,0.25,0.25,0.5,0.25,0.25,0.5,0.25,0.25];%各个乐音的抽样点数N=length(time);%这段音乐的总抽样点数east=zeros(1,N);%用east向量来
此文档下载收益归作者所有