本發(fā)明涉及和弦自動識別,具體講,涉及基于魯棒性音階輪廓特征(Robust Pitch Class Profiles,RPCP)和測度學習支持向量機(metric learning Support Vector Machine,mlSVM)和弦識別方法。
背景技術:
和弦識別是音樂信號處理的重要研究問題之一,它在歌曲翻唱識別,音頻匹配以及音樂推薦系統(tǒng)等領域都有重要作用。和弦作為樂曲得重要組成部分,它由三個以上的音按照三度關系疊加起來構成,充分表現(xiàn)了一段樂曲內容和特征,對于音樂的認知具有重要作用。因此,和弦在頻域的結構特征和和弦識別是計算機音樂信號處理的一個關鍵問題。
一般認為,和弦識別是音樂信息檢索的中心任務之一,它對音樂信息檢索技術的發(fā)展具有重要作用。在和弦識別的研究中,主要包括兩個方面的研究內容一個是和弦特征的提取,另一個就是模式識別方法的選擇。在音樂和弦識別的信號分析中,廣泛采用了一種叫做音級輪廓特征(Pitch Class Profiles,PCP)的信號特征。該特征將信號能量壓縮到了音樂的12個音級上,從而形成12維的特征向量。結合諧波信息,諧波音階輪廓特征被用于和弦識別系統(tǒng)中,諧波音階輪廓特征能夠有效減弱樂器的類別對和弦的影響;應用諧波積光譜與常規(guī)音階輪廓特征結合的增強音階輪廓特征,同傳統(tǒng)的音階輪廓特征相比,針對具有相同根音的和弦具有更好的識別率;結合人耳聽覺特性和音樂理論提出了新的特征向量美爾音階輪廓特征,克服了傳統(tǒng)音階輪廓特征在低頻段特征模糊和峰值出容易發(fā)生混淆的缺陷等。作為整個和弦識別系統(tǒng)的第二個階段,和弦的模式識別主要任務是對提取到的能夠表征和弦的特征向量進行分類。由于傳統(tǒng)音階輪廓特征的廣泛使用,模式識別階段成為區(qū)別各個和弦識別系統(tǒng)的關鍵步驟?,F(xiàn)今,模式識別即和弦識別分類階段所使用的方法可以分為兩大類:手動標注模板法和由音階輪廓向量訓練形成的統(tǒng)計學習模型。作為模板法的經(jīng)典方法,1999年提出二進制模板法。這種方法主要是基于理想和弦的特點,把和弦所在的主音反映在音階輪廓向量的對應維,即在對應的分量置1。例如C大調和弦的模板:[1 0 0 0 1 0 0 1 0 0 0 0]。這種方法由于簡單易于實施,從而被廣泛使用。同時,隨著人工智能領域的快速發(fā)展和大量手動和弦標注數(shù)據(jù)的涌現(xiàn),概率和弦模型越來越流行。概率和弦模型的主要思想就是為每一類和弦定義一種概率分布。其中,生成和弦模型,例如高斯模型等被大多數(shù)和弦識別系統(tǒng)所采用。另外,例如條件隨機場,結構化支持向量機等判別模型也有所應用。
到目前為止,罕見相關成熟技術報道。
技術實現(xiàn)要素:
為克服現(xiàn)有技術的不足,本發(fā)明旨在提取魯棒性音階輪廓和弦特征,并能夠快速準確的對和弦進行識別。本發(fā)明采用的技術方案是,基于魯棒性音階輪廓特征和向量機的和弦識別方法,包括下列步驟:
1)對原始音頻信號進行加窗預處理,得到音樂信號的分幀結果;
2)對分幀結果進行離散余弦變換,得到原始信號的標準音頻頻譜矩陣S;
3)假設頻譜中諧波成分矩陣A和非諧波成分矩陣E是相互獨立的,那么就有:S=A+E;矩陣通過以下凸優(yōu)化問題進行全局最優(yōu)解的求解:
其中||·||*表示矩陣的核范數(shù),即矩陣的奇異值之和;||·||1表示矩陣的一范數(shù),即所有非零元素之和;
該優(yōu)化問題通過增廣拉格朗日乘子法進行解決;
4)為了得到魯棒性PCP特征,將矩陣A乘映射矩陣P:
P表示頻譜矩陣和由RPCP向量組成的色度矩陣chromagram之間的變換矩陣,其中fi表示音樂中12平均律所定義出來的12個音階的基頻,1≤i≤12,2π·ωj則表示時頻變換后所得到的各個頻率成分的頻率值,0≤j≤N-1,另外,
通常情況下,規(guī)定音符A4處的頻率440Hz為基準頻率,并通過fA4·2b獲得其他音符處的頻率值,其中b為音符與A4之間的音程差,然后,通過映射公式(3)來對諧波矩陣A的各個頻率成分進行映射,從而獲得魯棒音階輪廓特征向量,其中2πω對應矩陣A每一行所對應的頻率值,而fi則表示音樂中通用的中央八度內12個音符所對應的頻率,通過fA4·2b獲得;
5)采用測度學習的方法對支持向量機的高斯核函數(shù)進行優(yōu)化:根據(jù)和弦特征的特點,從問題本身的先驗知識中有監(jiān)督的學習到一個距離方程,該距離方程的求解是凸優(yōu)化問題,從而使用梯度下降算法求得全局最優(yōu)解,進而用求得的轉換矩陣最優(yōu)解對支持向量機的核函數(shù)進行優(yōu)化,得到基于測度學習的高斯核函數(shù);
6)利用訓練數(shù)據(jù)對測度學習支持向量機進行訓練,確定測度學習支持向量機中的參數(shù);
7)使用訓練好的測度學習支持向量機對測試數(shù)據(jù)進行識別,得到最終的識別率。
本發(fā)明的特點及有益效果是:
本發(fā)明分別采用基于幀的常規(guī)音階輪廓特征和魯棒音階輪廓特征作為和弦特征,識別模型分為常規(guī)一對余支持向量機和一對余測度學習支持向量機。PCP+SVM(組合1)為傳統(tǒng)的和弦識別模型,傳統(tǒng)音階輪廓特征基于音樂理論,壓縮了信號的能量,但是當音樂出現(xiàn)人聲時,此時對信號頻譜能量進行壓縮,有可能在特征矩陣引入較為明顯的噪聲,使得信號能量分散,不能集中于和弦所在的音階之上,從而使和弦的識別產(chǎn)生誤差。而基于核范數(shù)約束優(yōu)化得到的魯棒音階輪廓特征(組合2)避免了這種錯誤的出現(xiàn),因此提高了識別率。第三種識別模型為RPCP+mlSVM(組合3),是三種識別組合中識別率最高的。這種識別率的提高主要集中在對具有相同根音大調和小調和弦的識別成功率上。已知相同根音大調和小調和弦一般具有兩個相同的音階,因此在識別時混淆其中的單音構成而造成識別錯誤。而第三種識別模式采用的測度學習支持向量機能夠根據(jù)先驗知識,從訓練數(shù)據(jù)中通過測度學習對支持向量機的高斯核函數(shù)進行優(yōu)化。進而,拉大不同類別和弦特征向量之間的距離,同時縮小相同和弦類型特征向量之間的距離,從而極大的提高了和弦識別率。
附圖說明:
圖1.本發(fā)明和弦識別算法流程圖。
圖2.DAG算法流程示意圖。
具體實施方式
和弦識別是音樂信息檢索領域的重要內容之一。和弦識別是自動音樂標注的基礎,在分析音樂結構以及歌曲翻唱識別等領域具有重要作用。本發(fā)明提供的方法能夠魯棒性的提取音樂信號中的和弦信息,并能夠準確的對和弦的類型進行識別。
本發(fā)明介紹一種基于魯棒音階輪廓特征和測度學習支持向量機的和弦識別系統(tǒng)。選用一種魯棒音階輪廓特征作為音頻信號的和弦特征。這種特征能夠去除信號中大而稀疏的噪聲,并重構音樂信號中的諧波信息,從而能夠獲得更加穩(wěn)定而純凈的諧波信息。另外,本文利用測度學習的方法,根據(jù)和弦特征的特點,從問題本身的先驗知識中有監(jiān)督的學習到一個距離方程,使原始特征空間投影到一個類別區(qū)分度更高的空間,使得在投影后的特征空間中,具有相同標簽的特征向量更相似,具有不同難度標簽的特征向量間區(qū)分度更大。從而改進原始SVM核函數(shù),使得改進后得到的基于測度學習的支持向量機具有更好的分辨率。最后將新的魯棒音階輪廓特征輸入測度學習支持向量機分類器中完成和弦的識別。
為克服現(xiàn)有技術的不足,提取魯棒音階輪廓特征,并能夠快速準確的對和弦進行識別,本發(fā)明采用的技術方案是,基于魯棒音階輪廓特征和基于測度學習支持向量機的和弦識別系統(tǒng),包括下列步驟:
1)對原始音頻信號進行加窗預處理,得到音樂信號的分幀結果
2)對分幀結果進行離散余弦變換,得到原始信號的標準音頻頻譜矩陣S
3)假設諧波成分矩陣A和非諧波成分矩陣E是相互獨立的,那么就有:S=A+E;因此,矩陣可以通過以下凸優(yōu)化問題進行全局最優(yōu)解的求解:
其中||·||*表示矩陣的核范數(shù)(nuclear norm),即矩陣的奇異值之和;||·||1表示矩陣的一范數(shù),即所有非零元素之和。
該優(yōu)化問題可以通過增廣拉格朗日乘子法有效地進行解決。
4)為了得到魯棒性PCP特征,將矩陣A乘映射矩陣P:
P表示頻譜矩陣和由RPCP向量組成的色度矩陣chromagram之間的變換矩陣,其中fi(1≤i≤12)表示音樂中12平均律所定義出來的12個音階的基頻,2π·ωj(0≤j≤N-1)則表示時頻變換后所得到的各個頻率成分的頻率值。另外,
通常情況下,規(guī)定音符A4處的頻率440Hz為基準頻率,并通過fA4·2b獲得其他音符處的頻率值,其中b為音符與A4之間的音程差,然后,通過映射公式(3)來對諧波矩陣A的各個頻率成分進行映射,從而獲得魯棒音階輪廓特征向量,其中2πω對應矩陣A每一行所對應的頻率值,而fi(1≤i≤12)則表示音樂中通用的中央八度內12個音符所對應的頻率,可以通過fA4·2b獲得。
5)為了提高SVM的識別率,本發(fā)明對SVM的高斯核函數(shù)進行優(yōu)化。本發(fā)明采用測度學習的方法,根據(jù)和弦特征的特點,從問題本身的先驗知識中有監(jiān)督的學習到一個距離方程。該距離方程的求解是凸優(yōu)化問題,從而可以使用梯度下降算法求得全局最優(yōu)解。進而可以用求得的轉換矩陣最優(yōu)解對SVM的核函數(shù)進行優(yōu)化,得到基于測度學習的高斯核函數(shù)。
6)利用訓練數(shù)據(jù)對mlSVM進行訓練,確定mlSVM中的參數(shù)。
7)使用訓練好的mlSVM對測試數(shù)據(jù)進行識別,得到最終的識別率。
1.實驗數(shù)據(jù)
本發(fā)明的實驗數(shù)據(jù)采用Beatles樂隊12張專輯的180收歌曲來評估分類模型,并且使用了來自學者Chris Harte對這些歌曲手動標記的標簽文件。在本文中將和弦分為25類,12個根音音級分別對應一個大調和一個小調,再加上一個無和弦類型。
2結果分析
為驗證本發(fā)明算法的有效性,將本發(fā)明所提出的基于RPCP和mlSVM的和弦識別系統(tǒng)同基于傳統(tǒng)PCP特征并采用原始多分類支持向量機來實現(xiàn)和弦識別的結果進行比較,結果如圖表1所示。
表1 識別結果對比(%)
本文分別采用基于幀的常規(guī)PCP和RPCP作為特征,識別模型分為常規(guī)one-over-allSVM和one-over-all mlSVM。PCP+SVM(組合1)為傳統(tǒng)的和弦識別模型,PCP基于音樂理論,壓縮了信號的能量,但是當音樂出現(xiàn)人聲時,此時對信號頻譜能量進行壓縮,有可能在特征矩陣引入較為明顯的噪聲,使得信號能量分散,不能集中于和弦所在的音階之上,從而使和弦的識別產(chǎn)生誤差。而基于核范數(shù)約束優(yōu)化得到的RPCP特征(組合2)避免了這種錯誤的出現(xiàn),因此提高了識別率。第三種識別模型為RPCP+mlSVM(組合3),是三種識別組合中識別率最高的。這種識別率的提高主要集中在對具有相同根音大調和小調和弦的識別成功率上。已知相同根音大調和小調和弦一般具有兩個相同的音階,因此在識別時混淆其中的單音構成而造成識別錯誤。而第三種識別模式采用的mlSVM能夠根據(jù)先驗知識,從訓練數(shù)據(jù)中通過測度學習對SVM的高斯核函數(shù)進行優(yōu)化。進而,拉大不同類別和弦特征向量之間的距離,同時縮小相同和弦類型特征向量之間的距離,從而極大的提高了和弦識別率。
下面結合一個具體實例進一步詳細說明本發(fā)明。
1.音樂信號轉換
將待輸入音樂信號轉換為采樣率44100Hz,16bit,單通道,成為被參考的標準音頻。
2.獲得標準音頻頻譜矩陣
將標準音頻。設音樂波形的時域信號為x(l)、加窗分幀處理后得到的信號為Xn(m),則xn(m)滿足:xn(m)=w(m)x(n+m),0≤m≤N-1,其中,n=0,T,2T,…,N為幀長,T為幀移長度。為矩形窗。設定幀長N=12ms,幀移長度T=6ms,相鄰幀有50%的重疊。隨后,使用短時傅里葉變換對分幀信號進行時頻變換。每一幀采用1024點的快速傅里葉變換。得到的標準音頻頻譜矩陣S=F·Xn(m),其中F為傅里葉變換矩陣。
3.頻譜矩陣的核范數(shù)約束優(yōu)化
本發(fā)明采用采用曾廣拉格朗日乘子法對本發(fā)明所提出的優(yōu)化問題進行求解。所構建的拉格朗日函數(shù):
其中,Y稱為拉格朗日乘子,μ,λ是正懲罰參數(shù),||·||F是Frobenius范數(shù)。YY0=S/max(S,1/λ·||S||∞)以作為其迭代初始值,這是因為要使目標函數(shù)的值盡可能大,并且能夠使算法的收斂速度在數(shù)量級。
ALM算法每部迭代公式如下:
Yk+1=Yk+μk(Sk-Ak-Ek) (5)
在上式的每一步迭代中,都會通過奇異值分解(SVD)對目標函數(shù)求取奇異值。另外,算法所要保留的奇異值會根據(jù)如下軟閾值操作,這個操作會同時擴展到矩陣:
其中μ-1為閾值,同時與矩陣A的奇異值相關聯(lián)。當通過奇異值約束重建低秩矩陣A時,閾值μ-1的更新策略將會極大地影響恢復出來的矩陣的細節(jié)和算法的收斂速度。因此,基于和弦在色度矩陣上的分布情況,本文對原始ALM算法的閾值選擇技術進行優(yōu)化,根據(jù)每一步迭代產(chǎn)生的頻譜矩陣A進行方差最大化約束,從而能夠極大的加快收斂。具體步驟如下:
初始化奇異值截斷閾值參數(shù)μ,參數(shù)λ,迭代索引k=0,臨時矩陣Y0=S,E0為全零矩陣;進行奇異值分解得到奇異值矩陣Σ;接著,從μk到1.5μk等間隔選取二十個數(shù)據(jù)點其中1≤i≤20,對于每個進行奇異值分解逆操作由于諧波成分只分布在數(shù)個頻率點上,因此計算矩陣中某一列的方差,并從中選取使得方差最大時,所對應的索引i,并使即完成閾值自適應選擇算法;計算這一步得到的矩陣更新Yk+1=Yk+μk(S-Ak+1-Ek+1)和k=k+1。
4.頻譜矩陣轉換為PCP特征矩陣
本發(fā)明為了得到魯棒性PCP特征,需要將矩陣A乘映射矩陣P:
P表示頻譜矩陣和由RPCP向量組成的色度矩陣chromagram之間的變換矩陣,其中fi(1≤i≤12)表示音樂中12平均律所定義出來的12個音階的基頻,2π·ωj(0≤j≤N-1)則表示時頻變換后所得到的各個頻率成分的頻率值。另外,
通常情況下,規(guī)定音符A4處的頻率440Hz為基準頻率,并通過fA4·2b獲得其他音符處的頻率值,其中b為音符與A4之間的音程差。然后,通過映射公式(3)來對諧波矩陣A的各個頻率成分進行映射,從而獲得魯棒音階輪廓特征向量,其中2πω對應矩陣A每一行所對應的頻率值,而fi(1≤i≤12)則表示音樂中通用的中央八度內12個音符所對應的頻率,可以通過fA4·2b獲得。
5.獲取測度學習矩陣
用下面的優(yōu)化問題對轉換矩陣T進行求解:
其中空間是相似對,即同一和弦所對應的RPCP向量所形成的空間;而是非相似對,即不同和弦所對應的RPCP向量所形成的空間。
可以看出,該優(yōu)化問題是凸優(yōu)化問題,從而可以使用梯度下降算法求得全局最優(yōu)解。進而可以用求得的轉換矩陣最優(yōu)解對支持向量機的核函數(shù)進行優(yōu)化,得到如下的基于測度學習的高斯核函數(shù):
6.使用基于有向圖策略測度學習支持向量機對和弦進行識別
支持向量機是一種兩類分類器,但是在本發(fā)明的研究中依據(jù)音樂理論知識將音樂和弦分為25類,包括12類大調和弦,,12和類小調和弦,其他和弦作為第25類和弦,因此需要將該兩類分類器變換到多類分類器。在文本分類中,最常用的一種算法是有向圖(Directed Acyclic Graph,DAG)算法,本發(fā)明和弦識別類和弦研究中也采用此算法進行多類和弦的分類。
將12類大調和弦和12類小調和弦的標簽文件,為別依次標記為數(shù)字1,2,…,24;在和弦分類時,對該類和弦分類采用的DAG算法,它的表示形式是一個有向無環(huán)圖,如圖2所示。在和弦分類時,首先由分類器判斷“對”,若判斷結果是,則沿算法往左判斷接著判斷“對”,判斷結果為,則繼續(xù)往左判斷,依此類推,這樣一直判斷下去就可以得到整個歌曲每個節(jié)拍內的和弦類別。同理,其他種類的和弦識別過程類似。