matlab音乐合成葫芦娃
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
音乐合成实验................................................................................................. 错误!未定义书签。
摘要: (1)
第一部分简单的合成音乐 (1)
1.1合成《葫芦娃》 (1)
1.2 除噪音,加包络 (5)
1.3改变程序,实现1.2中的音乐升高和降低一个八度 (8)
1.4在1.2的音乐中加入谐波 (9)
摘要:
本文共有三大部分:第一部分,简单的音乐合成;第二部分,用傅里叶变换分析音乐;第三部分,基于傅里叶级数的音乐合成。由潜入深,一步一步分析了用MATLAB进行音乐合成的过程。通过本实验达到了加深对傅里叶级数和傅里叶分析的理解,熟悉对MATLAB 基本使用的目标。
第一部分简单的合成音乐
1.1 合成《葫芦娃》
根据《葫芦娃》第一小节的简谱和十二平均律计算出该小节每个乐音的频率,在MATLAB中生成幅度为1,抽样频率为8kHz的正弦信号表示这些乐音,用sound播放合成的音乐
而在MATLAB中表示乐音所用的抽样频率为fs=8000Hz,也就是所1s钟内有8000个点,抽样点数的多少就可表示出每个乐音的持续时间的长短。用一个行向量来存储这段音乐对应的抽样点,在用sound函数播放即可。
clear all;clc;
freq=8000; %抽样频率
T=1/freq;
pattime=0.5; %节拍的时间
note2=0:T:2*pattime;
note4=0:T:1*pattime;
note8=0:T:0.5*pattime;
note_1=261.63; %各个音乐对应的频率
note_2=293.67;
note_3=329.63;
note_5=391.99;
note_6=440;
note_7=493.88;
note_1b=523.25;
wave1=sin(2*pi*note_1*note4); %各个音符所对应的节拍
wave2=sin(2*pi*note_1*note4);
wave3=sin(2*pi*note_3*note2);
wave4=sin(2*pi*note_1*note4);
wave5=sin(2*pi*note_1*note4);
wave6=sin(2*pi*note_3*note2);
wave7=sin(2*pi*note_6*note4);
wave8=sin(2*pi*note_6*note4);
wave9=sin(2*pi*note_6*note8);
wave10=sin(2*pi*note_5*note8);
wave11=sin(2*pi*note_6*note4);
wave12=sin(2*pi*note_5*note4);
wave14=sin(2*pi*note_3*note4); wave15=sin(2*pi*note_1b*note8); wave16=sin(2*pi*note_6*note8); wave17=sin(2*pi*note_6*note8); wave18=sin(2*pi*note_5*note8); wave19=sin(2*pi*note_6*note2); wave20=sin(2*pi*note_5*note4); wave21=sin(2*pi*note_1*note4); wave22=sin(2*pi*note_2*note2); wave23=sin(2*pi*note_7*note2); wave24=sin(2*pi*note_7*note8); wave25=sin(2*pi*note_5*note8); wave26=sin(2*pi*note_3*note4); wave27=sin(2*pi*note_5*note2); wave28=sin(2*pi*note_1b*note8); wave29=sin(2*pi*note_6*note8); wave30=sin(2*pi*note_6*note8); wave31=sin(2*pi*note_5*note8); wave32=sin(2*pi*note_5*note8); wave33=sin(2*pi*note_6*note8); wave34=sin(2*pi*note_6*note8); wave35=sin(2*pi*note_5*note4); wave36=sin(2*pi*note_1*note4); wave37=sin(2*pi*note_3*note2); wave38=sin(2*pi*note_1b*note8); wave39=sin(2*pi*note_6*note8); wave40=sin(2*pi*note_6*note8); wave41=sin(2*pi*note_5*note8); wave42=sin(2*pi*note_5*note8); wave43=sin(2*pi*note_6*note8); wave44=sin(2*pi*note_6*note8); wave45=sin(2*pi*note_5*note4); wave46=sin(2*pi*note_1*note4); wave47=sin(2*pi*note_2*note2); wave48=sin(2*pi*note_3*note2); wave49=sin(2*pi*note_3*note8); wave50=sin(2*pi*note_1*note8); wave51=sin(2*pi*note_6*note4); wave52=sin(2*pi*note_1*note2); wave53=sin(2*pi*note_3*note4); wave54=sin(2*pi*note_5*note4); wave55=sin(2*pi*note_6*note4); wave56=sin(2*pi*note_6*note8);