文档介绍:1 课程设计《音乐合成》实验报告专业: 测控技术与仪器班级: 测控 11-2 班姓名: 谷晓峰学号: 110340102 19 指导教师: 贺婷广东石油化工学院计算机与电子信息学院 2 信号与系统课程设计------- 利用 matlab 合成音乐一、实验目的 MATLAB 的软件和语言指令的使用; MATLAB 进行连续信号的时域、频域分析; 。二、实验内容 1 .请根据《画心》片断的简谱和“十二平均律”计算出该片断中各个乐音的频率,在 MATLAB 中生成幅度为 1抽样频率为 8kHz 的正弦信号表示这些乐音。请用 sound 函数播放每个乐音,听一听音调是否正确。最后用这一系列乐音信号拼出《画心》片断,注意控制每个乐音持续的时间要符合节拍,用 sound 播放你合成的音乐,听起来感觉如何?并用图显示生成的音乐信号。相关知识: 1《画心》完整曲谱,实验时从中随机截取几节用于编程。 3 2利用十二平均律计算频率以及相关音乐知识。如图 1 ,其中,, 相当于的二次谐波,二者是倍频的关系。从 A到 A1 共有 12个键, 7个白色键, 5个黑色键。中间这些频率值得计算规律为相邻音倍乘系数。即,别的依次类推。图1钢琴键盘图1中各键对应的频率如下表: FbG GbA AbBB C1 bD 1 D1 bE1 E1 196 220 F1 bG1 G1 bA1 A1 bB1 B1 C2 bD 2 D2 bE2 E2 392 440 D调名与音名对应: 1234567? D1 E1 F1 G1 A1 B1 C1 D2 bG 表示的 F 升高半音,在乐谱中用# 表示。或者 G 降低半音,用 b 表示。乐谱这中的 4/4 表示每小节有四拍,一个 1/4 音符的持续时间为一拍,一拍大概 左右。 eg: y=0*t; %初始化 y(t<0. 25)=sin( 440 *2*pi*t(t<0. 25)); %第一个音 5,持续时间 y(0. 25<t&t<)=sin(392*2*pi*t(0. 25<t&t<)); %第二个音 3,持续时间 sound(y,8000) %播放音乐 4 音乐合成根据《画心》第一小节的简谱和十二平均律计算出该小节每个乐音的频率, 在MATLAB 中生成幅度为 1,抽样频率为 8kHz 的正弦信号表示这些乐音,用soun d 播放合成的音乐。由图可知《画心》的曲调定为 D,即 1=D ,对应的频率为 Hz,据此可以计算出其他乐音的频率,一次类推计算出第一小节各乐音对应的频率为: 乐音 533212253 频率 440 440 乐音 533213563 频率 440 440 乐音 53321217 频率 440 在确定了各乐音的频率之后需要确定每个乐音的持续时间。每小节有两拍, 一拍的时间是 ,因此各乐音的持续时间为: 乐音 533212253 时间 乐音 533213563 时间 乐音 53321217 时间 而在 MATLAB 中表示乐音所用的抽样频率为 fs=8000 Hz,也就是所 1s钟内有 8000 个点,抽样点数的多少就可表示出每个乐音的持续时间的长短。用一个行向量来存储这段音乐对应的抽样点,在用 sound 函数播放即可。根据以上分析在 MATLAB 中编写如下程序: sound_1 5 clear;clc; fs=8000; %抽样频率 f=[440 440 440 440