基于MATLAB的音乐合成和处理

年夜学结业课程设计

基于MATLAB的音乐合成和处理

文章插图

需要这些哦
MATLAB
MATLAB2016A
方式/
1基于MATLAB的音乐旌旗灯号合当作与处置
摘   要
    
本设计共有三部门:1.简单的音乐合当作;2.用傅里叶变换阐发音乐;3.基于傅里叶级数的音乐合当作 。 本设计采用MATLAB软件仿真来实现 。 起首,经由过程对音乐旌旗灯号的采样、抽取、调制、解调等多种处置过程的理论阐发和MATLAB求得这段音乐的基频、谐波分量、等数据;然后,经由过程对乐理的研究,按照阐发中求得的数据编写法式,进行基于傅里叶阐发的音乐合当作设计 , 并设计了图形用户界面;最后加强软件编程实现能力息争决现实问题的能力 。
1简单的合当作音乐
1.1  乐理常识介绍

    乐音的根基特征可以用基波频率、谐波频谱和包络波形3个方面来描述 。
基波频率:每个指定调子的唱名都对应固定的基波旌旗灯号频率 。 所谓唱名是指常日读曲谱唱出的1(do)、2(re)、3(mi)… … ,每个唱名并未固定基波频率 。 当指定乐曲的调子时才知道此时唱名对应的频率值 。 如C调“ 1”的基波频率为261.63HZ,F调“1”的基波频率为349.23HZ,F调“ 5”的基波频率为523.25HZ 。
谐波频谱:在这七个音符中有一个纪律 , 就是3(mi)到4(fa) , 7(si)到高音1(do)是半音 。 在吉他上是相邻的两个品为半音 , 好比一弦1品是3(mi) , 那么一弦2品就是4(fa);在吉他上隔一品是全音 , 好比一弦1品是1(do) , 那么一弦3品就是2(re) , 中心隔了1品 。 包络波形:分歧类型的乐器,包络外形也不不异 。 在音乐合当作尝试中,为简化编程描述,凡是把复杂的包络函数用少量直线近似 。 于是,乐音波形的包络呈拆线 。 有时为了包管在乐音的邻接处旌旗灯号幅度为零,也可以用指数衰减的包络来暗示,这也是最简单的法子 。
1.2  操纵MATLAB实现音乐合当作
本设计采用扬基杜德尔小曲作
按照《扬基杜德尔》第一末节的简谱和十二平均律计较出该末节每个乐音的频率 , 在MATLAB中生当作幅度为1 , 抽样频率为8kHz的正弦旌旗灯号暗示这些乐音 , 用sound播放合当作的音乐 。 而在MATLAB中暗示乐音所用的抽样频率为fs=8000Hz , 也就是所1s钟内有8000个点 , 抽样点数的几多就可暗示出每个乐音的持续时候的长短 。 用一个行标的目的量来存储这段音乐对应的抽样点 , 在用sound函数播放即可 。
下为在MATLAB中编写法式
clc
clear
fs=44100;
t=0:1/fs:0.5;
c3_2=key(48, 2, fs);
d3_2=key(50, 2, fs);
e3_2=key(52, 2, fs);
f3_2=key(53, 2, fs);
g3_2=key(55, 2, fs);
a3_2=key(57, 2, fs);
b3_2=key(59, 2, fs);
c3_4=key(48, 4, fs);
d3_4=key(50,4, fs);
e3_4=key(52, 4, fs);
f3_4=key(53, 4, fs);
g3_4=key(55, 4, fs);
a3_4=key(57, 4, fs);
b3_4=key(59, 4, fs);
c3_8=key(48, 8, fs);
d3_8=key(50,8, fs);
e3_8=key(52, 8, fs);
f3_8=key(53, 8, fs);
g3_8=key(55, 8, fs);
a3_8=key(57, 8, fs);
b3_8=key(59, 8, fs);
c3_16=key(48, 16, fs);
d3_16=key(50,16, fs);
e3_16=key(52, 16, fs);
f3_16=key(53, 16, fs);
g3_16=key(55,16, fs);
a3_16=key(57, 16, fs);
b3_16=key(59, 16, fs);
c4_2=key(60, 2, fs);
d4_2=key(62, 2, fs);
e4_2=key(64, 2, fs);
f4_2=key(65, 2, fs);
g4_2=key(67, 2, fs);
a4_2=key(69, 2, fs);

推荐阅读