熊天,張?zhí)祢U,聞斌,吳超
(重慶郵電大學(xué)通信與信息工程學(xué)院,重慶 400065)
音樂是表達人們內(nèi)心情感的一種方式,不同類型的音樂表達了不同的情感。在實際應(yīng)用中有很多場景需要用到這些信息,例如歌手識別、音樂信息檢索和歌詞識別。但是,當(dāng)背景伴奏存在時,會對歌聲的識別與分析產(chǎn)生干擾。所以分離歌聲與背景伴奏是很有必要的。
人類聽覺系統(tǒng)在從背景伴奏中分離出歌聲方面具有很強的能力。雖然這對于人類來說毫不費力,但是對于機器來說卻很困難。面對困難,很多學(xué)者也提出了諸多歌聲伴奏分離的方法。Erdogan等[1]將譜掩碼非負矩陣分解(Non-negative Matrix Factoriza‐tion,NMF)方法應(yīng)用到了歌聲分離領(lǐng)域并且取得了不錯的分離效果。文獻[2-3]中提出將概率窗與非負矩陣分解結(jié)合的一種算法。但是NMF 是一種有監(jiān)督算法并且非常依賴處理樣本和缺乏泛化性。張?zhí)斓萚4]也將二維傅里葉變換(two Dimension Fourier Transform,2DFT)應(yīng)用到音樂分離任務(wù)中,主要是利用2DFT得到音樂的聲譜圖,利用圖像的濾波來確定周期性峰值的位置,最后使用矩形窗來構(gòu)建掩蔽進行分離。Nerkar等[5]將經(jīng)驗小波變換應(yīng)用到了音樂分離中,該方法利用經(jīng)驗小波變換對信號進行有效分解,然后尋找信號的重復(fù)背景來區(qū)分聲樂部分和非聲樂部分。音樂包含了節(jié)奏這一重要的元素,而重復(fù)就是節(jié)奏的一個重要的特征,基于此,Raffi 等[6]提出了一種重復(fù)模式提取技術(shù)(Repeating Pattern Extraction Technique,REPET),通過自相關(guān)矩陣提取節(jié)奏譜[7],進而得到背景音樂的重復(fù)周期,以此來建立背景音樂的反復(fù)結(jié)構(gòu)來進行音樂分離,但是節(jié)奏譜對曲調(diào)依賴性較高,而且得到的反復(fù)周期是固定的,缺少泛化性。針對REPET 的問題,張?zhí)祢U等[8]提出了多反復(fù)結(jié)構(gòu)模型的音樂分離算法,該算法不再是利用傳統(tǒng)的節(jié)奏譜來確定反復(fù)結(jié)構(gòu),而是利用整體的梅爾頻率倒譜系數(shù)(Mel Fre‐quency Cepstrum Coefficients,MFCC)相似矩陣[9]來獲取反復(fù)信息,提升了模型的泛化性,但是它存在著歌聲在低頻部分分離不完全的缺點。Huang等[10]從一個假設(shè)出發(fā),即音樂伴奏等級低、變化少,而歌聲更加稀疏,提出了魯棒主成分分析(Robust Principal Component Analysis,RPCA)算法對單通道音樂進行分離,將混合音樂分解成為低秩矩陣(背景音樂部分)稀疏矩陣(歌聲部分),但是分離出的歌聲中往往伴有著低鼓等打擊樂器聲源,歌聲分離不完全。
隨著深度學(xué)習(xí)的發(fā)展,越來越多學(xué)者將神經(jīng)網(wǎng)絡(luò)運用到語音分離的任務(wù)中,目前市場上的音樂分離軟件(如:SpleeterGui、SongDonkey 以及Audio Jam等)都是基于深度學(xué)習(xí)框架開發(fā)的。由于卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)在參數(shù)量和計算資源消耗方面都要比傳統(tǒng)神經(jīng)網(wǎng)絡(luò)如:深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)等都要小,所以目前歌聲分離領(lǐng)域大部分都是基于CNN 架構(gòu)來進行的。Naoya等[11]提出了一種D3NET進行音樂源分離并且取得了在頻域分離領(lǐng)域較為先進的性能。文獻[12]還將高分辨率網(wǎng)絡(luò)來進行歌聲分離。Bhat‐tarai等[13]提出了一種平行沙漏網(wǎng)絡(luò)結(jié)構(gòu)來進行歌聲分離,該方法將混合音樂幅度譜按頻率維度分離3部分:上半部分幅度譜、下半部分幅度譜和全頻帶幅度譜。Zhang等[14]基提出了一種復(fù)雜域中的多任務(wù)音頻源分離模型,它利用語音、音樂和噪聲三種音頻信號的頻譜特性差異將它們從單通道混合信號中分離出來。文獻[15-17]還提出了一系列端到端的網(wǎng)絡(luò),這使得在分離任務(wù)中不僅考慮了幅度特性,而且還考慮到了相位特性,使分離變得更加全面。2021年,F(xiàn)acebook人工智能研究所[18]在之前研究的DEMUCS[12]架構(gòu)的基礎(chǔ)上又提出了一種時域與頻域混合的音樂源分離模型,取得了超過頻域模型D3NET 的分離性能,是目前性能最優(yōu)的模型。雖然深度學(xué)習(xí)方法普遍比傳統(tǒng)方法分離效果好,但是由于深度學(xué)習(xí)是需要大量數(shù)據(jù)集來進行訓(xùn)練和測試,需要耗費大量時間,而傳統(tǒng)方法沒有此過程,耗費時間更少。
上述RPCA方法可以將混合音樂信號分解為稀疏矩陣(歌聲部分)和低秩矩陣(伴奏部分),但是如果伴奏中含有打擊樂如低鼓、架子鼓等時,由于這些樂器在時域上也表現(xiàn)出和歌聲一樣的稀疏性,這樣就會將其錯誤地分到歌聲部分導(dǎo)致歌聲分離不完全。MFCC反復(fù)結(jié)構(gòu)能夠?qū)⒏枨械姆磸?fù)部分和非反復(fù)部分分離出來,但是分離出的歌聲在低頻處含有未分離出的背景音樂。單獨的歌聲分離算法不能很好地將歌聲與背景音樂分開,因此本文將RPCA方法和MFCC反復(fù)結(jié)構(gòu)進行結(jié)合并構(gòu)建了掩蔽模型,實驗也證明了本文方法在歌聲分離方面的優(yōu)越性。
對于RPCA算法分離出的歌聲中含有未分離背景音樂聲源的重復(fù)度要比歌聲高的這一特性,結(jié)合梅爾頻率倒譜系數(shù)反復(fù)結(jié)構(gòu)能將反復(fù)部分和非反復(fù)部分分離開,本文提出了一種基于魯棒主成分分析(RPCA)和梅爾頻率倒譜系數(shù)(MFCC)反復(fù)結(jié)構(gòu)的音樂分離算法。該算法能將稀疏矩陣中殘留的背景音樂聲源和歌聲進一步分離出來,對于MFCC反復(fù)結(jié)構(gòu)在低頻處歌聲分離效果差的問題也有進一步的改進。其中,在提取反復(fù)結(jié)構(gòu)中反復(fù)周期的過程中使用了MFCC參數(shù)建立的相似矩陣來代替?zhèn)鹘y(tǒng)的節(jié)奏譜,不僅提高了模型的泛化能力,而且更加符合音樂的實際情況。
RPCA也是基于重復(fù)是音樂的基本原理這一理念而開發(fā)的。假設(shè)音樂伴奏等級較低,變化較小,而人聲變化較大,但是在音頻混合中比較稀疏。在分解的過程中就演變成了式(1)中的凸優(yōu)化問題[19],但是有些樂器聲源和歌聲一樣也表現(xiàn)出稀疏性,所以分離后的歌聲里中往往含有被錯誤分到稀疏矩陣的音源,這使得歌聲分離性能不佳。
式中:D為原始混合信號矩陣,A為低秩矩陣,E為稀疏矩陣,λ為低秩矩陣和稀疏矩陣之間的折中系數(shù),‖ · ‖*表示核范數(shù),‖ · ‖1表示1范數(shù)。
對于式(1)中使用了非精確的增廣拉格朗日乘子[20](Inexact Augmented Lagrange Multiplier)的方法來對凸優(yōu)化問題進行求解。首先是構(gòu)造拉格朗日函數(shù),然后通過增加懲罰項將有約束的問題轉(zhuǎn)化為無約束問題:
輸入:觀測矩陣D,λ。
(1)Y0=D/J(D);E0=0;μ0>0;ρ>1;k=0。
(2)當(dāng)算法不收斂時執(zhí)行下面步驟。
(3)通過式(3)~(5)求解Ak+1。
(4)通過式(6)、(7)求解Ek+1。
(5)求解Yk+1。
(6)更新μk至μk+1。
(7)迭代次數(shù)k更新為k+1。
(8)如果收斂則結(jié)束迭代。
輸出:(Ak,Ek)。
在以上算法流程中,ρ是μ更新時的步長,k為迭代的次數(shù),svd(·)表示奇異值分解,U和V表示奇異值分解得到的正交矩陣,S為對角矩陣。
Rafii等[6]提出的基于反復(fù)結(jié)構(gòu)的音樂分離算法(REPET)模型是建立在節(jié)奏譜的基礎(chǔ)上的,在節(jié)奏譜的獲取中采用能量信息作為特征。與傳統(tǒng)的節(jié)奏譜比較,MFCC參數(shù)能體現(xiàn)全局性能并且包含著音樂的整體信息,但是也存在歌聲在低頻處不能完全分離的缺點。MFCC反復(fù)結(jié)構(gòu)算法分離模型如圖1所示。
圖1 MFCC多反復(fù)結(jié)構(gòu)分離模型示意圖Fig.1 Diagram of MFCC multi-repeated structure separation model
首先,將輸入信號通過一個高通濾波器來提升高頻部分并且使得信號頻譜變得平坦,再對信號進行加窗分幀以及快速傅里葉變換(Fast Fourier trans‐for,FFT),隨后將FFT得到的頻譜通過一個梅爾濾波器組來將諧波作用消除掉,使得原先語音的共振峰更突出,然后對濾波器組的輸出取對數(shù),分別計算對數(shù)能量和提取MFCC系數(shù),然后根據(jù)MFCC系數(shù)來計算其一階差分和二階差分,最后將一階差分、二階差分、MFCC系數(shù)和對數(shù)能量進行組合得到MFCC特征參數(shù)。一階差分dt、二階差分C(n)、MFCC系數(shù)和對數(shù)能量s(m)的計算式分別為式(9)、(10)和(11)。
式中:dt為第t個一階差分,Ct為第t個MFCC 系數(shù),Q為MFCC 系數(shù)階數(shù),K為一階導(dǎo)數(shù)的時間差,將式(9)結(jié)果再代回式(9)就能到二階差分。
式中:m為第m個Mel濾波器(共有M個),n表DFT后的譜線個數(shù)。
式中:E(j)為每一幀譜線的能量,j為頻域中的第j條譜線。接下來對MFCC特征參數(shù)進行相似運算,并且通過余弦相似性計算出相似矩陣SMFCC,表達式為
式中:i為頻率點,n為MFCC參數(shù)維數(shù),j為幀數(shù),L(i,ja)、L(i,jb)為第i幀、第ja譜線和第i幀、第jb譜線下MFCC 參數(shù)矩陣。圖2 為MIR-1K 數(shù)據(jù)庫中amy_1_01 .wav音樂片段的MFCC相似矩陣。
圖2 MIR-1K中amy_1_01.wav音樂片段的MFCC相似矩陣Fig.2 The MFCC similarity matrix of amy_1_01.wav music clip in MIR-1K
然后,根據(jù)求得的相似矩陣SMFCC將相似度接近的部分拼接在一起,找到在幅度譜V中對應(yīng)的片段并且進行中值濾波得到相應(yīng)幀處的反復(fù)結(jié)構(gòu)模型S(i,j),計算公式為
式中:i為頻率點,j為幀數(shù),h為片段數(shù)量,median(·)表示中值濾波器,V[i,Jj(l)]為頻率點i的第l個重復(fù)片段的信號幅度譜,Ji=[J1,…,Jl],是具有相同反復(fù)結(jié)構(gòu)片段組成的向量。當(dāng)尋找相似片段時,具體包括如下限制:
(1)反復(fù)結(jié)構(gòu)的最大長度、最小長度需要通過音樂片段的長度來限定;
(2)需要通過反復(fù)片段持續(xù)的時間來確定門限;
(3)根據(jù)相似矩陣確定片段之間的相似度,相似度大于門限值的兩個片段為相似片段。
文中設(shè)置的相似度門限值為0.6,如圖2所示,如果兩個片段相似度大于或等于0.6的就會被認為是一個重復(fù)片段,整合在一起記作J。
圖3所示為生成最終掩蔽矩陣的流程圖。首先用低秩矩陣A或稀疏矩陣E的幅度譜與對應(yīng)的反復(fù)結(jié)構(gòu)模型SA或SE比較,并且取最小值來得到反復(fù)部分的幅度譜,其中反復(fù)部分對于稀疏矩陣E來講就是歌聲中重復(fù)度更高的背景音樂,對于稀疏矩陣E來講就是除去了殘留人聲后的背景音樂。最后使用低秩矩陣E的幅度譜來歸一化對應(yīng)的背景音樂(反復(fù)部分)幅度譜,對于低秩矩陣A也是如此。最終得到了掩蔽矩陣M1和M2。
圖3 掩蔽模型建立流程圖Fig.3 Flow chart of masking model establishment
文獻[5]中提到,可以假設(shè)非負的譜圖是一個非負的重復(fù)譜圖(反復(fù)部分)和一個非負的非重復(fù)譜圖(非反復(fù)部分)組成的。以求稀疏矩陣中反復(fù)部分的掩蔽矩陣為例,則有:
式中:V1為稀疏矩陣中含有未分離背景音樂的幅度譜(反復(fù)部分),V′1為二次分離后歌聲的幅度譜(非反復(fù)部分),Ek為稀疏矩陣的幅度譜。
接下來使用稀疏矩陣的幅度譜Ek與求出的反復(fù)結(jié)構(gòu)模型SE進行比較取最小值來得到稀疏矩陣中未分離背景音樂的幅度譜V1,計算公式為
式中:Ek(i,j)為稀疏矩陣E中對應(yīng)頻率為i、幀數(shù)為j時的幅度譜,V1(i,j)為稀疏矩陣中未分離背景音樂中對應(yīng)頻率為i、幀數(shù)為j的幅度譜,SE(i,j)為頻率為i、幀數(shù)為j時對應(yīng)的反復(fù)結(jié)構(gòu)模型。
最后通過稀疏矩陣幅度譜Ek來歸一化V1得到稀疏矩陣對應(yīng)的掩蔽矩陣M1,其表現(xiàn)為:屬于反復(fù)片段的部分為1,其余為0,計算公式為
本文提出的基于RPCA和MFCC反復(fù)結(jié)構(gòu)的音樂分離方法,流程圖如圖4所示。假設(shè)背景伴奏具有低秩的特性,歌聲具有稀疏的特性[10],對輸入的混合音樂信號做短時傅里葉變換,然后分別提取相位譜和幅度譜,對幅度譜進行RPCA分解,成為含有背景音樂的低秩矩陣Ak以及含有歌聲的稀疏矩陣Ek。然后結(jié)合相位得到對應(yīng)的時域信號SA和SE。
圖4 本文提出的分離模型流程圖Fig.4 The flow chart of the separation model proposed in this paper
接下來,分別對SA和SE提取MFCC 特征參數(shù)并且通過余弦相似性計算其相似矩陣SA-MFCC(ja,jb)和SE-MFCC(ja,jb),計算公式分別為
本文使用39 維MFCC 參數(shù)而不是只使用MFCC系數(shù),它包含1維能量信息、12維梅爾系數(shù)以及它們的一階差分、二階差分。
一階差分和二階差分參數(shù)反映出了語音的動態(tài)特性,而標(biāo)準(zhǔn)的MFCC系數(shù)則反映出了語音的靜態(tài)特性,所以將這三者結(jié)合起來能夠有效提升系統(tǒng)的識別性能。一段語音通過Mel濾波器組后它的音調(diào)或音高不會呈現(xiàn)在MFCC參數(shù)內(nèi),這使得以MFCC作為特征的系統(tǒng)并不會受到輸入語音的音調(diào)不同而有所影響,這也間接地提升了模型的泛化性。
然后通過相似矩陣與對應(yīng)幅度譜比較來提取相似片段并進行中值濾波,在比較時幅度譜上與相似矩陣偏差很小的部分將構(gòu)成一個重復(fù)模式并將被中值濾波捕獲,相反,偏差很大的部分將不會構(gòu)成一個重復(fù)模式,并會被中值濾波移除。最后將所有的重復(fù)模式結(jié)合起來分別建立反復(fù)結(jié)構(gòu)模型SA和SE計算公式分別為
這里的中值濾波實際使用的是幾何平均值,文獻[7]發(fā)現(xiàn)幾何平均值能更好地區(qū)分重復(fù)和非重復(fù)結(jié)構(gòu)。
接下來,分別計算低秩矩陣A和稀疏矩陣E的幅度譜將其與對應(yīng)的反復(fù)結(jié)構(gòu)模型進行比較得到背景音樂1和2的幅度譜V1和V2,這里使用最小值函數(shù)進行比較,計算V1,V2公式分別為
通過低秩矩陣幅度譜Ak來歸一化V1,用稀疏矩陣幅度譜Ek來歸一化V2,分別得到掩蔽矩陣M1和M2,掩蔽矩陣中屬于反復(fù)片段的部分在M1和M2中的值為1,其他情況為0,M1、M2的計算公式為
最后分別通過掩蔽矩陣M1和M2與低秩矩陣的頻譜XA和XE相乘得到背景音樂1和2的頻譜,歌聲的頻譜為稀疏矩陣頻譜減去背景音樂2的頻譜,最后總的背景音樂頻譜為背景音樂1的頻譜和背景音樂2中除去歌聲后的頻譜的和,最后做傅里葉逆變換得到最終的背景音樂信號和歌聲信號。
(1)計算輸入混合音樂信號的短時傅里葉變換,記為D,并且提取其相位:
(2)使用上文中的非精確拉格朗日乘子算法來優(yōu)化式(2),得到Ak和Ek。
(3)將得到的Ak和Ek與式(25)結(jié)合得到:
式中:m=1…n1,n=1…n2,然后進行短時傅里葉逆變換,得到經(jīng)過RPCA分離后的背景音樂時域信號SA和歌聲時域信號SE。
(4)根據(jù)式(9)、(10)和(11)分別對SA和SE提取MFCC特征參數(shù),并且通過式(12)和式(17)、(18)分別計算出其相似矩陣。
(5)通過式(7)和式(19)、(20)分別計算反復(fù)結(jié)構(gòu)模型。
(6)假設(shè)反復(fù)部分與非反復(fù)部分的幅度譜是相互獨立的,則有:
式中:V1為稀疏矩陣中含有背景音樂部分的幅度譜;V′1為二次分離后歌聲的幅度譜;V2為反復(fù)部分;V′2為非反復(fù)部分。
(7)通過式(15)和式(21)、(22)計算得到背景音樂1和背景音樂2的幅度譜V1、V2。
(8)通過式(16)和式(23)、(24)計算得到背景音樂1和背景音樂2的掩蔽矩陣。
(9)掩蔽矩陣與頻譜XA和XE相乘并且進行傅里葉逆變換,得到最終背景音樂和歌聲:
式中:F-1為傅里葉逆變換,為最終分離得到的歌聲信號,為最終分離得到的背景音樂信號。
本文使用公開的數(shù)據(jù)集MIR-1K[21]對文中提出的算法進行性能評估。該數(shù)據(jù)集是由Hsu和Jang收集,它包含有1 000首音樂片段,音樂片段的采樣率為16 kHz,長度為4~13 s,均是由一些歌唱業(yè)余愛好者演唱的。背景音樂與歌聲分別存入左右聲道。
3.2.1 盲源分離工具箱
在結(jié)果性能評估階段通常使用的是BSS_EVAL[22]工具箱來衡量分離方法的性能。假設(shè)分離后的估計信號為,可將其分解為4 個部分,數(shù)學(xué)表達式為
式中:starget(t)表示目標(biāo)信號源的部分;einterf(t)表示由其他信號源引起的估計誤差;enoise(t)表示噪聲對觀察信號產(chǎn)生的干擾誤差;eartif(t)表示算法本身產(chǎn)生的系統(tǒng)噪聲誤差。
在一首歌曲中,相對于歌聲和背景音樂之間的相互干擾,噪聲對音樂的影響可以忽略掉,所以刪去式(32)中的誤差enoise(t)。剩下的三個誤差分別形成了三個衡量分離性能的參數(shù),分別為源干擾比(Source to Interference Ratio,SIR)RSI、源偏差比(Source to Distortion Ratio,SDR)RSD和源偽影比(Source to Artifacts Ratio,SAR)RSA,計算公式為
式中:RSI、RSD和RSA分別用來衡量算法的分離度、算法的噪聲性能和算法的魯棒性。三個值越高也就代表算法的性能越好。
3.2.2 主觀評價標(biāo)準(zhǔn)
主觀評價標(biāo)準(zhǔn)(Mean Opinion Score,MOS)是采用打分的形式來評價語音質(zhì)量的標(biāo)準(zhǔn)。它是由所有聽眾對每一段音樂所給出的分數(shù)的算術(shù)平均數(shù),計算公式為
式中:N為聽眾人數(shù),Rn為特定樂曲的個別MOS,即分離的背景音樂或歌聲。打分形式采用滿分為5分的標(biāo)準(zhǔn):5分表示聽感優(yōu)秀;4分表示聽感良好;3分表示聽感尚可;2分表示聽感較差;1分表示聽感劣質(zhì)。
在MIR-1K 數(shù)據(jù)集中任意抽取一首音樂片段,使用本文所提方法進行分離。以abjones_1_01.wav為例。圖5為原始歌聲和使用三種方法分離出的歌聲語譜圖。
圖5 原始歌聲和使用三種分離算法分離出的歌聲語譜圖Fig.5 Spectrograms of the original song and the voices separated by three separation algorithms
原始歌聲和使用三種方法分離出歌聲的時域波形如圖6所示。
圖6 原始歌聲和采用三種分離算法分離出歌聲的時域波形Fig.6 Waveforms of the original song and the voices separated by three separation algorithms
比較圖5(a)和圖5(c)可以看出,使用RPCA 分離后的歌聲中混有未能成功分離的部分背景音樂。比較圖5(a)與圖5(d)可以看出,使用MFCC多反復(fù)結(jié)構(gòu)在頻率3 000 Hz以下分離出的歌聲含有著較多的背景音樂的能量,尤其是在0~1 000 Hz 內(nèi),分離的效果較差。對比圖5(b)、圖5(d)和圖5(c)可以看出,使用本文提出方法分離后的歌聲在MFCC多反復(fù)結(jié)構(gòu)缺點(即在低頻時分離效果不理想)方面有了進一步的提升,同時相比于RPCA算法,本文提出方法分離出的歌聲語譜圖中含有的背景音樂的能量明顯減少。
由圖6可以看出,使用RPCA分離出的歌聲波形相比于原始波形有著明顯的失真,非語音段毛刺幅度很大;使用MFCC多反復(fù)結(jié)構(gòu)分離出的歌聲波形雖然相比于RPCA 非語音段的毛刺幅度變小了,但是歌聲段的波形和原始波形不夠吻合;本文提出的方法分離出的歌聲波形相比于RPCA方法,在語音段與非語音段的提升較明顯,相比于MFCC多反復(fù)結(jié)構(gòu)來說,與原始歌聲波形相比,語音段波形吻合度得到了進一步提升,非語音段的毛刺的幅度變得更平穩(wěn)。
為了進一步說明本文方法相對于MFCC多反復(fù)結(jié)構(gòu)框架和RPCA的優(yōu)越性,從MIR-1K的1 000首音樂片段中隨機選取了5首音樂片段進行分離后計算其SDR、SIR 和SAR(抽取的音樂片段為:“yi‐fen_3_11.wav”“Tammy_1_04.wav”“Leon_7_13.wav”“abjones_3_09.wav”“bobon_5_07.wav”),結(jié)果如圖7所示。
圖7 不同算法對5首音樂片段所分離出的歌聲的性能比較Fig.7 Performance comparison between the voices separated by different algorithms from 5 music clips
由圖7可以看出,本文提出的方法在三個分離指標(biāo)(即SDR、SIR 和SAR)上均優(yōu)于MFCC 多反復(fù)結(jié)構(gòu)和魯棒主成分分析(RPCA)。在SDR 值上相對于RPCA 算法最高有5 dB 左右的提高,相比于MFCC多反復(fù)結(jié)構(gòu)最高也有接近3 dB的提高,這說明了本文算法分離出的歌聲的整體失真情況更小。SIR 的提升比較明顯,相比于其他兩種算法有2~11 dB的提高,這也說明本文提出的算法的歌聲分離度更好。
本文還進行了主觀聽感測試(MOS),選取10個被試,其中5 個男生一組,5 個女生一組。分別對MFCC多反復(fù)結(jié)構(gòu)、RPCA和本文提出方法得到的歌聲和背景音樂的分離質(zhì)量進行評價,結(jié)果如表1所示。
表1 不同算法對隨機5首音樂片段的MOS測試結(jié)果對比Table 1 Comparison of MOS test results of 5 random music clips by different algorithms
從主觀聽感測試可以看出,本文算法能夠很好地分離出歌聲和背景音樂,雖然分離出來的歌聲還是不夠純凈,伴有著微小的音樂噪聲,但是相比于其他兩種算法分數(shù)有較大提升。對于背景音樂本文算法的聽感明顯優(yōu)于RPCA方法,相比于多反復(fù)結(jié)構(gòu)聽感也有一定的提升。
本文還選取了MIR-1K 數(shù)據(jù)庫中1 000 首音樂片段使用不同的算法來進行處理,分別計算其歌聲與背景音樂的SDR、SIR 和SAR。對比算法為REPET算法、多反復(fù)結(jié)構(gòu)以及RPCA算法。比較結(jié)果如表2和表3所示。通過表2和表3可以看出,在分離背景音樂時,本文算法相比于其他三種算法的平均SIR 提高了1~2 dB,說明了本文方法分離的背景音樂分離度好。在分離歌聲時,本文算法相比于其他三種算法的平均SIR 提高了約3~7 dB,說明本文方法的歌聲分離度得到了很大的提高,算法魯棒性也更好。平均SDR也提高了1~4 dB,說明分離出的歌聲信號整體失真更小。
表2 不同方法對1 000首音樂片段背景伴奏分離性能的比較Table 2 Comparison of average results of background accompaniment separation performance for 1 000 music clips by different algorithms
表3 不同方法對1 000 首音樂片段歌聲分離性能的平均結(jié)果比較Table 3 Comparison of average results of singing voice separation performance for 1 000 music clips by different algorithms
基于單一的傳統(tǒng)歌聲分離方法難以將歌聲和伴奏徹底分離的問題,本文提出了一種基于RPCA和MFCC反復(fù)結(jié)構(gòu)的歌聲伴奏分離方法。該方法在使用RPCA 將混合音樂信號分解為低秩矩陣(背景音樂部分)和稀疏矩陣(歌聲部分)時,由于有些樂器也表現(xiàn)出和歌聲一樣的稀疏性,使得這部分樂器音源會被錯誤地分到歌聲中。這部分樂器音源的重復(fù)性要比歌聲要高,所以通過提取的MFCC參數(shù)來建立反復(fù)結(jié)構(gòu)模型,然后結(jié)合最后構(gòu)建的掩蔽模型來進一步將混在歌聲中的背景音樂分離出來。實驗結(jié)果表明,單獨使用MFCC反復(fù)結(jié)構(gòu)會存在歌聲在低頻處分離效果不佳的問題,本文提出將兩者結(jié)合可以有效地改善RPCA 和MFCC 反復(fù)結(jié)構(gòu)中存在的問題。
實驗在對MIR-1K 數(shù)據(jù)庫中1 000 首音樂片段進行處理后,本文方法較其他3 種算法的平均SIR最高提高了約7 dB,說明本文方法的歌聲分離效果很好,同時平均SAR 最高提高了約3 dB,也說明了本文方法的魯棒性較好。平均SDR 最高提高了約4 dB,說明本文方法分離出的歌聲失真度是最小的。從數(shù)據(jù)和聲譜圖來看,本文方法能夠在RPCA分離的基礎(chǔ)上將殘留在歌聲中的背景音樂成功分離出來,同時也改善了MFCC多反復(fù)結(jié)構(gòu)在低頻處歌聲分離性能不理想的情況。綜上所述,本文方法能夠有效分離歌曲中的歌聲和背景音樂。