曹 偲,吳修坤,劉華平
(網(wǎng)易云音樂 杭州網(wǎng)易云音樂科技有限公司技術(shù)中心,浙江 杭州 310052)
Cherry 最先提出“雞尾酒會(huì)效應(yīng)”,即在嘈雜的環(huán)境中,人類可以輕易地將注意力集中于某一個(gè)說話者[1]。后來Bregman 試圖研究人腦如何分析復(fù)雜的聽覺信號(hào),并提出了聽覺場(chǎng)景分析框架。有別于“雞尾酒會(huì)效應(yīng)”的源分離,音樂分離的分離目標(biāo)是組成歌曲的多個(gè)獨(dú)立的信號(hào)源,如干聲、伴奏成分。特別地,在SISEC 2018 音樂分離任務(wù)比賽中,獨(dú)立的信號(hào)成分被細(xì)化為多個(gè)分軌信號(hào),包括干聲、鼓點(diǎn)、貝斯以及其他成分等[2]。近幾十年來,由于很難對(duì)背景伴奏和干聲進(jìn)行有效建模,音樂分離一直是一個(gè)難題。直到近期,基于深度學(xué)習(xí)的方法在音樂分離中取得了較好進(jìn)展。按照網(wǎng)絡(luò)結(jié)構(gòu),這些優(yōu)秀的音樂分離方法大致可以分為3 類,即基于CNN 網(wǎng)絡(luò)的分離方法[3-6]、基于LSTM 的分離方法[7-8]以及RNN 和CNN 結(jié)合的分離方法[9-10]。LSTM 網(wǎng)絡(luò)考慮了語音信號(hào)的時(shí)序相關(guān)性,但是由于時(shí)間依賴性無法進(jìn)行并行運(yùn)算,使得網(wǎng)絡(luò)計(jì)算耗時(shí)較長。CNN 通過感受野獲取信號(hào)局部特征,為了獲取更大的感受野,需要更深層的CNN 網(wǎng)絡(luò),但深層網(wǎng)絡(luò)意味著網(wǎng)絡(luò)變大,且更加難訓(xùn)練。
此外,按照輸入方式,這些方法可以分為兩類:一類是輸入時(shí)域波形特征(如Wav-U-Net[3]和Demucs[10]等),然后輸出時(shí)域波形;另一類是輸入時(shí)頻域譜特征(如Spleeter[11]、MMDense-LSTM[9]和Open-Unmix[2]),然后輸出時(shí)頻域掩碼,最后將時(shí)頻掩碼和時(shí)頻點(diǎn)的點(diǎn)積求逆短時(shí)傅里葉變換獲得時(shí)域波形信號(hào)。因此,通過時(shí)域或者時(shí)頻域的信號(hào)特征,均可以取得較好的分離性能。然而,音樂分離問題依然存在很多問題,如分離的伴奏會(huì)丟失一些配器成分,導(dǎo)致聽感上大打折扣。同時(shí),分離引入的失真也是一個(gè)重要問題,如以時(shí)域波形作為輸入特征的方法更容易引入新的頻率分量,進(jìn)而引入人工噪聲。
本文試圖提出一種稀疏自編碼框架,在時(shí)頻域特征上預(yù)先進(jìn)行高維特征提取,然后結(jié)合CNN 網(wǎng)絡(luò)用于音樂源分離。具體地,通過一個(gè)稀疏自編碼器提取頻域信號(hào)的高維特征,將自編碼器的輸出作為CNN 網(wǎng)絡(luò)的輸入,將CNN 網(wǎng)絡(luò)的輸出結(jié)果送入解碼器,最后通過解碼器將時(shí)頻掩碼恢復(fù)到和時(shí)頻譜圖相同的尺度。該方法很好地利用了頻點(diǎn)之間的相關(guān)性來提高網(wǎng)絡(luò)的擬合能力,增大了CNN網(wǎng)絡(luò)的感受野。特別地,借鑒文獻(xiàn)[5]采用兩層疊加沙漏網(wǎng)絡(luò)作為音樂分離網(wǎng)絡(luò)。本文想法基于最初的創(chuàng)新想法,即將頻域進(jìn)行梅爾子帶變換,并將子帶域特征送入網(wǎng)絡(luò)進(jìn)行訓(xùn)練,最后輸出時(shí)頻域(Time-Frequency,TF)掩碼。將梅爾頻譜特征作為輸入特征極大地提高了網(wǎng)絡(luò)的擬合能力,并取得了較好的分離結(jié)果。因此,本文采用自編碼器代替梅爾變換進(jìn)行網(wǎng)絡(luò)優(yōu)化,并進(jìn)一步驗(yàn)證了該方法的有效性。實(shí)驗(yàn)結(jié)果表明,基于稀疏數(shù)自編碼的CNN網(wǎng)絡(luò)獲得了最優(yōu)分離結(jié)果。
本文將在第2 節(jié)介紹相關(guān)分離工作,在第3 節(jié)分析稀疏編碼網(wǎng)絡(luò),在第4 節(jié)詳細(xì)描述基于稀疏編碼的參數(shù)和網(wǎng)絡(luò)訓(xùn)練環(huán)境,同時(shí)分析本文方法和其他先進(jìn)分離算法的結(jié)果,最后總結(jié)全文。
作為信息檢索領(lǐng)域中一個(gè)重要的信號(hào)處理任務(wù),音樂分離通常是將混合的歌曲信號(hào)分離為多個(gè)單獨(dú)的源信號(hào)。目前,音樂源分離需要滿足線性混合的假設(shè),即一個(gè)混合信號(hào)xt∈RT是多個(gè)獨(dú)立的信號(hào)源的線性組合:
經(jīng)過短時(shí)傅里葉變換,式(1)中時(shí)域波形信號(hào)對(duì)應(yīng)關(guān)系可以轉(zhuǎn)換成時(shí)頻域?qū)?yīng)關(guān)系:
基于維納濾波,估計(jì)的獨(dú)立聲源信號(hào)可以表示為:
其中,φ(x(f,t)) 表示混合信號(hào)源的相位,表示理想概率掩蔽(Ideal Ratio Mask,IRM)系數(shù):
為了實(shí)現(xiàn)快速穩(wěn)定的收斂結(jié)果,本文的目標(biāo)代價(jià)函數(shù)為真實(shí)信號(hào)和估計(jì)信號(hào)幅度譜差值的L1范數(shù):
本節(jié)描述稀疏編碼網(wǎng)絡(luò)結(jié)構(gòu),如圖1 所示。稀疏編碼網(wǎng)絡(luò)主要是對(duì)頻域信號(hào)進(jìn)行編碼壓縮,用于CNN 網(wǎng)絡(luò)進(jìn)行音樂分離,并詳細(xì)分析了編碼網(wǎng)絡(luò)對(duì)音樂分離的貢獻(xiàn)。
稀疏自編碼網(wǎng)絡(luò)的思想是通過網(wǎng)絡(luò)和傳統(tǒng)方法預(yù)先提取一些高維特征,然后將高維特征融合并作為深度分離網(wǎng)絡(luò)的輸入。本文定義了稀疏矩陣編碼模塊,通過稀疏編碼將頻譜進(jìn)行頻譜維度的壓縮,預(yù)先提取一些高維特征。具體地,先對(duì)STFT 幅度譜進(jìn)行一維卷積,然后將卷積結(jié)果分別進(jìn)行梅爾譜變換和稀疏編碼處理。本文將梅爾譜和稀疏編碼特征進(jìn)行融合,獲得稀疏編碼的輸出結(jié)果。由于頻點(diǎn)特征存在信息冗余,會(huì)使深度CNN 網(wǎng)絡(luò)難于訓(xùn)練,且加大了網(wǎng)絡(luò)的計(jì)算復(fù)雜度。稀疏編碼等效公式如下:
其中,Mel(b,f)表示Mel濾波系數(shù),A(b,f)是稀疏編碼權(quán)重矩陣,Bi(b)表示偏置向量,b表示編碼變換維度(本文中傅里葉系數(shù)長度F為2 049,編碼維度B為256,即將F維頻域信號(hào)映射為B維特征)。獲取的B維特征可以作為CNN 分離網(wǎng)絡(luò)的輸入特征,同時(shí)可通過解碼矩陣將CNN 網(wǎng)絡(luò)輸出的B維結(jié)果進(jìn)行解碼獲取F維Mask。
通過分析選擇2層堆疊沙漏網(wǎng)絡(luò)作為分離網(wǎng)絡(luò)。SH-4stack 方法[5]已經(jīng)將堆疊沙漏網(wǎng)絡(luò)用于音樂分離,并取得了良好效果,但只是簡單將堆疊沙漏網(wǎng)絡(luò)搬移到音樂分離任務(wù)中,沒有將音樂信號(hào)中的物理意義和網(wǎng)絡(luò)進(jìn)行有機(jī)融合。此外,原始堆疊沙漏網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)龐大,計(jì)算復(fù)雜度高,因此SH-4stack 方法只實(shí)現(xiàn)了8 kHz 的音樂分離任務(wù)。本文將稀疏自編碼網(wǎng)絡(luò)應(yīng)用于堆疊沙漏網(wǎng)絡(luò),極大地降低了沙漏網(wǎng)絡(luò)的計(jì)算復(fù)雜度,提高了網(wǎng)絡(luò)的擬合能力,實(shí)現(xiàn)了44.1 kHz 采樣的音樂分離任務(wù)。特別地,對(duì)堆疊沙漏網(wǎng)絡(luò)進(jìn)行優(yōu)化(如加入BN 層和Drop 層、調(diào)整下采樣方式等)用來適應(yīng)音樂分離任務(wù),具體網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。
經(jīng)過稀疏自編碼模塊和CNN 網(wǎng)絡(luò)模塊后,輸出結(jié)果為b×t維的編碼矩陣SASH(b,t)。本文采用解碼矩陣得到TF 掩碼:
其中,V(f,b)表示解碼矩陣,為偏置向量。本文通過編碼矩陣和解碼矩陣實(shí)現(xiàn)了高維特征的提取和融合,提高了網(wǎng)絡(luò)的擬合能力和計(jì)算時(shí)效性。特別地,本文采用稀疏編碼模塊將頻點(diǎn)特征映射到一個(gè)高維空間,很好地利用了頻點(diǎn)之間的相關(guān)性,同時(shí)擴(kuò)大了CNN 網(wǎng)絡(luò)的感受野。
為了更加公平地驗(yàn)證本文方法的有效性,本文采用MUSDB18 數(shù)據(jù)集作為訓(xùn)練集合測(cè)試集。MUSDB18 數(shù)據(jù)集由SISEC2018 比賽提供,包含100首訓(xùn)練集和50 首測(cè)試集(總時(shí)長約10 h,采樣率為44.1 kHz),且每首歌曲包含了混合信號(hào)和干聲、伴奏成份。本文將100 首訓(xùn)練集中的94 首用于訓(xùn)練集,剩余6 首歌曲作為驗(yàn)證集,參數(shù)設(shè)置如表1 所示。
表1 基于稀疏自編碼網(wǎng)絡(luò)的訓(xùn)練參數(shù)設(shè)置
此外,本文采用tensorflow 框架建立和訓(xùn)練模型,訓(xùn)練工具為1 塊NVIDIA 1080Ti GPU。網(wǎng)絡(luò)的代價(jià)函數(shù)為誤差的絕對(duì)均值,優(yōu)化器為Adam。評(píng)價(jià)方式采用museval 包和BSSE-valv4 工具箱,評(píng)分標(biāo)準(zhǔn)為SDR。
為了更好地驗(yàn)證和評(píng)價(jià)所提方法的效果,將所提方法與Demucs、Spleeter 等優(yōu)秀分離方法進(jìn)行對(duì)比。Spleeter 是優(yōu)秀的分離方法,采用經(jīng)典的U-Net網(wǎng)絡(luò)作為分離網(wǎng)絡(luò),并加入空洞卷積提升網(wǎng)絡(luò)的分離性能。Demucs 則是近期出現(xiàn)的先進(jìn)的分離方法,采用Tas-net 對(duì)波形進(jìn)行編碼和解碼,并采用LSTM網(wǎng)絡(luò)作為分離網(wǎng)絡(luò)。此外,采用SDR 指標(biāo)進(jìn)行評(píng)價(jià)。SDR 指標(biāo)是目前主流的客觀評(píng)價(jià)方式,值越高,說明音樂分離的性能越好。如表2 所示,本文方法在MUSDB18 數(shù)據(jù)集上獲得了最優(yōu)結(jié)果。
表2 本文方法和其他分離模型的SDR 分?jǐn)?shù)結(jié)果(MUSDB18 數(shù)據(jù)集上)
其中,Demucs 給出了分軌模型,即分為干聲、貝斯、鼓點(diǎn)以及其他。為了對(duì)比結(jié)果,本文將其中的貝斯、鼓點(diǎn)和其他成份合并為伴奏。與多個(gè)分離方法比較,基于本文獲取的干聲、伴奏均獲得了最高分?jǐn)?shù)。特別地,通過和SH-4stack 方法的對(duì)比結(jié)果可以得出,提出的稀疏編碼網(wǎng)絡(luò)結(jié)構(gòu)提升了沙漏網(wǎng)絡(luò)的分離能力。本文將梅爾頻譜作為網(wǎng)絡(luò)輸入的特征之一,因?yàn)槊窢栴l譜模擬人耳聽覺對(duì)實(shí)際頻率的敏感程度,更好地突出了音高特性,使得網(wǎng)絡(luò)提高了干聲等分離成分的保真度,一定程度上解決了分離引入的失真問題。
此外,本文只用了MUSDB18 的100 首訓(xùn)練集作為訓(xùn)練集和驗(yàn)證集,而Spleeter 方法用了額外數(shù)據(jù)集(沒有公開),Demucs 方法則用了額外的150首訓(xùn)練集,也從側(cè)面說明了基于稀疏編碼網(wǎng)絡(luò)具有更強(qiáng)的擬合能力。
本文提出了一種基于頻域稀疏自編碼網(wǎng)絡(luò)的音樂分離神經(jīng)網(wǎng)絡(luò),通過預(yù)提取一些高維維度來提高音樂分離的性能。特別地,本文很好地考慮了頻點(diǎn)之間的相關(guān)性,并通過稀疏自編碼網(wǎng)絡(luò)將頻點(diǎn)信息映射到高維空間,提高了網(wǎng)絡(luò)的擬合能力和運(yùn)行效率。實(shí)驗(yàn)結(jié)果表明,與現(xiàn)有的多個(gè)優(yōu)秀分離算法相比,本文提出的稀疏自編碼網(wǎng)絡(luò)獲得了最高的SDR 分?jǐn)?shù)。本文目前只考慮了混合信號(hào)的頻譜幅度譜,未來的工作是將相位特征進(jìn)行建模,并應(yīng)用于音樂分離任務(wù)。