閔長偉,江華,閆格2,馮利琪
(1.閩南師范大學(xué)粒計(jì)算及其應(yīng)用重點(diǎn)實(shí)驗(yàn)室;2.閩南師范大學(xué)計(jì)算機(jī)學(xué)院,漳州,363000)
隨著社會的發(fā)展和科學(xué)技術(shù)的不斷創(chuàng)新,智能手機(jī)等智能設(shè)備越來越受到普及,人們越發(fā)關(guān)注和重視人機(jī)語音交互技術(shù),并對此進(jìn)行了一系列研究。但是如何使得人機(jī)語音交互變得更加有效和快捷,就像人與人之間相互便捷交流一樣成為了近幾年比較熱門的研究方向。而語音分離是人機(jī)語音交互技術(shù)的核心問題之一,由于語音信號總是不可避免的受到外圍環(huán)境的干擾,降低了語音信號的質(zhì)量,因此語音分離起著非常重要的作用。
語音分離起源于著名的“雞尾酒會效應(yīng)”問題[1],就是在復(fù)雜的混合語音中把目標(biāo)語音有效的分離出來。語音分離的研究在語音通信、語音目標(biāo)檢測、語音增強(qiáng)等方面有著非常重要的理論意義和使用價值,語音分離技術(shù)在各個領(lǐng)域都被廣泛應(yīng)用,例如語音自動翻譯、助聽器、移動通信、無線電視電話會議和聲源定位等方面[2]。
目前,語音分離技術(shù)取得了很大的發(fā)展和突破,但是由于實(shí)際情況下環(huán)境的復(fù)雜多變,語音分離技術(shù)仍然存在著一些難題急于解決。例如,在我們生活的環(huán)境中,大部分應(yīng)用場合下都只有一個麥克風(fēng)設(shè)備,我們對它的參考信息了解的也不多,對目標(biāo)語音估計(jì)的難度很大,這種情況下的語音分離被稱為單 聲道語音分離,幾十年來,一些專家和學(xué)者都在著力研究單聲道條件下的語音分離問題,他們提出估計(jì)噪音的功率或理想維納濾波器方法[3]來提高語音分離的性能,由于這是基于信號處理的方法,那些噪音通常假設(shè)為平穩(wěn)的或慢變的,在滿足假設(shè)條件下,這些方法在語音分離中取得了很好的效果,但是在現(xiàn)實(shí)環(huán)境中,這些假設(shè)條件通常很難滿足,特別在低信噪比的情況下,這些分離性能效果可能會沒用[4],跟基于信號處理的方法相比,基于模型的方法能在低信噪比的情況下取得很好的語音分離性能,但是它的不足就是過于依賴在之前訓(xùn)練好的語音和噪聲模型[5-7],所以研究出在各種實(shí)際環(huán)境下的語音分離技術(shù)就顯得尤為重要,本文研究的語音分離的方法也是基于單聲道情況下進(jìn)行的。
近年來,由于深度學(xué)習(xí)的興起,各種深層模型被廣泛應(yīng)用于語音領(lǐng)域,取得了巨大的成功[8]。而深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)又是典型的深層結(jié)構(gòu),它在語音分離領(lǐng)域顯示出了巨大的研究前景[9-15],日益得到人們的重視。Wang等人提出了一種基于深度神經(jīng)網(wǎng)絡(luò)-支持向量機(jī)(Deep Neural Networks-Suppore Vector Machines,DNN-SVM)的系統(tǒng)[16],這一系統(tǒng)與傳統(tǒng)的系統(tǒng)相比,不但能夠在較大的數(shù)據(jù)集上進(jìn)行訓(xùn)練,而且還能實(shí)現(xiàn)較好的泛化性能。Wang等人又在一篇文章中提出用典型的監(jiān)督性語音分離系統(tǒng)DNN[17],對監(jiān)督性語音分離的目標(biāo)進(jìn)行側(cè)重分析,解決了適合于有監(jiān)督語音分離的訓(xùn)練目標(biāo)這一問題。最近,Le Roux、Hershey和Hsu等把NMF擴(kuò)展成深層結(jié)構(gòu),并把這一深層結(jié)構(gòu)運(yùn)用到語音分離領(lǐng)域中,取得了不錯的效果[18-20]。
神經(jīng)網(wǎng)絡(luò)是現(xiàn)代人工智能的重要領(lǐng)域之一,由于單個的神經(jīng)網(wǎng)絡(luò)存在許多的局限和不足,專家和學(xué)者開始用兩種神經(jīng)網(wǎng)絡(luò)組合進(jìn)行研究。趙凱通過BP和RBF兩種神經(jīng)網(wǎng)絡(luò)組合對RD經(jīng)費(fèi)的支出進(jìn)行預(yù)測[21],從預(yù)測結(jié)果來看,兩種神經(jīng)網(wǎng)絡(luò)組合很好的預(yù)測了每年的RD經(jīng)費(fèi)支出,避免了單個神經(jīng)網(wǎng)絡(luò)預(yù)測精確度不高。Vera Simon等人用兩種不同的神經(jīng)網(wǎng)絡(luò)進(jìn)行組合來預(yù)測化學(xué)反應(yīng)[22],發(fā)現(xiàn)兩種神經(jīng)網(wǎng)絡(luò)組合之后的化學(xué)反應(yīng)效果要比單個神經(jīng)網(wǎng)絡(luò)好,XH Song等人用兩種神經(jīng)網(wǎng)絡(luò)組合對土壤樣品源進(jìn)行解析[23]。雖然DNN具有較強(qiáng)的學(xué)習(xí)和非線性映射能力,但是還存在著一些問題,比如噪聲估計(jì)不準(zhǔn)確的問題等,因此本文遵循DNN語音分離的系統(tǒng)框架,在此基礎(chǔ)上利用兩種不同結(jié)構(gòu)的DNN進(jìn)行組合,試圖提高語音的可懂度和清晰度。
語音分離過程可以理解為從含有噪音的混合語音信號到純語音信號的一個非線性映射函數(shù),這個過程能夠很自然地表達(dá)成一個有監(jiān)督性學(xué)習(xí)問題。監(jiān)督性語音分離系統(tǒng)的結(jié)構(gòu)框圖如圖1所示,實(shí)驗(yàn)主要分為訓(xùn)練階段和測試階段。在訓(xùn)練階段,首先要把訓(xùn)練的純凈語音和噪聲按照一定的信噪比進(jìn)行混合得到混合的語音,將輸入的一維時域信號通過時頻分解變?yōu)槎S的時域信號,然后進(jìn)行特征提取,提取的特征一般是幀級別或者時頻單元級別的聽覺特征,將提取的聽覺特征和分離目標(biāo)分別作為語音分離模型的輸入和輸出來訓(xùn)練模型,直到模型訓(xùn)練完成。在測試階段,將測試的純凈語音和噪聲按照一定的信噪比進(jìn)行混合得到測試數(shù)據(jù)集,將測試數(shù)據(jù)集同樣進(jìn)行時頻分解和特征提取,輸入到訓(xùn)練模型中估計(jì)出測試數(shù)據(jù)集的語音目標(biāo),最后將混合的語音和估計(jì)出的分離目標(biāo)進(jìn)行波形合成,通過逆Gammatone濾波獲得我們想要的目標(biāo)語音,同時可以根據(jù)目標(biāo)語音的評價指標(biāo)來驗(yàn)證模型的實(shí)用性。
CE_DNN語音分離系統(tǒng)主要分為5大模塊:時頻分解、特征提取、分離目標(biāo)、模型訓(xùn)練、波形合成。圖2所示概述了在CE_DNN語音分離系統(tǒng)在測試階段利用DNN訓(xùn)練模型進(jìn)行測試的一般結(jié)構(gòu)圖,該圖表示,不同訓(xùn)練集經(jīng)過訓(xùn)練得到訓(xùn)練模型后,將測試數(shù)據(jù)放入訓(xùn)練模型后得到的輸出結(jié)果進(jìn)行合成,再通過逆Gammatone濾波之后進(jìn)行波形合成來分離想要的目標(biāo)語音。
Fig.2 Represents a schematic diagram of the CE_DNN speech separation system
圖2 表示CE_DNN語音分離系統(tǒng)的結(jié)構(gòu)簡圖
時頻分解作為語音分離過程中的前端模塊,在語音分離過程中,通過時頻分解將輸入的一維時域信號變成二維的時頻信號,本實(shí)驗(yàn)中采用的是Gammatone聽覺濾波模型[24]來進(jìn)行時頻分解。
Gammatone聽覺濾波是將一組聽覺濾波器g(t)對輸入的信號進(jìn)行濾波,得到一組濾波輸出G(t)。濾波器組的沖擊響應(yīng)為
特征提取是語音分離中至關(guān)重要的步驟之一,因?yàn)樘崛〉奶卣鞑坏軌驕p少的訓(xùn)練時間,而且還能提高分離語音的性能。本實(shí)驗(yàn)是基于深度神經(jīng)網(wǎng)絡(luò)的語音分離,主要用了四種聲學(xué)特征[25-26],包括相對頻譜變換-感知線性預(yù)測系數(shù)(Relative Spectral Transform and Perceptual Linear Prediction,RASTA-PLP)、幅度調(diào)制頻譜圖(Amplitude Modulation Spectrogram,AMS)、梅爾頻譜倒頻譜系數(shù)(Melfrequency Cepstral Coefficients,MFCC)和伽瑪通特征(Gammatone Feature,GF),這些特征都是幀級特征,通過調(diào)用MATLAB函數(shù)中的combine函數(shù),將這些特征相互組合形成特征集合。
語音分離目標(biāo)選擇的好壞直接關(guān)系到合成目標(biāo)語音的質(zhì)量。語音分離最常用的分離目標(biāo)是時頻掩蔽,常見的時頻掩蔽有理想二值掩蔽(Ideal binary mask,IBM)和理想浮值掩蔽(Ideal ratio mask,IRM)。本實(shí)驗(yàn)中選用的分離目標(biāo)是IBM,IBM是計(jì)算聽覺場景分析的主要計(jì)算目標(biāo),由純凈的語音和噪聲組合的混合信號計(jì)算得到。對于每一個T-F單元,如果局部的SNR大于本地閾值(Local criterion,LC),則將矩陣中相應(yīng)位置標(biāo)為1,否則標(biāo)為0。IBM的公式如下:
其中SNR(f,t)表示時間t和頻率為f的T-F單元的局部信噪比值,IBM(f,t) 表示SNR(f,t)對應(yīng)的時頻單元的IBM值,通常本地信噪比閾值LC小于混合語音信噪比5dB。例如混合語音信噪比為-5dB,那么LC的信噪比閾值為-10dB。
正文內(nèi)容本實(shí)驗(yàn)中,DNN設(shè)置一個輸入層,四個隱含層,一個輸出層,其中隱含層每層有1024個節(jié)點(diǎn),Sigmoid函數(shù)作為激活函數(shù),圖(3)所示的Sigmoid函數(shù)[27]具有連續(xù)、光滑等性質(zhì)。其公式定義如下:
Fig.3 Sigmoid function.
在DNN中,層與層之間的單元是全連接的,即一個神經(jīng)元節(jié)點(diǎn)與相鄰層的所有神經(jīng)元之間都相連。另外,DNN系統(tǒng)經(jīng)隨機(jī)梯度下降和交叉熵準(zhǔn)則訓(xùn)練,初始學(xué)習(xí)率設(shè)為0.01,系統(tǒng)的最大訓(xùn)練次數(shù)設(shè)為20,用標(biāo)準(zhǔn)的反向傳播算法進(jìn)行訓(xùn)練。
在DNN訓(xùn)練過程中,針對兩個DNN網(wǎng)絡(luò)使用了兩種不同的訓(xùn)練集,訓(xùn)練的結(jié)果是得到兩個具有不同內(nèi)部參數(shù)的DNN訓(xùn)練模型,將測試數(shù)據(jù)放入訓(xùn)練模型中進(jìn)行訓(xùn)練,得到輸出結(jié)果,最后將得到的輸出結(jié)果進(jìn)行合成,其公式如下:
(6)
其中output1是一個輸出矩陣,指的是測試數(shù)據(jù)經(jīng)過DNN1訓(xùn)練模型得到的輸出結(jié)果,output2是一個輸出矩陣,指的是測試數(shù)據(jù)經(jīng)過DNN2訓(xùn)練模型得到的輸出結(jié)果,output是一個輸出矩陣,指的是輸出結(jié)果的合成。
由估計(jì)得到的目標(biāo)IBM與混合語音的特征相乘得到恢復(fù)出來的幅度譜,但是沒有包含語音的相位信息,所以我們還需要使用原始混合語音的相位信息進(jìn)行波形重構(gòu)得到目標(biāo)語音的頻譜,再通過逆Gammatone變化獲得目標(biāo)語音的波形信號。
本實(shí)驗(yàn)從IEEE Corpus語音庫[28]中選用了720條純凈語音,前600條純凈語音作為訓(xùn)練數(shù)據(jù)集,后120條純凈語音作為測試數(shù)據(jù)集,其中訓(xùn)練集的前300條純凈語音作DNN1語音分離系統(tǒng)的訓(xùn)練集,后300條純凈語音作為DNN2語音分離系統(tǒng)的訓(xùn)練集,DNN1和DNN2語音分離系統(tǒng)的測試集是一樣的,訓(xùn)練集與測試集沒有重疊的部分。另外,我們從NOISEX-92[29]中選用了三種噪聲作為實(shí)驗(yàn)的訓(xùn)練和測試噪聲,這些噪聲都是不平穩(wěn)的,分別是餐廳內(nèi)嘈雜噪聲(babble noise)、白色噪聲(white noise)、驅(qū)逐艦機(jī)艙噪聲(destroyer engine room noise)。為了使訓(xùn)練集與測試集沒有重合的部分,本文將每個噪聲分成兩部分,然后將第一部分與訓(xùn)練語音進(jìn)行混合產(chǎn)生訓(xùn)練集,輸入信噪比分別為-5dB、-2dB、0dB、2dB、5dB,將第二部分噪聲與測試語音進(jìn)行混合產(chǎn)生測試集,最后將所得的訓(xùn)練集與測試集數(shù)據(jù)做均值方差歸一化處理。
本文采用命中率-誤報(bào)率(HIT rate minus False-Alarm rate,HIT-FA)[30]和短時客觀語音可懂(Short-Time Objective,STOI)[31]對模型性能進(jìn)行評估。
HIT-FA表示的是命中率與誤報(bào)率的差值。在IBM中,HIT是在目標(biāo)語音的時間-頻率單元被正確識別出來的比例,F(xiàn)A是在目標(biāo)語音的時間-頻率單元被錯誤識別出來的比例。其計(jì)算公式為:
(7)
其中IBM表示理想二值掩蔽,EBM表示估計(jì)的理想二值掩蔽,N表示理想二值掩蔽中的元數(shù)個數(shù)。HIT-FA指標(biāo)與人類對語言的可理解性相關(guān)聯(lián),所以常被用來評價系統(tǒng)性能。
STOI算法是一種比較常用的可懂度客觀評價方法,該算法是純凈語音和降噪語音的函數(shù),STOI的輸出結(jié)果是一個標(biāo)量值,與人對語音的實(shí)際可懂高度相關(guān),取值范圍為0到1之間,數(shù)值越大表示分離后的語音可懂度越高。使用客觀可懂度測量語音的性能可以大大減少計(jì)算時間和成本。
根據(jù)上面所提出的算法流程,采用MATLAB語言進(jìn)行仿真實(shí)驗(yàn),實(shí)驗(yàn)中所用的聲音文件都是wav格式的語音。圖4表示DNN1語音分離系統(tǒng)的純凈語音、混合信號和分離語音的時域波形圖和對應(yīng)的語譜圖,圖5表示DNN2語音分離系統(tǒng)的純凈語音、混合信號和分離語音的時域波形圖和對應(yīng)的語譜圖,圖6表示CE_DNN語音分離系統(tǒng)的純凈語音、混合信號和分離語音的時域波形圖和對應(yīng)的語譜圖。
(a)純凈語音時域波形圖
(b)混合語音時域波形圖
(c)分離語音時域波形圖
(d)純凈語音的語譜圖
(e)混合語音的語譜圖
(f)分離語音的語譜圖
Fig.4 DNN1 speech separation system of pure speech, mixed signal and speech separation of time domain waveform graph spectra and the corresponding language
圖4 DNN1語音分離系統(tǒng)的純凈語音、混合信號和分離語音的時域波形圖和對應(yīng)的語譜圖
(g)純凈語音時域波形圖
(h)混合語音時域波形圖
(i)分離語音時域波形圖
(j)純凈語音的語譜圖
(k)混合語音的語譜圖
(l)分離語音的語譜圖
Fig.5 DNN2 speech separation system of pure speech, mixed signal and speech separation of time domain waveform graph spectra and the corresponding language
圖5 DNN2語音分離系統(tǒng)的純凈語音、混合信號和分離語音的時域波形圖和對應(yīng)的語譜圖
(m)純凈語音時域波形圖
(n)混合語音時域波形圖
(o)分離語音時域波形圖
(p)純凈語音的語譜圖
(q)混合語音的語譜圖
(r)分離語音的語譜圖
Fig.6 CE_DNN speech separation system of pure speech, mixed signal and speech separation of time domain waveform graph spectra and the corresponding language
圖6 CE_DNN語音分離系統(tǒng)的純凈語音、混合信號和分離語音的時域波形圖和對應(yīng)的語譜圖
圖4、圖5和圖6都選用了混入的噪聲為驅(qū)逐艦機(jī)艙,SNR為-5dB的一個相同的測試語音。從圖中可以看出,DNN1和DNN2算法分離后的語譜圖上有明顯的雜音,與純凈語音的語譜圖還有著較大的差別,而CE_DNN算法分離后的語譜圖上雜音變少了,而且與純凈語音的語譜圖也較為相似,波形圖同理可得,這表明我們的算法在分離性能上有較好的表現(xiàn),目標(biāo)語音分離的更準(zhǔn)確,分離語音失真變得更小。
Tab.1 Mixed into the SNR is -5dB、-2dB、0dB、2dB、5dB obtained HIT-FA results
表1 混入SNR為-5dB、-2dB、0dB、2dB、5dB時得到的HIT-FA結(jié)果
Tab.2 Mixed into the SNR is -5dB、-2dB、0dB、2dB、5dB obtained STOI results.
表2 混入SNR為-5dB,-2dB、0dB,2dB、5dB時得到的STOI結(jié)果
表1給出了輸入信噪比為-5dB,-2dB、0dB,2dB、5dB時對應(yīng)的餐廳雜音噪聲、白色噪聲和驅(qū)逐艦機(jī)艙噪聲混合信號的HIT-FA結(jié)果。結(jié)果表明,與DNN1和DNN2語音分離系統(tǒng)相比,CE_DNN語音分離系統(tǒng)在混入SNR為-5dB、-2dB、0dB、2dB、5dB時,三種噪聲信號的HIT-FA數(shù)值都有一定地提升,當(dāng)混入的信噪比一定時,進(jìn)行不同的噪聲混合,HIT-FA所提升的數(shù)值不同,這說明質(zhì)量差的噪聲混合時提升的空間很大,并且在混入低信噪比的情況下,效果會更好,這對語音分離目標(biāo)的質(zhì)量有很大的裨益。
表2給出了輸入信噪比為-5dB,-2dB、0dB,2dB、5dB時對應(yīng)的餐廳雜音噪聲、白色噪聲和驅(qū)逐艦機(jī)艙噪聲混合信號的STOI結(jié)果。由表2中的數(shù)據(jù)可得知,改進(jìn)算法得到的STOI比原算法得到的STOI略高,說明了改進(jìn)算法能更有效的進(jìn)行語音分離,當(dāng)混入的信噪比一定時,進(jìn)行不同的噪聲混合,STOI所提升的數(shù)值不同,這說明質(zhì)量差的噪聲混合時提升的空間很大,并且在混入低信噪比的情況下,效果會更好,這對語音分離目標(biāo)的質(zhì)量有很大的裨益。
本文主要是在DNN語音分離系統(tǒng)的基礎(chǔ)上,提出了一種基于組合DNN的語音分離方法,實(shí)驗(yàn)結(jié)果表明,與已有的DNN語音分離系統(tǒng)相比較,所提出的CE_DNN方法不僅能夠顯著提高訓(xùn)練目標(biāo)為理想二值掩蔽(IBM)的HIT-FA指標(biāo),而且還提高了語音目標(biāo)的短時客觀語音可懂度(STOI) ,有效的改善了分離語音的質(zhì)量。針對現(xiàn)有的框架,在未來的研究中我們還要對深度學(xué)習(xí)方法這一研究熱點(diǎn)進(jìn)行探討,在有效確保訓(xùn)練精度準(zhǔn)確的同時,提高模型的自適應(yīng)能力和訓(xùn)練速度。