儲有亮,李 梁
(重慶理工大學(xué),重慶 400054)
語音是人與人之間最常見的信息交互方式,但是很容易受到周圍噪聲的干擾而造成信息的丟失,怎樣在強噪聲等嘈雜環(huán)境下進行無礙的語音信息交互,對于業(yè)界來說是一個亟需突破的研究課題。骨導(dǎo)語音對噪聲具有很強的抗干擾性[1],這是由于骨導(dǎo)語音是使用高靈敏振動傳感器收集人在說話時發(fā)聲部位產(chǎn)生的振動信號得到的。這使得骨導(dǎo)語音在廣場、碼頭甚至戰(zhàn)場等強噪聲的環(huán)境下有著較好的應(yīng)用前景。
骨傳導(dǎo)傳感器(Bone-Conduction Microphone,BCM)通過采集人說話時由聲帶產(chǎn)生的激勵信號并由人體內(nèi)部骨骼以及相關(guān)組織傳遞到皮膚表面的震動,將其通過一系列的轉(zhuǎn)換最終采集到骨導(dǎo)語音[2]。這與通過氣導(dǎo)麥克風(fēng)(Air-Conduction Microphone,ACM)采集到的氣導(dǎo)語音有很大的不同。BCM語音由于其獨特的采集方式,因此對來自周圍環(huán)境中通過空氣傳播而產(chǎn)生的噪聲具有非常好的強抗噪性。但由于人體的骨骼具有低通性,這導(dǎo)致BCM語音的高頻信號損失嚴重,一般超過2.5 kHz的高頻信號會嚴重損失,同時由于BCM語音沒有經(jīng)過口腔、鼻腔等調(diào)音區(qū)域進行調(diào)音,造成摩擦音、爆破音、清音等輔音音節(jié)的缺失,致使BCM語音聽上去比較沉悶、語音清晰度也無法令人滿意[3],因此BCM語音在實際應(yīng)用上難以推廣。
通過轉(zhuǎn)換語音譜包絡(luò)、倒譜系數(shù)、線譜頻率等語音特征達到轉(zhuǎn)換目的是現(xiàn)今主流的BCM語音轉(zhuǎn)ACM語音的轉(zhuǎn)換方法。例如文獻[4]中利用四層全連接層建立BCM語音倒譜系數(shù)到ACM語音倒譜系數(shù)的映射關(guān)系;文獻[5]出于穩(wěn)定性的考慮,選擇線譜頻率(Linear Spectral Frequency,LSF)作為轉(zhuǎn)換特征,并且采用遞歸神經(jīng)網(wǎng)絡(luò)來完成LSF的特征轉(zhuǎn)換;文獻[6]通過深度神經(jīng)網(wǎng)絡(luò),實現(xiàn)LSF從BCM語音特征到ACM語音特征之間的映射;文獻[7]首先通過K-means算法將喉振傳感器(Throat Microphone,TM)語音的美爾廣義倒譜系數(shù)(Mel Generalized cepstral coefficients,MGC)分為若干類,然后再對每類 MGC分別構(gòu)建多層前饋神經(jīng)網(wǎng)絡(luò)來實現(xiàn)MGC特征的映射,以此來提升轉(zhuǎn)換語音的效果;文獻[3]則利用(Speech Transformation And Representation Using Adaptive Interpolation of Weighted Spectrum,STRAIGHT)模型[8]將語音分解為基音周期、譜包絡(luò)特征與非周期成份這三種特征,利用高斯混合模型(Gaussian Mixture Model,GMM)建立非聲呢語(Non-Audible Murmur,NAM)與ACM語音之間的特征映射關(guān)系。文獻[9]借助深層雙向長短期記憶網(wǎng)絡(luò)(Deep Bidirectional Long and Short Term Memory Network,BLSTM)建立對數(shù)頻譜(Logarithmic Spectrum)之間的映射關(guān)系。文獻[10]在同為非正常音的耳語音中使用深層卷積神經(jīng)網(wǎng)絡(luò)建立譜包絡(luò)特征、基音周期和非周期成分之間的轉(zhuǎn)換關(guān)系,有效地提高了耳語音轉(zhuǎn)換的效果。文獻[11]使用WaveNet聲碼器來實現(xiàn)骨導(dǎo)語音和氣導(dǎo)語音之間的語音特征轉(zhuǎn)換。
以上介紹的轉(zhuǎn)換算法雖然可以較好地提高和改善BCM語音的轉(zhuǎn)換效果,但特征維數(shù)較低,因此導(dǎo)致頻譜的細節(jié)信息不能很好地恢復(fù)。同時,對頻域維度上隱藏信息的提取沒有足夠地重視,因此轉(zhuǎn)換效果并不是很清晰,尚未達人耳可以清晰識別的程度。本文提出了一種基于特定說話人(某一固定說話人)的骨導(dǎo)語音轉(zhuǎn)換算法,該算法利用深度雙向長短期記憶-深度卷積神經(jīng)網(wǎng)絡(luò)(Deep Bidirectional Long and Short Term Memory-Deep Convolutional Neural Network,DBLSTM-DCNN)模型直接建模BCM語音和ACM語音,通過WORLD模塊[12]提取出譜包絡(luò)、非周期性成分和基頻之間的映射關(guān)系,最終再通過WORLD模塊合成出轉(zhuǎn)換語音。實驗結(jié)果表明,使用本論文提到的方法所轉(zhuǎn)換的ACM語音在語音質(zhì)量感知評價(Perceptual Evaluation of Speech Quality,PESQ)[13]、短時客觀可懂度(Short-Time Objective Intelligibility,STOI)[14]和對數(shù)譜距離(Log-spectral distance,LSD)[15]等客觀評價指標上均有較好的表現(xiàn)。
訓(xùn)練階段如圖1所示,先使用WORLD模塊分別提取BCM語音以及ACM語音的譜包絡(luò)BCM_sp與ACM_sp(spectral envelope,sp)[16]、非周期成份BCM_ap與ACM_ap(Aperiodic component,ap)[17]和基頻(f0)[18]BCM_f0與ACM_f0這三種語音特征。本文從第8幀(初始幀通常為靜音幀)開始,取語音特征的當(dāng)前幀及其前后各7幀(共15幀)作為DBLSTMDCNN的輸入。分別使用BCM語音與ACM語音的譜包絡(luò)、非周期成分和基頻建立BCM譜包絡(luò)與ACM語音譜包絡(luò)映射模型(DBLSTM-DCNN_sp)、BCM語音非周期成份與ACM語音非周期成份的映射模型(DBLSTM-DCNN_ap)以及BCM語音基頻與ACM語音基頻的映射模型(DBLSTM-DCNN_f0)。
圖1 基于DBLSTM-DCNN轉(zhuǎn)換網(wǎng)絡(luò)的訓(xùn)練階段語音處理Fig.1 Speech processing in the training phase based on DBLSTM-DCNN conversion network
轉(zhuǎn)換階段如圖2所示,首先利用WORLD模塊從待轉(zhuǎn)換的BCM語音中提取BCM_sp、BCM_ap和BCM_f0這三種語音特征,再分別輸入到之前訓(xùn)練好的語音特征映射模型DBLSTM-DCNN_sp、DBLSTM-DCNN_ap和DBLSTM-DCNN_f0中,然后得到預(yù)測的ACM語音譜包絡(luò)、非周期成分與基頻這三種語音特征,并將其輸入到WORLD模塊合成轉(zhuǎn)換后的正常語音。
圖2 基于DBLSTM-DCNN轉(zhuǎn)換網(wǎng)絡(luò)的轉(zhuǎn)換階段語音處理Fig.2 Speech processing in the transformation phase based on DBLSTM-DCNN conversion on network
雖然傳統(tǒng)的遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)算法可以記錄之前產(chǎn)生的歷史信息,并借此對語音信號的上下文信息進行建模,但是傳統(tǒng)的RNN算法在訓(xùn)練過程中由于梯度的爆發(fā)和消失問題而難以學(xué)習(xí)長時間的依賴關(guān)系?;谶@些問題,有學(xué)者提出了很多適合語音建模的RNN結(jié)構(gòu),在其中最著名的就是長短期記憶網(wǎng)絡(luò)(Long and short term memory networks,LSTM)[19]。LSTM單元通過引入特殊的門(輸入門,輸出門和遺忘門)來促進信息在網(wǎng)絡(luò)中的流動和存儲,從而緩解了梯度問題。BLSTM是在LSTM基礎(chǔ)上引入了雙向的概念,不僅考慮語音信號的上文信息(即前向信息)對當(dāng)前語音幀的影響,還要考慮下文信息(即后向信息)對當(dāng)前語音幀的影響,因此BLSTM在時間維度上存在正向和反向兩個方向的信息傳遞過程,這樣可以更加容易地學(xué)習(xí)到上下文學(xué)習(xí)是如何對當(dāng)前語音幀產(chǎn)生影響的。
式中:it、ft、ct、ot分別為輸入門、遺忘門、記憶單元狀態(tài)和輸出門,δ代表sigmoid函數(shù)。如圖4所示,通過疊加多個BLSTM隱藏層來構(gòu)建DBLSTM體系結(jié)構(gòu),其中。
圖3 LSTM模塊Fig.3 LSTM module
圖4 BLSTM模塊Fig.4 BLSTMmodule
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是一種包含卷積計算的前饋神經(jīng)網(wǎng)絡(luò)。在CNN的卷積層中,當(dāng)前層的每個神經(jīng)元都與前一層中對應(yīng)位置相同的神經(jīng)元作為中心的相鄰區(qū)域的多個神經(jīng)元相連(相鄰區(qū)域大小等于卷積核的大?。?,在將連續(xù)的相鄰若干幀語音特征作為輸入送到CNN網(wǎng)絡(luò)時,下一個卷積層的輸入是由上一層某一區(qū)域內(nèi)的點通過卷積、池化等一些運算計算得到。由于上一層內(nèi)的點同時包含了輸入語音特征的頻域信息與時域信息,因此使用卷積層可以提取出相鄰幀在頻域與時域上的相關(guān)性,二維卷積核計算公式為[20]
為了去除冗余信息,經(jīng)過卷積層提取的特征信息通常會再連接池化層來進行特征選擇和信息過濾。池化層以壓縮特征為代價保留圖像背景信息與紋理信息[20],通常采用均值池化法或最大池化法。由于最大池化法可以更大程度保留紋理信息,因此在語音增強[21]和語音識別[22]等領(lǐng)域大都采用最大池化法。本文同樣也選擇最大池化。DCNN層最后的輸出最終將通過三層全連接層,全連接層的激活函數(shù)選擇RelU函數(shù)。
本文提出的DBLSTM-DCNN語音特征映射模型圖如圖5所示,其整體分為DBLSTM層與DCNN層前后兩個部分。DBLSTM層借助BLSTM能夠保存上下信息的特性,用來提取和保存相鄰幀之間隱藏信息。DCNN層則利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)可以提取相鄰區(qū)域局部特征的功能來學(xué)習(xí)出相鄰頻域之間的隱藏信息。
本文首先將連續(xù)的15幀(前后各7幀)語音特征(譜包絡(luò)、非周期成分與基頻)輸入到由4層BLSTM構(gòu)成的DBLSTM層中,借助BLSTM提取和存儲上下文之間隱藏的時域相關(guān)性。DBLSTM層之后連接由4層CNN組成DCNN層,利用CNN能夠提取局部特征的特性來學(xué)習(xí)相鄰頻域之間的聯(lián)系,DCNN層之后的輸出最終將通過三層全連接層。全連接層作用主要有兩點,一是對提取到的特征進行降維,二是增加非線性擬合程度。DBLSTM-DCNN模型的輸入是上下文連續(xù)的15幀語音特征(前后各7幀),最終得到的輸出是估計的第8幀語音特征。通過實驗也表明該模型能夠較好地實現(xiàn)BCM與ACM語音之間的語音特征映射。
圖5 DBLSTM-DCNN模塊Fig.5 DBLSTM-DCNN module
由于當(dāng)前沒有公開可用的數(shù)據(jù)庫,本文錄制了通過高靈敏振動傳感器、信號放大器以及相關(guān)軟件得到的BCM語音與由普通麥克風(fēng)采集的ACM語音的平行語音數(shù)據(jù)庫。該數(shù)據(jù)庫的錄音語料來源于北京語言大學(xué)創(chuàng)辦的BCC語料庫中精心挑選的包含體育、藝術(shù)、生活等方面的500條具有代表性的語句。選擇年齡在20~24歲之間的兩名男性與兩名女性作為說話人完成錄制,說話人使用標準普通話進行錄制。錄制的語音采樣率為32 kHz,并采用16 bit量化。每名說話人錄制320句從語料庫中抽取的語句,每句話時長約2~3 s,同時要求吐字清晰且語氣沒有明顯波動,其中300句作為訓(xùn)練集,20句作為測試集,并要求彼此之間沒有重復(fù)的語料。
由于要建立骨導(dǎo)語音轉(zhuǎn)正常音的模型首先需要不包含噪聲的氣導(dǎo)語音作為目標訓(xùn)練集,將同步錄制骨導(dǎo)語音轉(zhuǎn)換成氣導(dǎo)語音。除此之外骨導(dǎo)語音是通過高靈敏振動傳感器采集人說話時在喉頭部位的振動,再通過信號放大器、數(shù)據(jù)采集卡和EM9118B虛擬儀器對信號進行收集,最后在通過Matlab軟件將其轉(zhuǎn)換成對應(yīng)骨導(dǎo)語音。可見骨導(dǎo)語音的采集與周圍環(huán)境有無噪聲沒有關(guān)系。因此本文實驗并未涉及在強噪聲環(huán)境下的語音轉(zhuǎn)換實驗。
實驗中為每名說話人訓(xùn)練一個語音轉(zhuǎn)換模型。訓(xùn)練語句有300句,測試語句20句。訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)均被下采樣到16 kHz。在本文中設(shè)定幀長為32 ms,幀移為10 ms,語音在進行FFT變換時點數(shù)設(shè)置為512,故譜包絡(luò)與非周期性成份特征長度為257維。該實驗使用15幀作為特征窗口(前后各7幀),時間步長也設(shè)置為15幀,因此在特征映射模塊中的BLSTM層的隱藏層中存儲有來自上下文的15幀信息。BLSTM層中每一層的隱藏單元數(shù)如表1所示,其中隱藏層激活單元為RelU。而包含15幀上下文信息的BLSTM層輸出序列在傳遞到DCNN層中,借助CNN能夠提取局部特征的功能,最終輸出中間幀的預(yù)測特征。DCNN中每層的卷積核大小都為3*3,池化層大小如表1所示。該實驗中mini-batch設(shè)置為128,并且將均方誤差(Mean Squared Error,MSE)作為損失函數(shù)來訓(xùn)練網(wǎng)絡(luò)。初始學(xué)習(xí)率設(shè)置為 0.001,如果連續(xù)兩輪損失沒有減小,學(xué)習(xí)率將減少50%。
表1 DBLSTM-DCNN模型參數(shù)設(shè)置表Table 1 Parameter setting of DBLSTM-DCNN model
本文采用語音質(zhì)量感知評價 PESQ,短時客觀可懂度STOI和對數(shù)譜距離LSD這三個指標來客觀評估語音質(zhì)量。PESQ分數(shù)衡量整體語音質(zhì)量(?0.5~4.5,分數(shù)越高越好),STOI分數(shù)衡量語音清晰度(0~1,分數(shù)越高越高),而LSD衡量兩個信號之間的對數(shù)頻譜距離(分數(shù)越低越好)。
在平均主觀意見分(Mean Opinion Score,MOS)[23]測試中,聽眾被要求使用5分制評分,分值為0~5,對應(yīng)的PESQ評分范圍為?0.5~4.5。4名志愿者(2男、2女)參與了這項測試。進行平均意見評分(MOS)測試,獲得主觀評價。
本文的對比實驗BLSTM模型來自文獻[9]提出的轉(zhuǎn)換模型。使用4層連續(xù)的BLSTM來實現(xiàn)BCM語音的轉(zhuǎn)換。4層BLSTM隱藏單元的數(shù)量為[257,512,512,257],激活函數(shù)設(shè)置為RelU,同時為了提高模型的非線性擬合能力以及防止過擬合,每層隱藏層之后都添加有dropout值為0.7的dropout層。而本文的另一個對比實驗?zāi)P褪巧疃壬窠?jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN),一個包含3個隱藏層的DNN模型。該模型的網(wǎng)絡(luò)結(jié)構(gòu)為[514,512,512,512,257],并采用ReLU函數(shù)作為隱藏層的激活函數(shù),同時為了提高泛化能力,在每層隱藏層之后加入dropout值為0.7的dropout層。
為了證明本文提出的DBLSTM-DCNN轉(zhuǎn)換模型在骨導(dǎo)語音轉(zhuǎn)氣導(dǎo)語音的有效性,將本文所提方法與BLSTM模型進行比較,實驗結(jié)果如表2所示,其中BCM指每名說話人的BCM語音與其ACM語音在不同評價指標下的對比結(jié)果,BLSTM與DBLSTM-DCNN表示使用2種轉(zhuǎn)換算法轉(zhuǎn)換后的語音與ACM語音的對比結(jié)果。其中說話人以M1、M2、F1、F2表示,M代表男性,F(xiàn)代表女性,M1即序號為1的男性。Avg是根據(jù)4名說話人在不同轉(zhuǎn)換模型下的評價結(jié)果計算出來的平均值。
從表2可以看出,無論是DNN模型,BLSTM模型還是DBLSTM-DCNN模型,轉(zhuǎn)換后的語音LSD都明顯減小,說明DNN模型一定程度上可以學(xué)習(xí)到骨導(dǎo)語音的高頻信息,BLSTM單元確實可以有效提取時域維度的隱藏特征,與DNN模型和BLSTM模型相比,DBLSTM-DCNN模型得到的轉(zhuǎn)換語音LSD分別降低了15%和5.36%,表明同時考慮到時域維度與頻域維度的DBLSTM-DCNN模型更適合BCM語音的轉(zhuǎn)換。同時相比于DNN模型和BLSTM模型,DBLSTM-DCNN模型在PESQ上也有所改善,PESQ分別提高了22.66%和12.07%,表明該深度神經(jīng)網(wǎng)絡(luò)能夠有效提高BCM語音的感知語音質(zhì)量。且DBLSTM-DCNN模型的STOI相比 DNN模型和BLSTM模型分別提高了11.3%和6.01%,表明DBLSTM-DCNN模型轉(zhuǎn)換得到的語音幅度譜更接近正常語音的幅度譜,且語音可懂度更高。表3給出了BLSTM模型與DBLSTM-DCNN模型轉(zhuǎn)換后語音的MOS值。由表3可看出,DBLSTM-DCNN轉(zhuǎn)換語音的MOS值比DNN和BLSTM方法分別提高了24.7%和18.91%,表明與BLSTM相比,DBLSTM-DCNN模型能夠得到更高質(zhì)量的轉(zhuǎn)換語音。
表2 BCN,DNN,BLSTM與DBLSTM-DCNN模型的評測標準PESQ、STOI、LSD對比表Table 2 Comparison table of the evaluation criteria PESQ,STOI and LSD for BCN,DNN,BLSTMand DBLSTM-DCNN models
圖4分別給出氣導(dǎo)語音、骨導(dǎo)語音、BLSTM及DBLSTM-DCNN模型轉(zhuǎn)換后語音的語譜圖。圖4(a)為氣導(dǎo)語音的語譜圖,說話人在發(fā)音時聲帶產(chǎn)生的激勵信號會經(jīng)過口腔、鼻腔、嘴唇等調(diào)音區(qū),因此與其對應(yīng)的摩擦音、爆破音、清音等輔音音節(jié)保存比較完整。從圖4(b)中可以看出,骨導(dǎo)語音在高于3 kHz的部分幾乎完全衰減,能量趨近為0。圖4(a)在1.4~1.5 s的高頻部分是輔音音節(jié),輔音只有高頻部分,沒有低頻部分。圖4(a)中輔音音節(jié)保存完整,而骨導(dǎo)語音缺少高頻成分,可見圖4(b)中摩擦音、爆破音、清音等輔音音節(jié)丟失較為嚴重。從圖4(c)中可以看出,通過BLSTM模型轉(zhuǎn)換的語音在高頻部分雖然頻譜有所恢復(fù),但是頻譜的聲紋信息的細節(jié)與ACM語音相比仍有一些差別,這是由于BLSTM僅僅利用相鄰時域的相關(guān)性進行建模,沒有考慮到骨導(dǎo)語音在高頻區(qū)域的特殊性,無法對骨導(dǎo)語音的相鄰頻域進行頻域相關(guān)性的建模,轉(zhuǎn)換語音在高頻部分的預(yù)測效果也因此有所瑕疵。而從對比圖4(d)中可以看出,雖然DNN能夠一定程度上對骨導(dǎo)語音的高頻區(qū)域進行建模,但是僅僅是包含部分能量,無法對頻譜細節(jié)進行映射,這是由于DNN不能對頻域與時域相關(guān)性進行很好的提取。對比圖4(a)、圖4(c)、圖4(d)和圖4(e)可以發(fā)現(xiàn),采用本文方法轉(zhuǎn)換的氣導(dǎo)語音和目標氣導(dǎo)語音在頻譜結(jié)構(gòu)上擁有更高的相似度,比如在1.5~1.8 s之間,高頻部分聲紋信息比較清晰與完整、層次分明,而且低頻部分的頻譜細節(jié)也較為相似。同時,從語譜圖4(a)~4(e)中1.4~1.5s之間的高頻區(qū)域可以看出,圖4(c)和4(e)都能較好的恢復(fù)骨導(dǎo)語音的輔音音節(jié),其中4(e)的輔音部分與4(a)更為接近。在 1.4~1.5 s之間,摩擦音、爆破音、清音等輔音音節(jié)恢復(fù)效果較好,可見使用本文方法轉(zhuǎn)換的語音更加接近氣導(dǎo)語音,表明本文方法轉(zhuǎn)換的語音優(yōu)于DNN模型和BLSTM模型轉(zhuǎn)換的語音。
表3 DNN,BLSTM與DBLSTM-DCNN模型轉(zhuǎn)換后的語音MOS值對比Table 3 Comparison of voice MOS values after speech conversion by DNN,BLSTMand DBLSTMDCNN models
語音信號具有很強的時域與頻域相關(guān)性。相比于傳統(tǒng)的GMM和BLSTM等專注于上下文信息(時域信息)的語音轉(zhuǎn)換算法,本文提出了一種基于DBLSTM-DCNN的依賴于說話者的BCM語音轉(zhuǎn)換模型。該模型利用DBLSTM層來收集時域信息并保存,再通過DCNN層來提取頻域特征,最終達到同時考慮時域與頻域相關(guān)性的效果。
DBLSTM-DCNN模型的語音轉(zhuǎn)換是通過WORLD聲碼器先提取出來的譜包絡(luò)、非周期性成分和基頻三種特征,再分別利用DBLSTMDCNN_sp、DBLSTM-DCNN_ap和DBLSTMDCNN_f0模型實現(xiàn)上述三種特征轉(zhuǎn)換,最終由預(yù)測出來的三種氣導(dǎo)語音特征合成出轉(zhuǎn)換語音??陀^和主觀的評估結(jié)果表明,BCM語音質(zhì)量均有所提高。本文提出的DBLSTM-DCNN模型在一臺擁有GTX 1080Ti顯卡的電腦上進行實驗需要花費60 h左右的時間。未來的研究工作包括優(yōu)化模型進而縮減實驗時間,將更高級的模型(如添加注意力機制)以縮小生成的骨導(dǎo)語音高頻成分與氣導(dǎo)語音高頻成分數(shù)據(jù)分布間的差異,在BCM轉(zhuǎn)換中引入多模態(tài)特征(人在說話時唇部視覺信息也包含語音信息)。