基于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);

猜你喜歡