国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MATLAB的音樂分析與合成演示程序的設(shè)計(jì)

2021-02-21 08:19:18毛藝曉王志鵬
科技風(fēng) 2021年4期
關(guān)鍵詞:傅里葉變換

毛藝曉 王志鵬

摘?要:利用MATLAB GUI平臺(tái),設(shè)計(jì)了一個(gè)音樂分析與合成綜合演示系統(tǒng)。用戶通過簡(jiǎn)單的鼠標(biāo)點(diǎn)擊操作,就可以實(shí)現(xiàn)音樂載入、波形顯示、頻域分析、音樂合成以及音頻播放等一系列功能。該演示系統(tǒng)可以讓用戶更直觀地理解音樂信號(hào)分析與合成的基本原理,激發(fā)對(duì)音頻信號(hào)分析和處理的興趣。

關(guān)鍵詞:MATLAB;音樂分析與合成;傅里葉變換

Abstract:Using Matlab GUI platform,a music analysis and synthesis integrated demonstration system is designed.Through simple mouse click operation,users can achieve a series of functions such as music loading,waveform display,frequency domain analysis,music synthesis and audio playback.The demo system can make users understand the basic principle of music signal analysis and synthesis more intuitively and stimulate their interest in audio signal analysis and processing.

Key words:MATLAB;music analysis and synthesis;Fourier transform

1 緒論

MATLAB是是矩陣實(shí)驗(yàn)室(Matrix Laboratory)的簡(jiǎn)稱,是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,在信號(hào)處理領(lǐng)域已得到廣泛的應(yīng)用[1]。MATLAB還可以快速生成GUI(圖形用戶界面)程序。圖形用戶界面程序由一系列按鈕、菜單、列表框、滑動(dòng)條和文本框等控件組成,用戶只需要通過鼠標(biāo)和鍵盤操作,就可以實(shí)現(xiàn)各種運(yùn)算,實(shí)現(xiàn)相應(yīng)功能,具有形象生動(dòng)、方便靈活的特點(diǎn),是現(xiàn)代軟件普遍采用的一種交互方式。MATLAB是一個(gè)數(shù)據(jù)分析和處理功能十分強(qiáng)大的工程實(shí)用軟件,故運(yùn)用它來進(jìn)行音樂信號(hào)的采集、分析和處理相當(dāng)便捷。

2 樂理知識(shí)介紹

將調(diào)式中的音,從以主音開始到以主音結(jié)束,由低到高(叫做上行),或者由高到低(叫做下行)以階梯狀排列起來,就叫做音階?;疽綦A為C調(diào)大音階,也有D調(diào)、F調(diào)等。不同的音階有不同的聲音頻率,而不同的聲音頻率也對(duì)應(yīng)著不同的信號(hào)波形。利用軟件模擬,可以用不同的頻率代表不同的音階,從而起到調(diào)節(jié)音調(diào)的作用,進(jìn)而可以用數(shù)學(xué)方法模擬出原唱的效果[2]。由于不同的樂器其信號(hào)包絡(luò)信號(hào)也不同,故在音樂合成研究中,常用少量的直線來近似表示復(fù)雜的包絡(luò)形狀。于是,樂音信號(hào)的波形包絡(luò)就呈折線分布。同時(shí),為了保證在兩個(gè)樂音的鄰接處信號(hào)幅度為零,也經(jīng)常采用指數(shù)衰減的信號(hào)包絡(luò)來表示。如果連接的音符產(chǎn)生了一個(gè)雜音,可以通過加包絡(luò)來消噪音[3]。

3 音樂分析與合成演示平臺(tái)的設(shè)計(jì)

3.1 主界面

在音樂分析與合成演示平臺(tái)的設(shè)計(jì)中,每個(gè)模塊的GUI程序設(shè)計(jì)都包含兩個(gè)部分內(nèi)容:GUI界面設(shè)計(jì)和m文件設(shè)計(jì)。GUI界面設(shè)計(jì)可以利用MATLAB提供的可視化GUIDE工具通過添加各種控件來完成;而m文件設(shè)計(jì)則主要根據(jù)界面設(shè)計(jì),通過編寫回調(diào)函數(shù)來實(shí)現(xiàn)相應(yīng)的功能,音樂信號(hào)處理的功能均需在控件的回調(diào)函數(shù)中實(shí)現(xiàn)[4]。該音樂分析與合成演示系統(tǒng)的主界面如圖1所示。主界面包含音樂信號(hào)分析和音樂信號(hào)合成兩個(gè)子模塊,分別點(diǎn)擊對(duì)應(yīng)的按鈕就可以打開對(duì)應(yīng)的子模塊操作界面。

3.2 音樂信號(hào)分析子模塊

該子模塊的具有以下功能:

(1)載入音頻文件。用戶點(diǎn)擊載入音頻按鈕后,可載入計(jì)算機(jī)中的任意音頻文件(.wav等)。載入完畢后,上方的坐標(biāo)軸內(nèi)將生成對(duì)應(yīng)的時(shí)域波形。

(2)音頻的播放。載入音頻后,點(diǎn)擊播放音樂按鈕,可播放當(dāng)前載入的音頻文件內(nèi)容。

(3)生成分析圖像。完成(1)步驟后,在第一個(gè)彈出式菜單中選擇一種分析種類(頻譜分析/功率譜分析/倒譜分析)后,點(diǎn)擊生成圖像按鈕,將會(huì)在右方的坐標(biāo)軸內(nèi)生成對(duì)應(yīng)的圖譜,如圖2所示。

(4)保存圖像。用戶在第二個(gè)彈出式菜單中選擇一種保存圖像類型(時(shí)域波形保存/頻譜保存/功率譜保存/倒譜保存)后,點(diǎn)擊保存圖像按鈕,將會(huì)彈出該類型圖像的保存操作窗口(選擇保存位置),進(jìn)行保存。

該音樂信號(hào)分析子模塊可以分別實(shí)現(xiàn)頻譜分析、倒譜分析以及功率譜分析等功能[5]。

3.3 音樂信號(hào)合成子模塊

音樂信號(hào)合成子模塊如圖3所示。該模塊可以用兩種方法實(shí)現(xiàn)音樂信號(hào)的合成:(1)方法1(載入曲譜):在彈出式菜單中選擇一種歌曲片段(東方紅/雪絨花/小步舞曲)后,點(diǎn)擊合成音頻信號(hào)按鈕,將會(huì)在坐標(biāo)軸中生成該歌曲的時(shí)域波形,點(diǎn)擊播放音樂按鈕后,將會(huì)播放當(dāng)前選擇的歌曲片段。選擇輸入中下拉菜單的第二個(gè)曲目《雪絨花》。通過部分歌曲音階可知對(duì)應(yīng)的頻率為:392 261.63 293.66 329.63 349.23 392 261.63 261.63 440 349.23 392 440 493.88 523.25 261.63 261.63 349.23 392 349.23 329.63 293.66 329.63 349.23 329.63 293.66 261.63 293.66 329.63 293.66 261.63 246.94 261.63。每小節(jié)有兩拍,一拍的時(shí)間是0.5s,因此各音節(jié)的持續(xù)時(shí)間分別為:0.5、0.25、0.25、1、0.5、0.25、0.25、1。在MATLAB中用一個(gè)行向量來存儲(chǔ)這段音樂對(duì)應(yīng)的抽樣點(diǎn),再用sound函數(shù)播放音樂即可[6]。《雪絨花》的合成效果圖如圖3所示。

(2)方法2(琴鍵輸入):通過按下琴鍵來輸入音頻信號(hào),輸入完畢后,點(diǎn)擊播放按鈕,將會(huì)按照順序合成所有按下琴鍵的音頻信號(hào)并生成對(duì)應(yīng)的時(shí)域波形,同時(shí)播放合成的音頻信號(hào),點(diǎn)擊重新輸入按鈕,之前輸入的音頻信號(hào)將被清除,可以重頭開始輸入。每個(gè)琴鍵都有對(duì)應(yīng)的頻率,因此可以通過GUI上的按鍵及MATLAB的相關(guān)函數(shù)實(shí)現(xiàn)琴鍵輸入的效果。按下前三個(gè)白色琴鍵的輸出效果圖如圖4所示。

4 結(jié)語

本文在MATLAB 2017 for windows 10的環(huán)境下,建立了一個(gè)音樂信號(hào)分析與合成演示程序。它以圖形窗口為主窗口,加入了下拉菜單、控制按鈕、坐標(biāo)軸等模塊,實(shí)現(xiàn)了音樂信號(hào)的采集、播放、處理,以及信號(hào)功率譜、頻譜、倒譜圖的分析和圖形顯示。另外,通過按鈕可在MATLAB圖形窗口上實(shí)現(xiàn)音樂信號(hào)的輸入與合成,收到的效果清晰直觀。

參考文獻(xiàn):

[1]宋曉婷.利用MATLAB合成音樂的函數(shù)模擬實(shí)現(xiàn)與比對(duì)[J].太原師范學(xué)院學(xué)報(bào):自然科學(xué)版,2018,17(1):27-32.

[2]張林,王艷芬,張曉光,等.基于MatlabGUI的數(shù)字信號(hào)處理演示平臺(tái)設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2016,243(12):154-157.

[3]連麗紅.基于Matlab的信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)開發(fā)[J].實(shí)驗(yàn)技術(shù)與管理,2016(6):150-153.

[4]羅湘娟,陳麗,謝超.基于MATLAB的音樂分析與合成研究[J].科技經(jīng)濟(jì)導(dǎo)刊,2017(15):32.

[5]金波.基于Matlab的“信號(hào)與系統(tǒng)”實(shí)驗(yàn)演示系統(tǒng)[J].實(shí)驗(yàn)技術(shù)與管理,2011,27(12):104-107.

[6]閆紅梅,吳冬梅,吳延海.Matlab在周期信號(hào)分解及頻譜中的應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2016(5):37-39,43.

基金項(xiàng)目:南陽師范學(xué)院教學(xué)研究項(xiàng)目(2019-JXYJYB-65,2017-JXYJYB-20);南陽師范學(xué)院課堂教學(xué)模式改革項(xiàng)目(2019-JXYJKT-26);南陽師范學(xué)院大學(xué)生實(shí)踐教學(xué)活動(dòng)創(chuàng)新項(xiàng)目(SPCP2020427)

作者簡(jiǎn)介:毛藝曉(1999—?),女,浙江舟山人,本科,主要研究方向:計(jì)算機(jī)技術(shù)應(yīng)用。

通訊作者:王志鵬(1982—?),男,河南南陽人,副教授,主要研究方向:光學(xué)信息處理。

猜你喜歡
傅里葉變換
頻域采樣性質(zhì)的推導(dǎo)與理解新思路
一種新型油介質(zhì)損耗測(cè)試系統(tǒng)研究
基于脈搏波的醫(yī)療診斷系統(tǒng)的設(shè)計(jì)與研究
基于傅里葉變換和kNNI的周期性時(shí)序數(shù)據(jù)缺失值補(bǔ)全算法
軟件工程(2017年3期)2017-05-12 16:49:43
關(guān)于提升復(fù)變函數(shù)與積分變換課堂教學(xué)質(zhì)量的幾點(diǎn)思考
傅里葉變換證明拉普拉斯變換的性質(zhì)
《信號(hào)與系統(tǒng)》中傅里葉變換在OFDM移動(dòng)通信系統(tǒng)中的應(yīng)用
亞太教育(2016年34期)2016-12-26 13:19:56
《數(shù)字信號(hào)處理》中存在的難點(diǎn)問題解析
亞太教育(2016年34期)2016-12-26 12:51:31
關(guān)于一類發(fā)展方程求解方法的探討
基于傅里葉變換和Gyrator變換的圖像加密
新余市| 陇西县| 鸡东县| 紫云| 时尚| 响水县| 兰考县| 洞头县| 永安市| 鄂托克前旗| 偃师市| 灵川县| 潞西市| 收藏| 成安县| 松滋市| 江孜县| 赤峰市| 石台县| 县级市| 抚松县| 镇康县| 格尔木市| 盐边县| 卢龙县| 高邑县| 湟源县| 南皮县| 桐城市| 稻城县| 沂源县| 福建省| 滦平县| 象州县| 中阳县| 布尔津县| 卢龙县| 汝阳县| 怀宁县| 徐汇区| 平乐县|