林 靜,賀前華,李新超,楊繼臣
(1.茂名職業技術學院 機電信息系,廣東 茂名525000;2.華南理工大學 電子與信息學院,廣東 廣州510641)
目前對音符起始點檢測主要利用音樂信號的時域或變換域特征的變化進行判決檢測,其中利用時域特征的有幅度差分、短時能量差分等[1,2],該類方法計算簡單但魯棒性差;利用變換域特征的方法主要通過短時傅里葉變換獲取音符信號的頻譜特征并利用頻譜、相位變化進行音符起始點的判決,頻譜特征相比時域特征提高了檢測的準確性和魯棒性[3-4],但進行短時傅里葉變換時,變換的時頻窗口分辨率是固定的,對于頻域跨度較大的音樂信號時域和頻域分辨率不能同時兼顧,帶來時間和頻譜分布上的計算誤差,導致檢測錯誤[4]。CQT (constant Q transform)變換是一種變窗長的信號譜分布計算方法,其求得的頻譜分布與音樂信號的音階頻率一一對應,更能準確體現音樂的頻譜特征[5],根據音樂的CQT 譜分布特征進行音符起始點檢測具有更好的效果[4]。文獻 [6]在小波濾波后,采用CQT 譜距離檢測音符的起始點取得了不錯的效果,但采用CQT 變換計算譜分布時,低頻部分窗長較長造成時間分辨率較低,使信號的譜分布在時間軸上產生超前和拖尾現象,影響音符起始點檢測的正確性和定位精度。音樂信號通常含有豐富的諧波,音符諧波頻率要高于音符的音高頻率[7],其譜分布時間分辨率較高,在進行譜分布距離計算時,采用非線性加權,利用諧波信息增加高頻成分的權重,可以提高起始點檢測的準確性,本文提出了高頻加權的譜能量差分檢測音符起始點算法,并采用標注的音樂曲目對算法的有效性進行了驗證。
音樂信號是由高低、長短不同的音按一定規律組成的,一般現代樂器普遍采用十二平均律來確定各音的絕對準確音高 (頻率)。對于音樂信號而言,音符變換即音高發生變化時就是音符起始點。
鋼琴是現代樂器使用十二平均律的典型代表,有88個高低不同的音,最低音為27.5Hz,最高音為4185.6Hz,低于或高于這個范圍的音一般不用[7]。每個相鄰的琴鍵所發出的音的頻率比值均相等,其基音頻率之比為2的1/12次方。
CQT 變換是一種頻率帶寬比為常數的變換,根據譜線頻率的不同改變窗長以獲得更好的性能,這是CQT 的一個顯著特點,其采用指數分布的頻域采樣點與音樂信號的音階頻率指數分布規律相同,進行CQT 變換后指數規律分布的頻帶與音樂的音階頻率是一一對應的[4]。其頻帶中心頻率定義如式 (1)所示

式中:fk——音符信號在所變換譜內的第k 個頻率分量,fmin——所處理音樂信號的頻率下限,K——CQT譜變換的劃分的頻帶數目,b——一個八度的頻率范圍所包含的譜線數。
頻率帶寬比為Q,CQT 因保持Q 為常數,則Q 是由b決定,滿足式 (2),式中δf是頻率f 處的頻帶寬度

根據頻率的解析度的定義,可得隨頻率變化的窗長Nk,如式 (3)所示,式中fs是采樣率

式 (4)對信號加窗、變換得到信號的CQT 有限長序列X(k)

式中:x(n)——時域信號,WNK——長度為Nk的窗函數,可以取矩形窗、漢明窗等。Q——CQT 變換中的常數因子,在式 (1)~式 (3)中,令b=12,K=88,fmin=27.5Hz,fmax=4185.6Hz,n=1…N 為幀序列號。可求得音樂信號CQT 譜分布矩陣X(K,N)。
由式 (1)~式 (4)可見,CQT 采用頻率帶寬比為常數的等比序列,得到音樂信號的音高分布矩陣,為音樂信號提供了更為合理的頻譜表示方式。
由于音樂信號中的音符是按照十二平均律分布,在對音樂信號進行CQT 變換時,每個音符都被分解在其對應的特定音階頻率上,而通過每個音階頻率分布的變化可以判定音符的起始點,對應的音高及音強等。在實際的音樂信號中,包含著豐富的泛音和噪音,其CQT 分布在多個頻帶上,增加了音符起始點檢測的難度,但對于特定的音符信號,在沒有噪聲干擾的情況下,其泛音的構成是相對穩定的,其CQT 分布也是相對穩定和有規律的,如果能濾除信號中的噪聲,通過CQT 譜分布的變化,仍可以準確判定音符的起始點。音樂信號中產生的噪聲信號主要也是高斯白噪聲信號,短時窄帶脈沖干擾,工頻交流噪聲等。
高斯白噪聲的頻譜分布于多個頻帶上,在一定的信噪比條件下,信號譜能量的分散分布使每個頻帶的譜分布值很小,通過設定門限,將小于門限的頻帶濾除,可去除對應的噪聲信號。短時窄帶脈沖噪聲能量集中于少數頻帶,但通常時長較短,幀數很少,可以通過設定幀長門限將其濾除。工頻交流噪聲主要分布于工頻對應的音階頻率上,通過提高對應頻帶上的噪聲門限,可將其濾除,但通常持續存在于音樂信號的整個過程,影響音符的識別,但對音符起始點的檢測影響不大,因此本文未濾除工頻交流噪聲。
為了驗證信號CQT 變換后的分布特性,圖1為一段依次由鋼琴音樂信號、高斯白噪聲信號、單頻標準正弦信號構成的序列信號及其CQT 分布。

圖1 不同信號的CQT 譜分布
如圖1 (b)所示,鋼琴音符信號的頻譜分布在其音高頻率和諧波對應的頻帶上,并且對比圖1 (a)的時域波形產生時間,音符音高對應的譜分布產生了超前和拖尾現象。高斯白噪聲信號的頻譜散布在其多個頻帶上,每個頻帶上分布的能量較小。正弦信號能量集中分布在其頻率對應的頻帶上。
本文提出的高頻加權CQT 譜能量的音符起始點檢測的流程如圖2所示。

圖2 音符起始點檢測流程
設定CQT 變換的幀移點數,按照1.2 所描述的CQT變換過程,讀取音樂信號進行CQT 變換得到按頻帶順序和幀序分布的矩陣X(K,N),設定相關函數K、b、幀移、窗函數等,采用式 (4)對整段音樂信號做CQT 變換,對其進行歸一化處理使信號的譜分布值規整在0 和1 之間,設X(K,N)的最大值為CQMAX,利用 (5)式歸一化

對實際的音樂信號中可能存在高斯白噪聲,窄帶脈沖噪聲等,可在CQT 變換后,根據這些信號CQT 分布的特點,在CQT 頻譜域進行處理,去除相關干擾。
2.2.1 設置能量門限濾除高斯白噪聲
(1)高斯白噪聲的頻譜是均勻的分布在所有頻率上,音符信號的能量稀疏分布在少數頻點上,經過CQT 變換后,在一定的信噪比條件下,每個頻點上噪聲的能量分布要遠小于音符信號的能量,通過設置門限可將其濾除。對于一般音樂信號,譜分布通常是稀疏分布的,通過實驗門限取整個分布的平均值δ,如式 (6)所示即可將噪聲濾除

(2)將歸一化后的譜分布通過門限去除噪聲,使低于門限閾值的譜值為零,如式 (7)所示

2.2.2 設置時長門限濾除短時窄帶脈沖噪聲
短時窄帶脈沖噪聲的頻點可能集中在某些頻點上,但時長有限,音符信號通常都有一個相對連續穩定的過程,通過檢測頻點上能量分布的幀長,設置幀長門限消除小于正常音符幀長的信號,在未知音樂信號節拍的情況下,按照演奏節奏Bpm 和音符占節拍的最小比例1/L(通過節拍記號計算),計算一個最小音符的時間長度Tmin,FrameInc為CQT 變換的幀移,如式 (8)所示,即為門限δL(在相關信息未知的情況下,考慮極限情況,也可按文獻 [7]音符最短為Tmin=0.0625 S計算δL),通過判別CQT 分布各頻點的連續性可以濾除短時窄帶脈沖噪聲干擾

音樂信號CQT 變換后,CQT譜信息保存在一個與音階頻率對應的譜分布矩陣X (K,N)中,根據式 (9)計算兩幀信號的CQT譜能量差分值,得到一個能量差分函數即音符起始點判決函數,音符起始點通常伴隨著相鄰幀幅值增大的情況,譜能量差值的譜峰點即為音符信號的起始點

由于CQT 變換采用變窗長計算,低頻部分的時間分辨率較低,使低頻信號譜分布產生超前及拖尾現象,利用音樂信號諧波成分豐富且時間分辨率較高的特點,在計算譜能量差分時,通過調整高頻部分和低頻部分的權值,突出高頻部分的權重,降低低頻部分時間分辨率較低帶來的影響,參照音樂信號的十二平均律分布,本文提出權值的計算公式如式 (10)所示,隨頻率的增加,權值變大,修改后的能量差分函數如式 (11)所示

譜能量差分函數的峰值點通常就是音符信號的起始點,但對于小提琴等音樂信號本身會產生所謂調制包絡,產生虛假的峰值點,為提高算法的魯棒性,減小算法的誤識率,設置一個能量門限,取差分序列的平均值作為能量門限,如式 (12)所示

判定音符起始點,設定判定條件如式 (13)所示,即如果d(n)是譜能量差分函數的峰值點,且能量的增量大于門限δd,則判定該點為音符信號的候選起始點

為防止局部峰值點造成重復檢測,設置峰值點間隔δlt如式 (14)所示,如果幾個候選起始點的間隔小于δlt,則取d(n)最大的,舍去其它的,本文中取δt=Tmin

為了驗證算法的性能,選取已標注時間的MAPS[8]庫中的一段音樂MAPS-RE-M61,加入高斯白噪聲和短時正弦脈沖干擾的混合信號采用本文算法進行實驗。
音樂信號如圖3 (a)所示,噪聲信號如圖3 (b)所示,混合后得到如圖3 (c)所示的信號。

圖3 MAPS-M61音樂信號及噪聲混合信號
對混合信號CQT 變換后的譜分布如圖4 (a)所示,按本文的算法濾波后得到的譜分布如圖4 (b)所示,說明本文算法在CQT 譜域可以濾除相關噪聲。

圖4 混合噪聲的音樂信號濾波前后的CQT 譜分布
對圖3 (c)所示的混合信號分別采用時域短時能量,原始CQT 譜分布、濾波CQT 譜分布,高頻加權CQT 譜分布進行能量差分的起始點檢測,采用CQT 譜的3組實驗參數相同。結果如圖5、表1所示,圖5中高度較高的菱形表示信號的真實起始點,高度較低的標注為本文實驗檢測的起始點。

表1 混有噪聲的MAPS-M61的音樂信號起始點檢測結果
實驗結果采用國際音樂信息檢索評估交流評比大會MIREX (music information retreval evaluation Xchange)的標準進行評價,允許誤差為50 ms,評價指標有準確率P(precision),召回率R (recall),F值 (f-measure)[9],其計算方法如下

圖5 混合噪聲的鋼琴音樂起始點檢測實驗結果

式中:Ocd、Ofn、Ofp——正確檢測點個數、未被檢出的漏檢點個數、檢測結果發生錯誤的誤檢點個數。準確率和召回率是互相制約的兩個指標,F 值是這兩種指標的綜合。
由圖表可見噪聲信號影響了短時能量差分法的檢測結果,且如圖5所示在4.5s附近由于音符間隔時間較短,能量起伏不明顯,短時能量法也出現了漏檢問題;原始CQT算法和短時能量算法效果一樣,不具備抗干擾能力,由于CQT 譜的低頻超前和拖尾使算法出現了漏檢問題;濾波的CQT 算法剔除了噪聲的影響,但在4.5s附近由于音符間隔時間較短,CQT 超前拖尾問題帶來的能量重疊產生了漏檢問題,本文的高頻加重CQT 算法準確實現了音符起始點的檢測,驗證了本文提出的高頻加權CQT 算法具有良好的抗噪能力和較準確的起始點檢測能力。
為更好地測試算法的性能,選取已標注音符起始點的ODB數據庫[10]的18首曲目以及MAPS內的32首標注曲目共50首進行實驗,曲目涵蓋多種類型,其中鋼琴曲目居多,總時長2430s,共2838個起始點,采用本文的高頻加權CQT 能量差分求得最好實驗結果,和MIXREX 最好結果比較見表2,從結果看本文算法的F 值要高于2011 和2012MIREX[9]的求解結果。

表2 本文算法和MIREX 比較
音符起始點檢測是音樂信號分析處理中關鍵的一步,本文應用改進的高頻加權CQT 譜能量進行音符起始點檢測。該算法針對音樂信號通過CQT 變換時由于不同窗長帶來的低頻時移超前和拖尾問題,利用音樂信號諧波豐富的特點,采用高頻加權的CQT 譜能量差分法實現音符起始點的檢測,采用標注的音樂數據庫驗證了算法的有效性。由于音樂信號起伏變化復雜,不同曲目判決門限的差異較大,進一步提高相關門限的自適應能力,提高算法的魯棒性是下一步研究的重點。
[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].南京:南京郵電大學,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.