李嘯鳳
(廣東科技學院繼續(xù)教育學院,廣東 東莞 523000)
?
一種MATLAB軟件對樂音識別自動配置的分析研究
李嘯鳳
(廣東科技學院繼續(xù)教育學院,廣東 東莞523000)
摘要:為了給樂器演奏的旋律自動配置和聲,給出了樂音識別、預(yù)處理和和聲構(gòu)造功能實現(xiàn)的思路和方法,借助MATLAB軟件,詳細闡述了鋼琴單音旋律自動產(chǎn)生和諧的多音色和聲的整個流程,最后通過一段鋼琴單音旋律《小星星》進行仿真實驗,結(jié)果顯示具有良好的實用性。
關(guān)鍵詞:MATLAB;樂音識別;和聲理論;自動配置
在計算機技術(shù)和電子音樂技術(shù)日益成熟的今天,如何利用這些技術(shù)進行特征提取、樂音識別以及輔助音樂創(chuàng)作已經(jīng)成為人們研究的熱點,并取得了一些研究成果。在國外,Sundberg & Tjernlund于1970年就進行了單音自動識別實驗;1977年Moorer完善了樂音識別計算機系統(tǒng),但適用范圍有限;1987年Dannenberg & Mont-Reynaud研發(fā)了一種可對樂音進行實時識別、跟蹤的系統(tǒng),由此樂音識別技術(shù)進入了實用化研究階段。在國內(nèi),許鵬進于2011年利用MATLAB和C語言混合編程完成算法測試,提升了樂音特征提取的精確度;楊若方于2011年探討了如何借助MATLAB實現(xiàn)樂音識別與自動配置和聲的功能;王婷于2012年對樂音識別算法及iOS平臺的音頻處理、交互式可視化技術(shù)等進行了理論和實踐研究。
為了進一步完善樂音識別自動配置和聲的功能,本文將樂音識別技術(shù)和MATLAB軟件相結(jié)合,以樂器演奏旋律自動配置和聲為核心內(nèi)容,綜合運用傅里葉變換、頻譜分析、和聲配置以及MATLAB 軟件強大的矩陣分析、處理和作圖功能,進行樂音識別智能配置系統(tǒng)的開發(fā)和研究。以鋼琴樂音《小星星》為例進行實驗,獲得的仿真效果良好。
1MATLAB軟件對樂音識別自動配置和聲的基本研究思路
本文以鋼琴樂音作為研究對象,將一段鋼琴曲通過計算機系統(tǒng)儲存為基于音學信號的wav格式音頻數(shù)據(jù),借助于MATLAB軟件對該音頻文件進行音高、音色、音強及節(jié)奏的分析,并判別其調(diào)性,從而配置出與該曲旋律相匹配的和聲音頻文件,而后將其與原鋼琴音頻進行疊加,衍生出和諧的多音色和聲,實現(xiàn)良好的播放效果。同時根據(jù)樂音單音符信號頻域內(nèi)的平穩(wěn)性,并結(jié)合樂音識別的包絡(luò)波形、快速傅里葉變換、頻譜分析、除噪聲、十二平均律、調(diào)式、調(diào)性、和聲等相關(guān)技術(shù)和算法,設(shè)計MATLAB軟件對樂音識別自動配置的流程,如圖1所示。
圖1 MATLAB軟件樂音識別自動配置流程圖
2MATLAB軟件對樂音識別自動配置和聲的關(guān)鍵模塊分析
樂音信號的預(yù)處理涉及噪聲消除、端點檢測和單音符分割,為了簡化運算過程,需對數(shù)字化樂音信號進行歸一化處理,限定其范圍,而后進行預(yù)處理。
通過式(2),依據(jù)鋼琴鍵音的最大頻率和采樣頻率數(shù)值[1],計算得出最大的分解尺度,即可完成高低頻段的過濾,且保證了信號諧波的適中性,利于更好地識別樂音。
器件噪聲的消除多采用門限電平方法,通過計算樂音信號能量值,設(shè)定一門限閥值來對其進行評估,當能量值低于此值時,將其置零。
2)端點檢測。
在經(jīng)過歸一化處理之后需要進行短時能量和短時過零率檢測,首先要設(shè)置兩個門限閥值,即高門限閥值δ1和低門限閥值δ2,閥值的設(shè)定直接影響樂音信號的分幀處理結(jié)果。當樂音信號數(shù)值高于δ2時,進入過渡段,但還無法確定是否已到音樂段,若數(shù)值再次低于δ2,則進入靜音段;若樂音信號數(shù)值超過δ1時,則進入樂音段;繼續(xù)監(jiān)測,若短時能量低于δ2,則進入靜音段,開始下一幀的循環(huán)。
3)單音符分割。
在經(jīng)過端點檢測之后,需依據(jù)其結(jié)果對連續(xù)樂音進行單音符分割,并將分割結(jié)果依據(jù)一定順序進行保存,由此形成新的單音符。所得的單音符分割結(jié)果僅涉及樂音的基因數(shù)據(jù)和少數(shù)諧波信號,可將其以wav格式進行儲存。
1)樂音分析包括樂音信號特征提取及模型識別。
首先,進行樂音信號特征提取,該環(huán)節(jié)結(jié)果的好壞對系統(tǒng)識別精度的影響較大,因為需將樂音信號用MATLAB軟件能夠處理的特征參數(shù)替代。樂音信號特征提取的算法主要有LPCC線性預(yù)測倒譜系數(shù)法和MFCC梅爾頻率倒譜系數(shù)法,通過MATLAB軟件的仿真計算,對兩種算法進行比較發(fā)現(xiàn),MFCC算法創(chuàng)新性地將線性頻域坐標轉(zhuǎn)換到梅爾坐標,提升了MATLAB軟件對低頻信號的敏感性,消除了高頻噪聲的干擾,表現(xiàn)出更好的識別性能。該算法的本質(zhì)在于將時域內(nèi)的頻譜經(jīng)由非線性的頻譜進行轉(zhuǎn)換,梅爾刻度與時域頻率之間的具體關(guān)系如下:
(7)
式中Hy(k)為帶通濾波器,則中心頻率f(y)表示為:
(8)
(9)
其中P為MFCC參數(shù)的階數(shù),本文MATLAB軟件中P的值取12。
其次,樂音識別模型的好壞關(guān)系到高識別率的獲取,而BP神經(jīng)網(wǎng)絡(luò)的識別模型具有非線性逼近、魯棒性、自學性、容錯能力等優(yōu)勢,且分類能力和輸入輸出影射能力較強。BP神經(jīng)網(wǎng)絡(luò)在樂音識別中的主要應(yīng)用涉及模型參數(shù)設(shè)置:輸入層12個神經(jīng)元,輸出層1個神經(jīng)元,分別對應(yīng)樂音信號的12維特征參數(shù)及鋼琴樂音的主頻,而隱層神經(jīng)元則依據(jù)實驗對比確定。
2)和聲構(gòu)造。
運用MATLAB軟件實現(xiàn)樂音文件的讀取,并借助上述算法實現(xiàn)對樂器旋律音高、音色、音量等的識別分析,并采用和旋、延長、添加沸點等方式來實現(xiàn)旋律的自動和聲配置。
3MATLAB軟件對樂音識別自動配置和聲的實現(xiàn)
本文以鋼琴演奏曲《小星星》中的一段作為研究實例,借助專業(yè)的錄音設(shè)備進行音頻信號采集,并將其轉(zhuǎn)換成wav格式的音頻文件。通過MATLAB軟件實現(xiàn)了音頻文件的讀取,得出曲子的演奏波形如圖2所示。
圖2 鋼琴曲《小星星》原始旋律波形圖
僅選取圖2原始波形圖中的正頂點,運用MATLAB軟件對其作線性插值后得出包絡(luò)線,而后再選取該包絡(luò)線的正定點進行線性插值,以這樣的方式重復(fù)多次之后(一般4次以上),提取此時包絡(luò)線的頂點,得出上述樂音波形的每個旋律的包絡(luò)線頂點如圖3所示。
圖3 鋼琴曲《小星星》原始旋律波的包絡(luò)線
從圖3可知,包絡(luò)線每兩個頂點之間為一個音符,提取該音符就可以實現(xiàn)該鋼琴曲的樂音識別、分析,但對高音頻進行頻譜分析時,應(yīng)截選其中部分波形,以避免前后音符的干擾[3]。同時還需要對每個音的頻譜進行分析,并將穩(wěn)定波形予以提取,消除兩端的銜接波形以除去非線性諧波和噪聲,從而確定旋律的音值、音高。本文選用和弦與旋律相結(jié)合的方式來進行和聲自動配置,并依據(jù)一定的和聲配置程序,以小節(jié)第一個音的采樣點進行和聲構(gòu)造,通過循環(huán)拼接為全部和聲的根音向量、三音向量以及五音向量,最終經(jīng)過疊加構(gòu)造出配置好的該段樂音的波形如圖4所示。
圖4 鋼琴曲《小星星》配置和聲之后的波形
4結(jié)束語
本文所借助的MATLAB軟件對于樂音識別自動配置和聲具有很強的應(yīng)用性,為樂器演奏的樂音識別、提取、處理和和聲構(gòu)造提供了有效的解決途
徑,是現(xiàn)代計算技術(shù)與音樂識別的有效結(jié)合。但是,目前的研究較多地停留在理論層面,還需要相關(guān)的試驗支撐,實踐性推廣有待進一步加強,以拓展其推廣空間。
參考文獻:
[1]伍洋. 基于MFCC和BP神經(jīng)網(wǎng)絡(luò)的樂音主頻識別研究[D].長沙:中南大學,2012.
[2]楊若芳,項頂. 基于MATLAB實現(xiàn)音樂識別與自動配置和聲的功能[J]. 自動化與儀器儀表,2011(1):126-128.
[3]王婷. 基于iOS平臺的樂音識別關(guān)鍵技術(shù)研究與設(shè)計[D].青島:中國海洋大學,2012.
Research on music recognition automatic configuration of a Matlab system
LI Xiaofeng
(College of Continuing Education, Guangdong Institute of
Science and Technology. Guangdong Dongguan, 523000, China)
Abstract:In order to automatically configure and tune the melody of a musical instrument, it introduces a Matlab software, gives the ideas and methods of music recognition, describes the whole process of the existing piano tone melody how to generate a multi tone and harmony automatically. Finally, it takes a piano tone melody "Little Star" to make a simulation experiments, the results show that the research has practicability.
Key words:MATLAB; music identification; harmony theory; automatic configuration
作者簡介:李嘯鳳(1988—),女,湖南衡陽人,廣東科技學院助教,主要研究方向為樂音識別技術(shù)。
收稿日期:2015-10-09
中圖分類號:TP29
文獻標志碼:A
文章編號:2095-509X(2015)12-0070-04
DOI:10.3969/j.issn.2095-509X.2015.12.019