999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

從MIDI音樂文件中抽取旋律特征

2016-07-31 21:10:13劉高軍,郭校培
數碼世界 2016年3期
關鍵詞:特征音樂

從MIDI音樂文件中抽取旋律特征

1 背景

目前,網絡上每天都會產生大量的音樂作品,音樂的推薦系統也種類繁多。但大多數都是根據用戶的喜好,或者是音樂的關聯來進行推薦的[1]。考慮到音樂特征本身的相似性,因此考慮從音樂本身的特征出發,根據特征的相似度來給用戶推薦歌曲。然而金毅等人[2]通過研究得出結論:從聲音文件中提取旋律特征處理過程復雜、難度高,精度不如MIDI文件和模塊文件;模塊文件通用性較差,編碼格式繁多;對于MIDI文件,很多音樂的特征可以直接提取出來,這就為音樂特征的自動識別提供了極大的便利,所以采用MIDI樂曲作為提取音樂旋律的數據源。因此接下來從MIDI文件的分析入手,剖析如何從MIDI中提取特征。

2 MIDI文件的結構

MIDI(Musical Instrument Digital Interface)是一套消息的約定,它不產生聲音信號,而是在MIDI電纜上傳送各種MIDI消息,由接收MIDI消息的MIDI設備或其它電子裝置產生聲音或執行動作[3]。

MIDI文件的格式有好多種,目前較為廣泛使用的存儲格式是后綴為.mid格式的文件,而且是標準的MIDI文件。MIDI文件通常有兩部分組成:頭塊和軌道塊。頭塊用MThd標記,軌道塊由MTrk標記,一個MIDI文件由一個頭塊和緊接的一個或者多個軌道塊組成[4]。結構如表1所示。

2.1 頭塊(Header chunk)

頭塊出現在MIDI文件開頭,共有6字節組成,結構如表2所示。

2.2 軌道塊(Track chunk)

頭塊之后是一個或多個音軌塊,軌道塊的結構如表3所示。

表3 MIDI文件軌道塊結構

一個MIDI事件由delta-time和MIDI消息組成,deltatime由可變長度編碼,它決定了其后MIDI消息的執行時間。2.3 midi消息

一個MIDI消息由一個狀態字節和若干個數據字節組成。其中狀態字節最高位是1,因此值介于128到255之間;數據字節的最高位是0,因此值介于0到127之間。MIDI消息分為通道消息(Channel Message)和系統消息(System Message)兩類[5]。

通道消息對單一的通道起作用,利用狀態字節的低4為來表示,從0到15共有16個通道。通道消息分兩種:聲音消息和模式消息。聲音消息用于控制合成器的聲音產生,模式消息用于為16條通道分配聲音關系,設定單音模式和復音模式等。

表1 MIDI文件結構

表2 MIDI文件頭塊結構

系統消息應用于整個系統而不是特定的通道,不含有通道碼。系統消息分三種:公共消息、實時消息和專用消息。公共消息用于選擇歌曲、用拍子數來設定歌曲位置指針、向合成器發出旋律請求;實時消息用來設定系統的事實參數,包括時鐘、啟動、停止定序器、從停止位置恢復定序器和系統復位;專用消息包含廠商特定的數據,如標識、系列號、模型號及其他消息。

分析midi消息主要為了研究MIDI事件,常見的MIDI事件[6]如表4所示。

表4 常見MIDI事件

3 旋律相關的音軌特征量

3.1 音軌名稱

對于MIDI數據文件中的每一個音軌,通常都會有一個音軌名稱標注字段,因此該音軌可以作為表征旋律音軌的特征量使用。音軌名稱可由以下事件格式中獲取”FF 03 length text”,text給出了音序器或者音軌的名稱,通常被放置在音軌的開頭。

3.2 通道號

所有的音軌消息中都帶有一個比特來記錄將本音軌的演奏送到哪個通道。MIDI有16個通道,在多音軌MIDI演奏數據中,多個通道被同時演奏。

3.3 左右聲道平衡度

每個音軌都記錄了一個Pan值,用來表示該音軌的音符在左右聲道中音量大小的比例。通常旋律音軌的發音基本處于左右聲道平衡的位置。Pan值可以由消息”0xBn 0A value”獲取,其中n表示通道號,value表示音軌的Pan值。Pan值得取值范圍是0至127,其中64代表左右聲道平衡,可以使用以下公式來定義音軌k的左右聲道平衡度:F1(k) = Pan(k)-64/127, k=1,2,3…

3.4 平均力度

通常情況下,主旋律聲部的全頻域平均能量要比其他的聲部的高,因此可以定義一個名為平均力度的特征量F2來表示音軌能量的大小。

式子中的k表示音軌號,N表示第k音軌的音符數,V(k,i)表示第k音軌中第i音符的按鍵力度值,取值范圍為0-127。但是在統計的時候,只有那些力度值為非零的“音符開”才被計算在內并進行排序。在同一音軌,如果出現同時發音的多個音符,則計算時取音高最高音符的力度值而刪除其余同時發音音符的力度值。

3.5 主音量

每個音軌都記錄了一個名為主音量的特征值,假設除了主音量特征,其他的特征值都相同,那么較好的方法是選取主音量較高的音軌作為主旋律。音量值可由“0xBn 07 size”來獲取。在該時間格式中,n表示通道號碼,size記錄該通道的主音量值,其范圍在0-127之間。結果用F3(k)來表示。

3.6 發音時間

音軌聲音消息通過在音符的開與關之間的相互切換來控制聲音,并且還能調整響度和音高等。該事件的格式如下:音符開,“0x9n note velocity”;音符關,“0x8n note velocity”。

在多音軌MIDI演奏數據中,每當多個音符在同一音軌中同時發音時,只計算其中一個音高較高的音符的發音時間。因為人們通常在同一時刻對音高較高的音符容易感知,而該音符通常是在主旋律線上的音符。

對于交叉發音,通常情況下采用從后一個音符的結束時間減去前一個音符的開始時間來表示總發音時間,而不是直接將兩個音符的持續時間相加來計算[8]。計算方法如下所示:

F4(k) = , k=1,2,…16

其中,k表示音軌號,n表示第k音軌的音符數,note(i)表示音符i,note(i).end表示該音符的關時刻,note(i). start表示該音符的開時刻。

3.7 發音面積

選取音樂的特征時,音高信息也是關鍵的音符,結合音符的持續時間一起考慮在內,用發音面積的概念來表示其綜合效果。發音面積可用音高與音長的乘積來表示,而音軌的發音面積可以定義為每個音軌的發音面積之和。計算方法如下所示:

其中,note(i)表示音符i,note(i).pitch表示該音符的音高值,而note(i).duration表示該音符的音長。對于同時發音的音符,可以取音高較高的值乘以發音時間來計算發音面積。

3.8 確定主旋律

在MIDI音樂中,但音軌的比較少,更多的是多音軌的數據[9]。基于文獻的方法可以得到不同音軌特征量對主旋律的貢獻量,因此可以從提取出的多音軌特征運算得出主旋律所在的音軌,成功率在83%以上[7]。

4 實驗結果

直接分析二進制文件較為困難,并且MIDI事件本身的復雜性和delta-time的不確定性,使程序處理起來比較困難。然而,借助于java的MIDI包的一些功能函數,就可以很方便的分析MIDI文件。

MidiSystem 類提供了對已安裝的 MIDI 系統資源的訪問,包括諸如 synthesizer、sequencer 和 MIDI 輸入和輸出端口等設備。典型的簡單 MIDI 應用程序可通過調用一個或多個 MidiSystem 方法開始,這樣可了解已安裝的設備并獲得該應用程序中所需要的設備。通過加載midi文件可以得到一個sequence:Sequence seq = MidiSystem.getSequence(file)。通過這個sequence可以加載到軌道的數據,然后對每一個軌道數據進行遍歷可以得到每個軌道的midi消息。按照如上圖所示的幾種MIDI時間以及幾個特征量的抽取方法來進行處理,可以得到比較完整的特征結果[10]。

分析MIDI文件的關鍵步驟如圖1所示,可以較為方便的得到相關的特征。

圖1 分析MIDI文件的關鍵步驟流圖

以“歌唱祖國”和“黃河頌”為例,得到的主旋律的結果數據如下表所示。

表5 “歌唱祖國”和“黃河頌”的音軌特征

在實際的操作中,主要以后五個特征按照一定的權重來進行運算。

5 結束語

按照java語言提供的一些功能函數可以較為方面的分析MIDI文件,然后從定義的幾個維度從MIDI文件中得到目標數據,使處理MIDI文件的過程變得簡單高效。然而實際過程中大多數的MIDI文件為多音軌的,因此需要按照一定的方法從多音軌中找到能夠代表主旋律的音軌,然后分析該音軌的特征,確定MIDI音樂的特征。根據分析出來的特征向量,為后續基于特征的推薦做了準備。

[1]Alexandros Nanopoulos, Dimitrios Rafailidis, Panagiotis Symeonidis and Yannis Manolopoulos. MusicBox: Personalized Music Recommendation based on Cubic Analysis of Social Tags.

[2]金 毅, 黃 敏. 基于旋律的音樂檢索研究-旋律特征的表達和提取[J]. 信息檢索技術,2003.4,49-51.

[3]林福宗. 多媒體技術基礎[M]. 北京:清華大學出版社,2001.7,14-21.

[4]周明全, 耿國華, 王小鳳, 李鵬. 基于內容的音頻檢索技術[M]. 北京:科學出版社,2014.8,97-99.

[5]楊軍. MIDI消息和標準MIDI文件格式剖析與應用[J].中南民族大學學報(自然科學版).2003.9:62-64 Vol. 22 Sup.

[6]潘曉利, 劉永志. 基于單片機的MIDI文件中delta-time的實現. 現代計算機. 2008.1 總第二十七期.

[7]趙芳, 吳亞棟, 宿繼奎. 基于音軌特征量的多音軌MIDI主旋律抽取方法[J]. 計算機工程. 2007.1 Vol.33 No.2

[8]劉勇, 林景棟, 穆偉力. 基于H-K算法的MIDI音樂主旋律提取[J]. 計算機技術與發展. 2011.6 : 154-160 Vol.21 No.6

[9]李娟,周明全,李鵬. MIDI主旋律特征提取構建音樂數據庫[J]. 計算機工程與應用,2011,47:124-128.

[10]秦丹. 利用C#從MIDI文件中獲取音樂旋律[J]. 電腦知識與技術. 2009.6:4281-4284 Vol.5 No.16

猜你喜歡
特征音樂
抓住特征巧觀察
奇妙的“自然音樂”
新型冠狀病毒及其流行病學特征認識
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
音樂從哪里來?
藝術啟蒙(2018年7期)2018-08-23 09:14:16
圣誕音樂路
兒童繪本(2017年24期)2018-01-07 15:51:37
抓住特征巧觀察
音樂
線性代數的應用特征
河南科技(2014年23期)2014-02-27 14:19:15
主站蜘蛛池模板: 色综合成人| 亚洲AV色香蕉一区二区| 国产成人综合网| 青青青视频免费一区二区| 国产精品网曝门免费视频| 中文字幕丝袜一区二区| 亚洲无码A视频在线| 国产精品一区二区国产主播| 久久综合五月| 波多野结衣亚洲一区| 色爽网免费视频| 国产一级二级三级毛片| 成人久久精品一区二区三区| 国产亚洲欧美在线中文bt天堂| 欧美成人午夜影院| 福利小视频在线播放| 性做久久久久久久免费看| 粗大猛烈进出高潮视频无码| 污视频日本| 一本久道久久综合多人| 久久青草免费91观看| 亚洲香蕉久久| 国产精品久久久久久久久kt| 国产免费久久精品99re丫丫一 | 国产迷奸在线看| 国产精品毛片一区| AV色爱天堂网| 日韩a级毛片| 潮喷在线无码白浆| 欧美日韩午夜| 女人18毛片一级毛片在线 | 亚洲综合日韩精品| 国产欧美日韩专区发布| 国产综合另类小说色区色噜噜| 麻豆精品在线播放| 国产成人精品午夜视频'| 国产精品成人不卡在线观看| 久久久久青草大香线综合精品| 久久情精品国产品免费| 伊人久久大香线蕉影院| 在线免费亚洲无码视频| 精品国产成人a在线观看| 精品无码专区亚洲| 干中文字幕| 婷婷五月在线| 国产精品永久不卡免费视频| 亚洲精品欧美重口| 欧美日韩久久综合| 亚洲系列无码专区偷窥无码| 亚洲视频四区| 国产成人无码AV在线播放动漫 | 中文字幕不卡免费高清视频| 日韩专区欧美| 97青草最新免费精品视频| 成年人视频一区二区| 91成人免费观看在线观看| 国产高清在线丝袜精品一区| 精品91自产拍在线| 2021亚洲精品不卡a| 波多野结衣在线一区二区| 亚洲精品大秀视频| 91在线播放免费不卡无毒| 在线看免费无码av天堂的| 72种姿势欧美久久久大黄蕉| 日韩免费毛片视频| 国产极品美女在线观看| 亚洲成A人V欧美综合天堂| 国产三级韩国三级理| 欧美成人一级| 色网在线视频| 久久国产精品影院| 国产精品毛片一区视频播| 国产一级二级在线观看| 国产日韩欧美视频| 日韩天堂在线观看| 国产一级二级在线观看| 40岁成熟女人牲交片免费| 国产小视频a在线观看| 午夜高清国产拍精品| 99这里精品| 国产粉嫩粉嫩的18在线播放91| 亚洲国产一成久久精品国产成人综合|