林 靜,賀前華,李新超,楊繼臣
(1.茂名職業(yè)技術(shù)學(xué)院 機電信息系,廣東 茂名525000;2.華南理工大學(xué) 電子與信息學(xué)院,廣東 廣州510641)
目前對音符起始點檢測主要利用音樂信號的時域或變換域特征的變化進(jìn)行判決檢測,其中利用時域特征的有幅度差分、短時能量差分等[1,2],該類方法計算簡單但魯棒性差;利用變換域特征的方法主要通過短時傅里葉變換獲取音符信號的頻譜特征并利用頻譜、相位變化進(jìn)行音符起始點的判決,頻譜特征相比時域特征提高了檢測的準(zhǔn)確性和魯棒性[3-4],但進(jìn)行短時傅里葉變換時,變換的時頻窗口分辨率是固定的,對于頻域跨度較大的音樂信號時域和頻域分辨率不能同時兼顧,帶來時間和頻譜分布上的計算誤差,導(dǎo)致檢測錯誤[4]。CQT (constant Q transform)變換是一種變窗長的信號譜分布計算方法,其求得的頻譜分布與音樂信號的音階頻率一一對應(yīng),更能準(zhǔn)確體現(xiàn)音樂的頻譜特征[5],根據(jù)音樂的CQT 譜分布特征進(jìn)行音符起始點檢測具有更好的效果[4]。文獻(xiàn) [6]在小波濾波后,采用CQT 譜距離檢測音符的起始點取得了不錯的效果,但采用CQT 變換計算譜分布時,低頻部分窗長較長造成時間分辨率較低,使信號的譜分布在時間軸上產(chǎn)生超前和拖尾現(xiàn)象,影響音符起始點檢測的正確性和定位精度。音樂信號通常含有豐富的諧波,音符諧波頻率要高于音符的音高頻率[7],其譜分布時間分辨率較高,在進(jìn)行譜分布距離計算時,采用非線性加權(quán),利用諧波信息增加高頻成分的權(quán)重,可以提高起始點檢測的準(zhǔn)確性,本文提出了高頻加權(quán)的譜能量差分檢測音符起始點算法,并采用標(biāo)注的音樂曲目對算法的有效性進(jìn)行了驗證。
音樂信號是由高低、長短不同的音按一定規(guī)律組成的,一般現(xiàn)代樂器普遍采用十二平均律來確定各音的絕對準(zhǔn)確音高 (頻率)。對于音樂信號而言,音符變換即音高發(fā)生變化時就是音符起始點。
鋼琴是現(xiàn)代樂器使用十二平均律的典型代表,有88個高低不同的音,最低音為27.5Hz,最高音為4185.6Hz,低于或高于這個范圍的音一般不用[7]。每個相鄰的琴鍵所發(fā)出的音的頻率比值均相等,其基音頻率之比為2的1/12次方。
CQT 變換是一種頻率帶寬比為常數(shù)的變換,根據(jù)譜線頻率的不同改變窗長以獲得更好的性能,這是CQT 的一個顯著特點,其采用指數(shù)分布的頻域采樣點與音樂信號的音階頻率指數(shù)分布規(guī)律相同,進(jìn)行CQT 變換后指數(shù)規(guī)律分布的頻帶與音樂的音階頻率是一一對應(yīng)的[4]。其頻帶中心頻率定義如式 (1)所示
式中:fk——音符信號在所變換譜內(nèi)的第k 個頻率分量,fmin——所處理音樂信號的頻率下限,K——CQT譜變換的劃分的頻帶數(shù)目,b——一個八度的頻率范圍所包含的譜線數(shù)。
頻率帶寬比為Q,CQT 因保持Q 為常數(shù),則Q 是由b決定,滿足式 (2),式中δf是頻率f 處的頻帶寬度
根據(jù)頻率的解析度的定義,可得隨頻率變化的窗長Nk,如式 (3)所示,式中fs是采樣率
式 (4)對信號加窗、變換得到信號的CQT 有限長序列X(k)
式中:x(n)——時域信號,WNK——長度為Nk的窗函數(shù),可以取矩形窗、漢明窗等。Q——CQT 變換中的常數(shù)因子,在式 (1)~式 (3)中,令b=12,K=88,fmin=27.5Hz,fmax=4185.6Hz,n=1…N 為幀序列號??汕蟮靡魳沸盘朇QT 譜分布矩陣X(K,N)。
由式 (1)~式 (4)可見,CQT 采用頻率帶寬比為常數(shù)的等比序列,得到音樂信號的音高分布矩陣,為音樂信號提供了更為合理的頻譜表示方式。
由于音樂信號中的音符是按照十二平均律分布,在對音樂信號進(jìn)行CQT 變換時,每個音符都被分解在其對應(yīng)的特定音階頻率上,而通過每個音階頻率分布的變化可以判定音符的起始點,對應(yīng)的音高及音強等。在實際的音樂信號中,包含著豐富的泛音和噪音,其CQT 分布在多個頻帶上,增加了音符起始點檢測的難度,但對于特定的音符信號,在沒有噪聲干擾的情況下,其泛音的構(gòu)成是相對穩(wěn)定的,其CQT 分布也是相對穩(wěn)定和有規(guī)律的,如果能濾除信號中的噪聲,通過CQT 譜分布的變化,仍可以準(zhǔn)確判定音符的起始點。音樂信號中產(chǎn)生的噪聲信號主要也是高斯白噪聲信號,短時窄帶脈沖干擾,工頻交流噪聲等。
高斯白噪聲的頻譜分布于多個頻帶上,在一定的信噪比條件下,信號譜能量的分散分布使每個頻帶的譜分布值很小,通過設(shè)定門限,將小于門限的頻帶濾除,可去除對應(yīng)的噪聲信號。短時窄帶脈沖噪聲能量集中于少數(shù)頻帶,但通常時長較短,幀數(shù)很少,可以通過設(shè)定幀長門限將其濾除。工頻交流噪聲主要分布于工頻對應(yīng)的音階頻率上,通過提高對應(yīng)頻帶上的噪聲門限,可將其濾除,但通常持續(xù)存在于音樂信號的整個過程,影響音符的識別,但對音符起始點的檢測影響不大,因此本文未濾除工頻交流噪聲。
為了驗證信號CQT 變換后的分布特性,圖1為一段依次由鋼琴音樂信號、高斯白噪聲信號、單頻標(biāo)準(zhǔn)正弦信號構(gòu)成的序列信號及其CQT 分布。
圖1 不同信號的CQT 譜分布
如圖1 (b)所示,鋼琴音符信號的頻譜分布在其音高頻率和諧波對應(yīng)的頻帶上,并且對比圖1 (a)的時域波形產(chǎn)生時間,音符音高對應(yīng)的譜分布產(chǎn)生了超前和拖尾現(xiàn)象。高斯白噪聲信號的頻譜散布在其多個頻帶上,每個頻帶上分布的能量較小。正弦信號能量集中分布在其頻率對應(yīng)的頻帶上。
本文提出的高頻加權(quán)CQT 譜能量的音符起始點檢測的流程如圖2所示。
圖2 音符起始點檢測流程
設(shè)定CQT 變換的幀移點數(shù),按照1.2 所描述的CQT變換過程,讀取音樂信號進(jìn)行CQT 變換得到按頻帶順序和幀序分布的矩陣X(K,N),設(shè)定相關(guān)函數(shù)K、b、幀移、窗函數(shù)等,采用式 (4)對整段音樂信號做CQT 變換,對其進(jìn)行歸一化處理使信號的譜分布值規(guī)整在0 和1 之間,設(shè)X(K,N)的最大值為CQMAX,利用 (5)式歸一化
對實際的音樂信號中可能存在高斯白噪聲,窄帶脈沖噪聲等,可在CQT 變換后,根據(jù)這些信號CQT 分布的特點,在CQT 頻譜域進(jìn)行處理,去除相關(guān)干擾。
2.2.1 設(shè)置能量門限濾除高斯白噪聲
(1)高斯白噪聲的頻譜是均勻的分布在所有頻率上,音符信號的能量稀疏分布在少數(shù)頻點上,經(jīng)過CQT 變換后,在一定的信噪比條件下,每個頻點上噪聲的能量分布要遠(yuǎn)小于音符信號的能量,通過設(shè)置門限可將其濾除。對于一般音樂信號,譜分布通常是稀疏分布的,通過實驗門限取整個分布的平均值δ,如式 (6)所示即可將噪聲濾除
(2)將歸一化后的譜分布通過門限去除噪聲,使低于門限閾值的譜值為零,如式 (7)所示
2.2.2 設(shè)置時長門限濾除短時窄帶脈沖噪聲
短時窄帶脈沖噪聲的頻點可能集中在某些頻點上,但時長有限,音符信號通常都有一個相對連續(xù)穩(wěn)定的過程,通過檢測頻點上能量分布的幀長,設(shè)置幀長門限消除小于正常音符幀長的信號,在未知音樂信號節(jié)拍的情況下,按照演奏節(jié)奏Bpm 和音符占節(jié)拍的最小比例1/L(通過節(jié)拍記號計算),計算一個最小音符的時間長度Tmin,F(xiàn)rameInc為CQT 變換的幀移,如式 (8)所示,即為門限δL(在相關(guān)信息未知的情況下,考慮極限情況,也可按文獻(xiàn) [7]音符最短為Tmin=0.0625 S計算δL),通過判別CQT 分布各頻點的連續(xù)性可以濾除短時窄帶脈沖噪聲干擾
音樂信號CQT 變換后,CQT譜信息保存在一個與音階頻率對應(yīng)的譜分布矩陣X (K,N)中,根據(jù)式 (9)計算兩幀信號的CQT譜能量差分值,得到一個能量差分函數(shù)即音符起始點判決函數(shù),音符起始點通常伴隨著相鄰幀幅值增大的情況,譜能量差值的譜峰點即為音符信號的起始點
由于CQT 變換采用變窗長計算,低頻部分的時間分辨率較低,使低頻信號譜分布產(chǎn)生超前及拖尾現(xiàn)象,利用音樂信號諧波成分豐富且時間分辨率較高的特點,在計算譜能量差分時,通過調(diào)整高頻部分和低頻部分的權(quán)值,突出高頻部分的權(quán)重,降低低頻部分時間分辨率較低帶來的影響,參照音樂信號的十二平均律分布,本文提出權(quán)值的計算公式如式 (10)所示,隨頻率的增加,權(quán)值變大,修改后的能量差分函數(shù)如式 (11)所示
譜能量差分函數(shù)的峰值點通常就是音符信號的起始點,但對于小提琴等音樂信號本身會產(chǎn)生所謂調(diào)制包絡(luò),產(chǎn)生虛假的峰值點,為提高算法的魯棒性,減小算法的誤識率,設(shè)置一個能量門限,取差分序列的平均值作為能量門限,如式 (12)所示
判定音符起始點,設(shè)定判定條件如式 (13)所示,即如果d(n)是譜能量差分函數(shù)的峰值點,且能量的增量大于門限δd,則判定該點為音符信號的候選起始點
為防止局部峰值點造成重復(fù)檢測,設(shè)置峰值點間隔δlt如式 (14)所示,如果幾個候選起始點的間隔小于δlt,則取d(n)最大的,舍去其它的,本文中取δt=Tmin
為了驗證算法的性能,選取已標(biāo)注時間的MAPS[8]庫中的一段音樂MAPS-RE-M61,加入高斯白噪聲和短時正弦脈沖干擾的混合信號采用本文算法進(jìn)行實驗。
音樂信號如圖3 (a)所示,噪聲信號如圖3 (b)所示,混合后得到如圖3 (c)所示的信號。
圖3 MAPS-M61音樂信號及噪聲混合信號
對混合信號CQT 變換后的譜分布如圖4 (a)所示,按本文的算法濾波后得到的譜分布如圖4 (b)所示,說明本文算法在CQT 譜域可以濾除相關(guān)噪聲。
圖4 混合噪聲的音樂信號濾波前后的CQT 譜分布
對圖3 (c)所示的混合信號分別采用時域短時能量,原始CQT 譜分布、濾波CQT 譜分布,高頻加權(quán)CQT 譜分布進(jìn)行能量差分的起始點檢測,采用CQT 譜的3組實驗參數(shù)相同。結(jié)果如圖5、表1所示,圖5中高度較高的菱形表示信號的真實起始點,高度較低的標(biāo)注為本文實驗檢測的起始點。
表1 混有噪聲的MAPS-M61的音樂信號起始點檢測結(jié)果
實驗結(jié)果采用國際音樂信息檢索評估交流評比大會MIREX (music information retreval evaluation Xchange)的標(biāo)準(zhǔn)進(jìn)行評價,允許誤差為50 ms,評價指標(biāo)有準(zhǔn)確率P(precision),召回率R (recall),F(xiàn)值 (f-measure)[9],其計算方法如下
圖5 混合噪聲的鋼琴音樂起始點檢測實驗結(jié)果
式中:Ocd、Ofn、Ofp——正確檢測點個數(shù)、未被檢出的漏檢點個數(shù)、檢測結(jié)果發(fā)生錯誤的誤檢點個數(shù)。準(zhǔn)確率和召回率是互相制約的兩個指標(biāo),F(xiàn) 值是這兩種指標(biāo)的綜合。
由圖表可見噪聲信號影響了短時能量差分法的檢測結(jié)果,且如圖5所示在4.5s附近由于音符間隔時間較短,能量起伏不明顯,短時能量法也出現(xiàn)了漏檢問題;原始CQT算法和短時能量算法效果一樣,不具備抗干擾能力,由于CQT 譜的低頻超前和拖尾使算法出現(xiàn)了漏檢問題;濾波的CQT 算法剔除了噪聲的影響,但在4.5s附近由于音符間隔時間較短,CQT 超前拖尾問題帶來的能量重疊產(chǎn)生了漏檢問題,本文的高頻加重CQT 算法準(zhǔn)確實現(xiàn)了音符起始點的檢測,驗證了本文提出的高頻加權(quán)CQT 算法具有良好的抗噪能力和較準(zhǔn)確的起始點檢測能力。
為更好地測試算法的性能,選取已標(biāo)注音符起始點的ODB數(shù)據(jù)庫[10]的18首曲目以及MAPS內(nèi)的32首標(biāo)注曲目共50首進(jìn)行實驗,曲目涵蓋多種類型,其中鋼琴曲目居多,總時長2430s,共2838個起始點,采用本文的高頻加權(quán)CQT 能量差分求得最好實驗結(jié)果,和MIXREX 最好結(jié)果比較見表2,從結(jié)果看本文算法的F 值要高于2011 和2012MIREX[9]的求解結(jié)果。
表2 本文算法和MIREX 比較
音符起始點檢測是音樂信號分析處理中關(guān)鍵的一步,本文應(yīng)用改進(jìn)的高頻加權(quán)CQT 譜能量進(jìn)行音符起始點檢測。該算法針對音樂信號通過CQT 變換時由于不同窗長帶來的低頻時移超前和拖尾問題,利用音樂信號諧波豐富的特點,采用高頻加權(quán)的CQT 譜能量差分法實現(xiàn)音符起始點的檢測,采用標(biāo)注的音樂數(shù)據(jù)庫驗證了算法的有效性。由于音樂信號起伏變化復(fù)雜,不同曲目判決門限的差異較大,進(jìn)一步提高相關(guān)門限的自適應(yīng)能力,提高算法的魯棒性是下一步研究的重點。
[1]Michael A,Casey RV.Content-based music information retrieval:Current directions and future challenges [J].Proceedings of the IEEE,2008,96 (4):668-696.
[2]Toh CC,Zhang B,Wang Y.Multiple-feature fusion based onset detection for solo singing voice[C]//9th ISMIR,2008.
[3]Zhou R,Mattavelli M,Zoia G.Music onset detection based on resonator time frequency image[J].IEEE Transactions on Audio,Speech,and Language Processing,2008,16 (8):1685-1695.
[4]HAN Yahuan.Music onset detection based on Constant Q transform [D].Nanjing:Nanjing University of Posts and Telecommunications,2013 (in Chinese).[韓雅歡.基于Constant Q 變換的音符起始點檢測算法研究 [D].南京:南京郵電大學(xué),2013.]
[5]Schorkhuber,Christian,Anssi Klapuri.Constant-Q transform toolbox for music processing [C]//7th Sound and Music Computing Conference,2010.
[6]GUI Wenming,LIU Ruifan,SHAO Xi,et al.Note onset detection based on constant Q transform [J].Computer Engineering,2013,39 (10):283-286 (in Chinese). [桂文明,劉睿凡,邵曦,等.基于常量Q 變換的音符起始點檢測 [J].計算機工程,2013,39 (10):283-286.]
[7]Muller M,Ewert S.Towards timbre-invariant audio features for harmony-based music [J].IEEE Transactions on Audio,Speech,and Language Processing,2010,18 (3):649-662.
[8]Emiya V,Badeau R,David B.Multipitch estimation of piano sounds using a new probabilistic spectral smoothness principle[J].IEEE Transactions on Audio,Speech,and Language Processing,2010,18 (6):1643-1654.
[9]MIREX [R/OL].http://www.music-ir.org/mirex/wiki/MIREX_HOME,2014.
[10]Onset Detection Database[DB/OL].http://grfia.dlsi.ua.es/cm/projects/prosemus/database.php,2014.