亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種結(jié)合樂譜的音符切分方法

文檔序號:10614103閱讀:550來源:國知局
一種結(jié)合樂譜的音符切分方法
【專利摘要】本發(fā)明公開了一種結(jié)合樂譜的音符切分方法,包括下列步驟:1、對樂譜對應(yīng)的MIDI文件進行解析,獲得音符時值和音高信息;2、對音樂信號進行采集,之后對音樂信號進行預(yù)處理,預(yù)處理過程包括預(yù)加重、分幀、加窗等;3、采用短時平均能量的方法對預(yù)處理后的信號進行包絡(luò)提取;4、對提取的信號包絡(luò)進行峰值提取并將峰值與樂譜進行雙向匹配,取所有信號的能量平均值作為閾值,先將大于閾值的峰值與樂譜匹配,從而確定能量較大的音符的起始點峰值;再將小于閾值的峰值與已確定音符之間的樂譜匹配;5、將起始點峰值與音樂信號中的音符起點進行一一映射,從而完成對音樂的音符切分。本發(fā)明對強弱變化較多的多音音樂能夠?qū)崿F(xiàn)準確的音符切分。
【專利說明】
一種結(jié)合樂譜的音符切分方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于音頻信號處理領(lǐng)域,特別是一種結(jié)合樂譜的音符切分方法。
【背景技術(shù)】
[0002] 隨著生活水平的不斷提高,人們開始學(xué)習(xí)樂器來提高自身的音樂素質(zhì)。音符作為 音樂構(gòu)成的基本要素,在分析音樂信號中起著關(guān)鍵的作用,準確的切分音符可以提高音符 識別的準確率。音符切分的實質(zhì)是檢測鋼琴音樂音符的起始位置,將鋼琴音樂信號中的每 個音樂事件劃分出來。
[0003] 音樂切分方法大多數(shù)借鑒使用了語音端點檢測的方法和思路,大致分為兩種情 況:一種是基于信號特征的檢測方法,根據(jù)信號的幅度包絡(luò)、短時平均能量、時頻、相位、功 率譜等特征表示來檢測音符起點;另一種是基于統(tǒng)計信號模型,根據(jù)模型變化點檢測突發(fā) 信號來確定音符起點。近年來,許多新的方法被提出,如基于多特征聯(lián)合的方法,基于頻域 能量的特征,基于差分能量和差分過零率的特征,基于排序幅度譜的特征,基于高頻能量和 低頻能量的特征等。音樂具有節(jié)奏、情感和旋律等語義要素,較之簡單的語音信息具有更多 的復(fù)雜性,所以對音樂音符切分的研究還是有很大的潛力。
[0004] 專利申請?zhí)枮镃N200610086469.7,發(fā)明名稱為"一種基于雙峰值檢測的音符切分 方法及其裝置"的中國專利,是根據(jù)判斷第一波峰和第二波峰是否滿足雙峰值檢測的條件, 完成對能量大于臨界值的連續(xù)語音幀構(gòu)成的每一濁音段的音符切分。該方法可以實現(xiàn)對各 音符能量均勻的單音音樂的音符切分,但對于多音音樂,特別是雙手彈奏的鋼琴音樂,相鄰 很近的音符之間極易重疊,此時雙峰值檢測的性能下降,漏檢率上升。
[0005] 專利申請?zhí)枮镃N201110063242.1,發(fā)明名稱為"基于Teager能量熵的音符切分方 法"的中國專利,通過統(tǒng)計Teager能量的信息熵Η后采用雙門限閾值法進行峰值提取來完成 音符切分。該方法可以實現(xiàn)多音音樂的音符切分,但對于強弱變化較多的多音音樂,采用閾 值來進行峰值提取會遺漏部分音符起點。
[0006] 由上可知,現(xiàn)有技術(shù)能夠?qū)崿F(xiàn)連續(xù)單音音樂的音符切分,但對于強弱變化較多的 多音音樂不適用。

【發(fā)明內(nèi)容】

[0007] 本發(fā)明所解決的技術(shù)問題在于提供一種結(jié)合樂譜的音符切分方法。
[0008] 實現(xiàn)本發(fā)明目的技術(shù)解決方案為:一種結(jié)合樂譜的音符切分方法,包括以下步驟:
[0009] 步驟1、對樂譜信息進行提取,具體是對樂譜對應(yīng)的MIDI文件進行解析,提取出樂 譜中的音符時值和音高信息;
[0010] 步驟2、對音樂信號進行采集,該音樂信號是根據(jù)步驟1中的樂譜進行演奏的,之后 對采集到的音樂信號進行預(yù)處理;
[0011] 步驟3、對預(yù)處理后的信號進行包絡(luò)提?。?br>[0012] 步驟4、對提取的信號包絡(luò)進行峰值提取并將峰值與樂譜進行雙向匹配;
[0013] 步驟5、將起始點峰值與音樂信號中的音符起點進行一一映射,具體是將起始點峰 值與幀長相乘,得到音符起點在音樂信號中的位置,從而完成對音樂的音符切分。
[0014] 本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點為:1)本發(fā)明的結(jié)合樂譜的音符切分方法主 要結(jié)合樂譜中的先驗信息,提高了音符切分的效率;2)本發(fā)明結(jié)合樂譜的音符切分方法中 采用短時平均能量特征為時域特征,計算復(fù)雜度低,速度快;3)本發(fā)明的結(jié)合樂譜的音符切 分方法對包絡(luò)峰值與樂譜進行雙向匹配,提高了音符切分的準確度;4)本發(fā)明的結(jié)合樂譜 的音符切分方法將音符起始點檢測與多基頻檢測同時進行,可以實現(xiàn)在確定一個小節(jié)的音 樂音符起點后得到該小節(jié)中各音符的所有基頻,即實現(xiàn)信號音符音高實時檢測;5)本發(fā)明 的結(jié)合樂譜的音符切分方法能夠?qū)崿F(xiàn)強弱變化較多的多音音樂的音符切分,對簡單的連續(xù) 音樂同樣具有適用性。
[0015] 下面結(jié)合附圖對本發(fā)明作進一步詳細描述。
【附圖說明】
[0016] 圖1是本發(fā)明的結(jié)合樂譜的音符切分方法框圖。
[0017] 圖2是鋼琴曲《小奏鳴曲》前三小節(jié)的樂譜。
[0018] 圖3是對音樂預(yù)處理和包絡(luò)提取之后的結(jié)果圖,其中圖3(a)是現(xiàn)場演奏的《小奏鳴 曲》前三小節(jié)的音樂波形;圖3(b)是音樂信號預(yù)加重之后的波形;圖3(c)是音樂信號包絡(luò) 圖。
[0019] 圖4是包絡(luò)峰值與樂譜雙向匹配的流程圖。
[0020] 圖5是包絡(luò)峰值與樂譜匹配后的起始點峰值位置圖。
[0021] 圖6是鋼琴音樂信號起始點檢測結(jié)果圖。
【具體實施方式】
[0022] 結(jié)合圖1,本發(fā)明的一種結(jié)合樂譜的音符切分方法,包括以下步驟:
[0023]步驟1、對樂譜信息進行提取,具體是對樂譜對應(yīng)的MIDI文件進行解析,提取出樂 譜中的音符時值和音高信息;
[0024]步驟2、對音樂信號進行采集,該音樂信號是根據(jù)步驟1中的樂譜進行演奏的,之后 對采集到的音樂信號進行預(yù)處理;具體為:
[0025] 步驟2-1、通過一階數(shù)字濾波器對音樂信號進行預(yù)加重處理,數(shù)字濾波器H(z)公式 為:
[0026] Η(ζ) = 1-μζ_1
[0027] 式中,μ為濾波器系數(shù);
[0028]步驟2-2、對預(yù)加重處理后的信號進行分幀,分幀公式為
[0029] fn= (L-N+inc)/inc
[0030] 式中fn為分幀后的總幀數(shù),L為預(yù)加重后的信號長度,N為幀長,inc為后一幀對前 一幀的位移量;
[0031] 步驟2-3、對分幀處理后的信號進行加窗,第i幀加窗音樂信號71(1〇表示為:
[0032] yi(n)=x((i_l)*inc+n)*w(n)
[0033] 式中x(n)為預(yù)加重之后的信號,w(n)為窗函數(shù),n = l,2,…,N,i = l,2,…,fn;
[0034]米用漢寧窗,窗函數(shù)公式為:
[0035]
[0036]式中N為窗長,窗長與幀長相等。
[0037]步驟3、對預(yù)處理后的信號進行包絡(luò)提取;其中對預(yù)處理后的信號采用短時平均能 量作為音樂信號的包絡(luò),第i幀的短時平均能量E(i)表示為:
[0038]
[0039] 式中,yi(n)為第i幀加窗音樂信號,Ν為窗長。
[0040] 步驟4、對提取的信號包絡(luò)進行峰值提取并將峰值與樂譜進行雙向匹配;具體為:
[0041] 步驟4-1、采用中值濾波對信號包絡(luò)進行平滑處理,并采用極大值法提取包絡(luò)中的 峰值Pa;
[0042] 步驟4-2、對當(dāng)前峰值索引、音符在樂譜中的位置索引和音符起點在包絡(luò)峰值Pa中 的位置索引indj進行初始化,將當(dāng)前峰值索引i設(shè)置為1,當(dāng)前音符在樂譜中的位置索引 temp」設(shè)置為1,音符起點在包絡(luò)峰值Pa中的位置索引ind_l設(shè)置為1;
[0043]步驟4-3、設(shè)定固定閾值δ,所述固定閾值δ為所有信號能量的平均值;
[0044]步驟4-4、利用閾值獲得有效峰值Ρη,所述有效峰值Ρη為高于固定閾值δ的峰值,得 到有效峰值Ρη在包絡(luò)峰值Pa中的位置索引為ind;
[0045] 步驟4-5、對位置索引ind進行判斷,若ind>l,則令音樂信號第1個音符起點Pan(l) 對應(yīng)包絡(luò)第一個峰值Pa(l);若ind = 1,則信號第1個音符起點對應(yīng)第一個有效峰值Pan(l) = Pn(l),并將索引i增1,即i = i+l;
[0046] 步驟4-6、對步驟1中提取出的音符時值midi_t ime累加求和:
[0047]
[0048] 其中,音符時值midi_time為l*p矩陣,p為音樂事件的個數(shù),cumsum_time為累加 和,t為音符在樂譜中的位置索引,1彡t彡p,l彡X彡t;
[0049] 步驟4-7、初步判定第1個音符起點Pan(l)和第i個有效峰值Pn(i)之間信號包含的 音樂事件數(shù)cm為:
[0050] cm=max{t | cumsum_time(tXnote_len}
[00511式中,note_len為第1個音符起點Pan(l)和第i個有效峰值之間信號的相對長度, 公式為:
[0052] note_len= (Pn( i)_Pan( 1) )*N/n_len
[0053] 式中,N為幀長,n_len為一個八分音符在時域上的信號長度;
[0054] 步驟4-8、將有效峰值與樂譜匹配,對第i個有效峰值所在的音符瞬態(tài)部分作傅里 葉變換,利用諧波峰值法獲得該段音樂信號包含的基音頻率pitch,從步驟1中提取出的音 高信息midi_note的第temp_i+l列到cm+1列數(shù)據(jù)尋找與基音頻率pitch相等的最小列cml, 由此確定第i個有效峰值Pn(i)表示第cml個音符的起點,即Pan(cml) =Pn(i),令峰值Pan (cml)對應(yīng)在Pa中的索引為ind_2;若沒有找到cml,則該有效峰值為偽峰值,i = i+1,返回步 驟4-7;其中音高信息midi_note為q*p的矩陣,p為音樂事件的個數(shù),q為一個音樂事件中含 有的基頻個數(shù)最大值;
[0055]步驟4-9、對已經(jīng)確定音符起點之間的包絡(luò)峰值與樂譜匹配,設(shè)置包絡(luò)峰值索引j 的范圍為ind_l〈 j〈ind_2,將包絡(luò)峰值Pa中第ind_]^ljind_2個峰值逐個按照步驟4-7的方法 初步判定第1個音符起點Pan( 1)和第j個包絡(luò)峰值Pa( i)之間信號包含的音樂事件數(shù)cm2; [0056] 步驟4-10、設(shè)置音符起點峰值索引ii的范圍為temp_i〈ii〈cml,按照步驟4-8中的 方法來確定第j個包絡(luò)峰值Pa( j)對應(yīng)的第ii個音符的起點,即Pan(ii) =Pa( j);若某個音 符起點沒有與其對應(yīng)的峰值,將步驟4-9中的粗判結(jié)果作為音符起點,即Pan (cm2) = Pa (j);
[0057] 步驟4-11、確定前cml個音符起點之后,將當(dāng)前待匹配音符起點索引temp」設(shè)置為 cml,同時將ind_2的值賦值給下一個有效峰值在包絡(luò)峰值Pa中的位置索引ind_l,即ind_l =ind_2,i自增1,返回步驟4-7;若找到的音符起點個數(shù)等于音符總數(shù),音符切分結(jié)束,音符 起點在音樂信號中的位置為起始點峰值與幀長相乘,即onset = Pan*N。
[0058] 步驟5、將起始點峰值與音樂信號中的音符起點進行一一映射,具體是將起始點峰 值與幀長相乘,得到音符起點在音樂信號中的位置,從而完成對音樂的音符切分。
[0059] 下面結(jié)合實施例進行更詳細的描述:
[0060] 實施例
[0061 ]單音音樂是指任意時刻只有一個聲音的音樂,比如獨唱、小號獨奏等;而多音音樂 則允許同一時刻有多個聲音存在,比如一般的鋼琴演奏、重奏、交響樂等。對于多音音樂,具 有相同開始時間的所有音高被稱為一個音樂事件。音符切分的實質(zhì)是音樂音符的起始位 置,將音樂信號中的每個音樂事件劃分出來。
[0062] 圖1為結(jié)合樂譜的音符切分方法框圖,結(jié)合樂譜的音符切分方法包括提取樂譜信 息、音樂信號采集、信號預(yù)處理、包絡(luò)提取、峰值提取、峰值與樂譜雙向匹配和音符起始點映 射部分。下面以鋼琴演奏音樂為例說明本發(fā)明的結(jié)合樂譜的音符切分方法。
[0063] 樂譜是音樂的最初形式,它由作曲家創(chuàng)作得到,演奏者根據(jù)樂譜演奏出音樂。如圖 2為鋼琴曲《小奏鳴曲》前三小節(jié)的樂譜,樂譜有雙行譜表,即高音、低音譜表。音符時值也稱 為音符值或音值,在樂譜中用來表達各音符之間的相對持續(xù)時間;音高在物理上反映為音 符的基頻值,即基音的頻率。MIDI可以看作樂譜的電子化表達形式,它記錄了音符、節(jié)拍、力 度、樂器等信息。MIDI文件中的二、三音軌對應(yīng)樂譜中的高音、低音譜表,通過解析MIDI文 件,可以提取各音軌包含的音符時值和音高信息,并將兩個音軌的信息合并?!缎∽帏Q曲》前 三小節(jié)樂譜對應(yīng)的音符相對時值集合為{1,1,1,1,1,1,1,1,1,1,2,2,2,2},表1是對《小奏 鳴曲》前三小節(jié)的MIDI樂譜兩個音軌合并后得到的鋼琴鍵號數(shù)組,其中第1列為高音譜表, 2-4列為低音譜表。
[0064] 表 1
[0065]

[0066] 鋼琴演奏的音樂通過模數(shù)變化后變成數(shù)字樂音信號,圖3(a)為現(xiàn)場演奏的《小奏 鳴曲》前三小節(jié)的音樂波形。采集之后的信號需要進行預(yù)處理,預(yù)處理過程包括預(yù)加重、分 幀、加窗等。圖3(b)為音樂信號預(yù)加重之后的波形。預(yù)加重處理可以提高高頻部分,使信號 音符起始點處的能量增強。采用一階數(shù)字濾波器對音樂信號進行預(yù)加重處理,數(shù)字濾波器 公式為:
[0067] Η(ζ) = 1-μζ_1
[0068] 式中,μ 值取 0.99。
[0069] 分幀加窗處理以有限長度的移動窗口對信號樣本加權(quán)的形式實現(xiàn),可以將總體非 平穩(wěn)的樂音信號轉(zhuǎn)化為短時平穩(wěn)信號。采用交疊分段的方法可以使幀與幀之間平滑過渡且 保持其連續(xù)性,前一幀和后一幀的交疊部分稱為幀移。分幀公式為:
[0070] fn= (L-N+inc)/inc
[0071] 式中fn為分幀后的總幀數(shù),L為預(yù)加重后的信號長度,N為幀長,inc為幀移。本發(fā)明 為了體現(xiàn)峰值與音符起始點的映射關(guān)系,取幀移與幀長相等。
[0072]對分幀處理后的信號進行加窗,第i幀加窗音樂信號yi(n)表不為:
[0073] yi(n)=x((i_l)*inc+n)*w(n)
[0074] 式中x(n)為預(yù)加重之后的信號,w(n)為窗函數(shù),n = l,2,…,N,i = l,2,…,fn。常用 在語音、樂音信號處理中的加窗函數(shù)有海明窗、漢寧窗和矩形窗等幾種,本發(fā)明采用漢寧 窗,窗函數(shù)公式為:
[0075]
[0076] 式中N為窗長,窗長與幀長相等,本發(fā)明取一個標準八分音符長度的1/10。
[0077]在音樂信號中,每個音符的能量首先會突然上升然后經(jīng)歷一個衰減過程,這個階 段的變化稱為瞬態(tài)。音樂信號分析中的起始點是指是一個音樂事件的開始,就是指音高的 變化或者一個音符的開始。由于音符起點處能量的增加尤為明顯,使用短時平均能量作為 信號包絡(luò)可以使音符的起點大致凸顯出來。第i幀的短時平均能量E(i)表示為:
[0078]
[0079] 式中,yi(n)為第i幀加窗音樂信號,N為窗長。取窗長為1000點,得到的音樂信號包 絡(luò)如圖3(c)。
[0080] 采用中值濾波對信號包絡(luò)進行平滑處理,并采用極大值法提取包絡(luò)中的峰值Pa。
[0081] 在一般的時域起點檢測方法中,設(shè)定閾值后取大于閾值的部分作為濁音段,同時 得到濁音信號的端點。根據(jù)基本樂理知識,鋼琴彈奏中,一般右手彈奏的是主旋律,而左手 只是伴奏彈奏,所以右手彈奏時的力度普遍要大于左手彈奏的力度,左右手合奏出強弱變 化的音樂。只取大于閾值的峰值非??赡苎谏w力度小的音符起點,也可能誤將偽峰值作為 音符起點。但可以確定的是,大于較大閾值的峰值一定與樂譜中某個音符對應(yīng),因此本發(fā)明 的方法設(shè)定較大的閾值,對包絡(luò)峰值進行雙向匹配。
[0082] 雙向匹配即將大于閾值的峰值作為有效峰值,對有效峰值與樂譜匹配,從而確定 能量較大的音符的起點位置;再將小于閾值的峰值與已確定音符之間的樂譜進行匹配,如 圖4為包絡(luò)峰值與樂譜雙向匹配的流程圖,算法描述如下:
[0083] (1)對當(dāng)前峰值索引、音符在樂譜中的位置索引和音符起點在包絡(luò)峰值Pa中的位 置索引ind_l進行初始化,將當(dāng)前峰值索引i設(shè)置為1,當(dāng)前音符在樂譜中的位置索引temp」 設(shè)置為1,音符起點在包絡(luò)峰值Pa中的位置索引ind_l設(shè)置為1;
[0084] (2)設(shè)定固定閾值δ,所述固定閾值δ為所有信號能量的平均值;
[0085] (3)利用閾值獲得有效峰值Ρη,所述有效峰值Ρη為高于固定閾值δ的峰值,得到有 效峰值Ρη在包絡(luò)峰值Pa中的位置索引為ind;
[0086] (4)對位置索引ind進行判斷,若ind>l,則令音樂信號第1個音符起點Pan(l)對應(yīng) 包絡(luò)第一個峰值Pa(l);若ind=l,則信號第1個音符起點對應(yīng)第一個有效峰值Pan(l)=Pn (1),并將索引i增1,即i = i+l;
[0087] (5)對步驟1中提取出的音符時值mi d i_t ime累加求和:
[0088]
[0089] 式中,cumsum_time為累加和,t為音符在樂譜中的位置索引,Kt<n,Kx<t,n 為音樂事件總數(shù);
[0090] (6)初步判定第1個音符起點Pan(l)和第i個有效峰值Pn(i)之間信號包含的音樂 事件數(shù)cm為:
[0091 ] cm=max{t | cumsum_time(tXnote_len}
[0092] 式中,note_len為第1個音符起點Pan(l)和第i個有效峰值之間信號的相對長度, 公式為:
[0093] note_len= (Pn( i)_Pan( 1) )*N/n_len
[0094] 式中,N為幀長,n_len為一個八分音符在時域上的信號長度;
[0095] (7)將有效峰值與樂譜匹配,對第i個有效峰值所在的音符瞬態(tài)部分作傅里葉變 換,利用諧波峰值法獲得該段音樂信號包含的基音頻率pitch,從步驟1中提取出的音高 midi_note的第temp_i+l列到cm+1列數(shù)據(jù)尋找與基音頻率pitch相等的最小列cml,由此確 定第i個有效峰值Pn(i)表示第cml個音符的起點,即Pan(cml) = Pn(i),令峰值Pan(cml)對 應(yīng)在Pa中的索引為ind_2;若沒有找到cml,則該有效峰值為偽峰值,i = i+1,返回(6);
[0096] (8)對已經(jīng)確定音符起點之間的包絡(luò)峰值與樂譜匹配,設(shè)置包絡(luò)峰值索引j的范圍 為ind_l〈j〈ind_2,將包絡(luò)峰值Pa中第ind_]^ljind_2個峰值逐個按照步驟4-7的方法初步判 定第1個音符起點Pan(l)和第j個包絡(luò)峰值Pa(i)之間信號包含的音樂事件數(shù)cm2,即cm2 = max{t | cumsum_time(tXnote_len2}
[0097] 其中note_len2 = (Pa( j)_Pan( 1) )*N/n_len;
[0098] (9)設(shè)置音符起點峰值索引ii的范圍為以111?_1〈^〈〇111,按照(7)中的方法來確定 第j個包絡(luò)峰值Pa( j)表示第ii個音符的起點,即Pan(ii) =Pa( j);若某個音符起點沒有與 其對應(yīng)的峰值,將步驟4-9中的粗判結(jié)果作為音符起點,即Pan(cm2) =Pa( j)。
[0099] (10)確定前cml個音符起點之后,將當(dāng)前待匹配音符起點索引temp_i設(shè)置為cml, 同時將ind_2的值賦值給下一個有效峰值在包絡(luò)峰值Pa中的位置索引ind_l,即indj = ind_2, i自增1,返回步驟4-7;若找到的音符起點個數(shù)等于音符總數(shù),包絡(luò)峰值與樂譜雙向 匹配結(jié)束。
[0100] 圖5為包絡(luò)峰值與樂譜匹配后的起始點峰值位置,其中正方形點表示有效峰值匹 配結(jié)果,圓圈點表示其余包絡(luò)峰值匹配結(jié)果。
[0101]將起始點峰值與音樂信號中的音符起點進行一一映射,通過將起始點峰值與幀長 相乘來得到音符起點在音樂信號中的位置,即〇nset = Pan*N。圖6為起始點檢測結(jié)果,其中 實線表示由有效峰值確定的音符起始點,虛線表示由其余包絡(luò)峰值確定的音符起始點,由 此實現(xiàn)音符的準確切分。
[0102]由上可知,本發(fā)明結(jié)合樂譜的音符切分方法能夠?qū)崿F(xiàn)強弱變化較多的多音音樂的 音符切分,對簡單的連續(xù)音樂同樣具有適用性。
【主權(quán)項】
1. 一種結(jié)合樂譜的音符切分方法,其特征在于,包括W下步驟: 步驟1、對樂譜信息進行提取,具體是對樂譜對應(yīng)的MIDI文件進行解析,提取出樂譜中 的音符時值和音高信息; 步驟2、對音樂信號進行采集,該音樂信號是根據(jù)步驟1中的樂譜進行演奏的,之后對采 集到的音樂信號進行預(yù)處理; 步驟3、對預(yù)處理后的信號進行包絡(luò)提?。? 步驟4、對提取的信號包絡(luò)進行峰值提取并將峰值與樂譜進行雙向匹配; 步驟5、將起始點峰值與音樂信號中的音符起點進行一一映射,具體是將起始點峰值與 帖長相乘,得到音符起點在音樂信號中的位置,從而完成對音樂的音符切分。2. 根據(jù)權(quán)利要求1所述的結(jié)合樂譜的音符切分方法,其特征在于,步驟2中對采集到的 音樂信號進行預(yù)處理具體為: 步驟2-1、通過一階數(shù)字濾波器對音樂信號進行預(yù)加重處理,數(shù)字濾波器H(z)公式為: H(z) = 1-帖-1 式中,μ為濾波器系數(shù); 步驟2-2、對預(yù)加重處理后的信號進行分帖,分帖公式為 fn= (L-N+inc)/inc 式中fn為分帖后的總帖數(shù),L為預(yù)加重后的信號長度,N為帖長,inc為后一帖對前一帖的 位移量; 步驟2-3、對分帖處理后的信號進行加窗,第i帖加窗音樂信號yi(n)表示為: yi(n) = x( (i-l)*inc+n)*w(n) 式中x(n)為預(yù)加重之后的信號,w(n)為窗函數(shù),n=l,2,…,N,i = l,2,…,fn; 采用漢寧窗,窗函數(shù)公式為:式中N為窗長,窗長與帖長相等。3. 根據(jù)權(quán)利要求1所述的結(jié)合樂譜的音符切分方法,其特征在于,步驟3對預(yù)處理后的 信號進行包絡(luò)提取,其中對預(yù)處理后的信號采用短時平均能量作為音樂信號的包絡(luò),第i帖 的短時平均能量E(i)表示為:式中,yi(n)為第i帖加窗音樂信號,N為窗長。4. 根據(jù)權(quán)利要求1所述的結(jié)合樂譜的音符切分方法,其特征在于,步驟4對提取的信號 包絡(luò)進行峰值提取并將峰值與樂譜進行雙向匹配具體為: 步驟4-1、采用中值濾波對信號包絡(luò)進行平滑處理,并采用極大值法提取包絡(luò)中的峰值 Pa; 步驟4-2、對當(dāng)前峰值索引、音符在樂譜中的位置索引和音符起點在包絡(luò)峰值化中的位 置索引ind_l進行初始化,將當(dāng)前峰值索引i設(shè)置為1,當(dāng)前音符在樂譜中的位置索引temp_i 設(shè)置為1,音符起點在包絡(luò)峰值化中的位置索引ind_l設(shè)置為1; 步驟4-3、設(shè)定固定闊值δ,所述固定闊值δ為所有信號能量的平均值; 步驟4-4、利用闊值獲得有效峰值化,所述有效峰值化為高于固定闊值δ的峰值,得到有 效峰值化在包絡(luò)峰值化中的位置索引為ind; 步驟4-5、對位置索引ind進行判斷,若ind〉l,則令音樂信號第1個音符起點化n( 1)對應(yīng) 包絡(luò)第一個峰值化(1);若ind=l,則信號第1個音符起點對應(yīng)第一個有效峰值化n(l)=化 (1),并將索弓li增1,即i = i+l; 步驟4-6、對步驟1中提取出的音符時值累加求和:其中,音符時值為l*p矩陣,P為音樂事件的個數(shù),cumsum_time為累加和,t為 音符在樂譜中的位置索引, 步驟4-7、初步判定第1個音符起點化n(l)和第i個有效峰值化(i)之間信號包含的音樂 事件數(shù)cm為: cm=max{t I cumsum_time(t)《note_len} 式中,note_len為第1個音符起點化n(l)和第i個有效峰值之間信號的相對長度,公式 為: note_len =(Pn(i)-Pan(1))*N/n_len 式中,N為帖長,n_len為一個八分音符在時域上的信號長度; 步驟4-8、將有效峰值與樂譜匹配,對第i個有效峰值所在的音符瞬態(tài)部分作傅里葉變 換,利用諧波峰值法獲得該段音樂信號包含的基音頻率pitch,從步驟1中提取出的音高信 息midi_note的第temp_i+l列到cm+1列數(shù)據(jù)尋找與基音頻率pitch相等的最小列cml,由此 確定第i個有效峰值化(i)表示第cm 1個音符的起點,即Pan (cm 1)=化(i),令峰值化η (cm 1) 對應(yīng)在化中的索引為ind_2;若沒有找到cml,則該有效峰值為偽峰值,i = i+1,返回步驟4- 7;其中音高信息midi_note為q*p的矩陣,P為音樂事件的個數(shù),q為一個音樂事件中含有的 基頻個數(shù)最大值; 步驟4-9、對已經(jīng)確定音符起點之間的包絡(luò)峰值與樂譜匹配,設(shè)置包絡(luò)峰值索引j的范 圍為ind_l < j < ind_2,將包絡(luò)峰值化中第ind_l到ind_2個峰值逐個按照步驟4-7的方法初 步判定第1個音符起點化n(l)和第j個包絡(luò)峰值化(i)之間信號包含的音樂事件數(shù)cm2; 步驟4-10、設(shè)置音符起點峰值索引i i的范圍為temp_i < i i <cml,按照步驟4-8中的方 法來確定第j個包絡(luò)峰值化(j)對應(yīng)的第ii個音符的起點,即Pan(ii)=化(j);若某個音符 起點沒有與其對應(yīng)的峰值,將步驟4-9中的粗判結(jié)果作為音符起點,即Pan(cm2)=化(j); 步驟4-11、確定前cml個音符起點之后,將當(dāng)前待匹配音符起點索引temp_i設(shè)置為cml, 同時將ind_2的值賦值給下一個有效峰值在包絡(luò)峰值化中的位置索引ind_l,即ind_l = ind_2,i自增1,返回步驟4-7;若找到的音符起點個數(shù)等于音符總數(shù),音符切分結(jié)束,音符起 點在音樂信號中的位置為起始點峰值與帖長相乘,即onset =化n*N。
【文檔編號】G10H1/00GK105976803SQ201610262452
【公開日】2016年9月28日
【申請日】2016年4月25日
【發(fā)明人】芮義斌, 李秀珍, 張躍龍, 謝仁宏, 李鵬, 郭山紅
【申請人】南京理工大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1