王 睿,艾斯卡爾·艾木都拉
(1.新疆大學(xué) 信息科學(xué)與工程學(xué)院,新疆 烏魯木齊 830017;2.新疆大學(xué) 多語種信息處理實驗室,新疆 烏魯木齊 830017)
低語是一種很常見的發(fā)音方式,在公共場合為避免信息泄漏或者打擾到周圍的人,人們常常會使用低語進行交流。20世紀50年代展已開對低語的研究,從對低語的發(fā)音方式、特征表現(xiàn)、與正常語音之間特征差異的研究,到低語語音識別、低語轉(zhuǎn)換成正常語音、低語說話人識別/判別、低語端點檢測、生成偽低語等方向的研究。
低語研究是語音研究中的一個熱門方向[1-2],但關(guān)于低語與正常語音分類系統(tǒng)的研究比較少。A.H.Poorjam等人提出了一種基于在噪聲信號的Mel頻率倒譜系數(shù)(Mel Frequency Cepstrum Coefficient,MFCC)上培訓(xùn)的回歸模型,該方法在不同噪聲條件下為各種語音類型提供了準確的估計和一致的相似性[3];Z.Raeesy等人使用長短期記憶網(wǎng)絡(luò)模型(Long Short-Term Memory,LSTM),從對數(shù)濾波器組能量(Log-Filterbank Energy,LFBE)學(xué)習(xí)低語特性,并進行低語語音檢測,得到不錯的效果[4]。
雖然分類器的研究較少,但是低語與正常語音的分類器是有必要的,分類器可以用于前期準備數(shù)據(jù)部分,因為低語的發(fā)音方式比較特別,有些人在錄制低語數(shù)據(jù)時可能無法保證全程保持低語狀態(tài),導(dǎo)致該條語音錄制無效,如果是準備建立一個低語語料庫,可以先使用分類器將錄制的語音進行初步篩選,減輕人工負擔(dān);或者是用在識別系統(tǒng),當(dāng)有兩個識別系統(tǒng)——低語和正常語音的識別系統(tǒng),可將該分類器放在前端用于區(qū)分低語和正常語音,非常適合應(yīng)用在日常生活語音助手當(dāng)中,判別用戶的使用狀態(tài),提高用戶使用語音助手的使用感和幸福感。由于目前低語語料庫包含語音數(shù)較少,有些模型需要大量的語料,于是有些學(xué)者提出使用偽低語語音[5-6]。偽低語可以從正常語音轉(zhuǎn)換也可以合成,這時分類模型可以當(dāng)作偽低語生成的評判標準之一,檢驗偽低語語音生成的合格度以及準確度。
本文將探討基于深度學(xué)習(xí)網(wǎng)絡(luò)的低語與正常語音分類方法,首先創(chuàng)建一個有低語與正常語音的語料庫,為后期實驗打下堅實基礎(chǔ);其次,分析找出來3個在低語和正常語音上表現(xiàn)出明顯差異的特征;最后通過分析提出使用特征融合的方式,在卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)基礎(chǔ)上搭建一個分類系統(tǒng)。
語音的數(shù)據(jù)庫是整個語音識別研究的基礎(chǔ)和對象,一個優(yōu)秀的語音數(shù)據(jù)庫需要從多方面進行規(guī)范設(shè)計[7-8],例如發(fā)音規(guī)范、數(shù)據(jù)采集環(huán)境規(guī)范、音段長短規(guī)范、聲學(xué)及語音學(xué)特征平衡規(guī)范等。由于漢語低語語音的研究比較少,并沒有優(yōu)秀的中文低語語音庫作為參考,為了保證研究的順利進行,本文自行建立了一個包含低語和正常語音的漢語語料庫。根據(jù)現(xiàn)實需求,該語料庫中的語音語料都是8位數(shù)字串,數(shù)字串是11位數(shù)字隨機打亂組合而成,數(shù)字包括:1,2,3,4,5,6,7,8,9,!(中文中特有的口音1讀作yao)。
語料庫通過實習(xí)公司所制作的專業(yè)錄音軟件錄制,數(shù)據(jù)均為所實習(xí)公司所有,該軟件安裝在公司員工的個人手機上,方便員工錄制。數(shù)據(jù)錄制為16 kHz,8 bit,WAV格式存儲。
錄制語音前,制定了錄制標準,有以下幾點:
1)確保在安靜的環(huán)境下錄制語音;
2)錄制時要確保數(shù)字串的完整性,先點擊錄制按鈕,再開始讀語音,8位數(shù)字讀完之后,再松開按鈕;
3)錄制低語時,要在錄制全程保持低語狀態(tài),控制聲帶不要振動。
在確定好錄制標準后,收集公司員工資料,確定錄制人員,錄制人年齡控制在20~50歲之間,并且要求口齒清晰,普通話標準,能夠準確地發(fā)出低語語音,確保錄制的數(shù)據(jù)較為完整,避免浪費資源。
所有的錄音結(jié)束后,收集整合所有數(shù)據(jù),并采取人工篩選語音的方式來確保音頻的質(zhì)量。篩選前統(tǒng)計每人錄制總體語音條數(shù)和參與錄制的人員。由于中途有人請假或者忘記錄制數(shù)據(jù)的情況,所以每個人的數(shù)據(jù)數(shù)量是不同的,先將數(shù)據(jù)錄制過少的人篩除,然后通過人工聽語音篩除錄制不規(guī)范的語音。篩除語音的標準和錄制標準一樣,數(shù)字串是完整的,背景沒有噪聲,低語錄制過程全程保持低語狀態(tài)。篩選的目的是確保低語數(shù)據(jù)庫中只包含低語且在一條語音中只包含同一種發(fā)音方式,從而確保數(shù)據(jù)的準確性。
參與的人數(shù)和錄制的語音條數(shù)如表1所示。
表1 語料庫包含人數(shù)及語音條數(shù)
將正常語音和低語語音分為訓(xùn)練集7 500條語音、測試集1 500條語音和驗證集1 500條語音(測試集、訓(xùn)練集、驗證集包含相同的說話人),數(shù)據(jù)的標簽沒有單獨放進CSV文件中,而是以上級文件名作為標簽,數(shù)據(jù)存儲結(jié)構(gòu)如圖1所示。
圖1 數(shù)據(jù)存儲結(jié)構(gòu)
在本節(jié)中,介紹所用到的聲學(xué)特征。低語和正常語音發(fā)音方式不同,正常說話時,氣流正常通過發(fā)音腔引起聲帶振動;而低語發(fā)音時聲帶緊閉氣流通過狹小縫隙發(fā)出,聲帶并不振動,而且氣流發(fā)出時通過發(fā)音腔比較困難,這使得發(fā)出低語時,發(fā)音會變得緩慢。低語和正常語音特征差異明顯,于是本次實驗選擇以下了三種特征:
1)頻譜圖[9]。頻譜圖是一種直觀的方式,表示信號在特定波形中出現(xiàn)的各種頻率隨時間變化的信號強度或“響度”。從圖2頻譜圖中不僅可以看到在例如2 Hz與10 Hz時能量是多還是少,而且還可以看到能量水平如何隨時間變化。低頻部分低語和正常語音差異較大,這是因為低語發(fā)音時聲帶不振動,不能引起共鳴,而沒有基頻和諧波。頻譜可以通過計算能量譜密度或者是功率譜密度(Power Spectral Density,PSD)得到。
圖2 數(shù)字串90306718的頻譜圖
2)頻譜平坦度[10]。頻譜平坦度也叫作維納熵,即各個頻率分量的幾何平均數(shù)與算術(shù)平均數(shù)的比值,計算公式如下:
如果各分量的值相當(dāng),那么等式比值接近于1,這時認為輸入語音是白噪聲;如果各分量差異比較大的話,那么等式的比值接近0,一般認為有語音產(chǎn)生。頻譜平坦度如果接近1.0表明光譜類似于白噪聲,這個特征可以比較明顯地區(qū)分低語和正常語音。正常語音各分量差異較大,而低語的各分量差異較小,所以選取頻譜平坦度作為輸入特征。
3)均方根。文獻[11]中提出利用RMS分割的語音片段,因為中高均方根段的語音攜帶有更多的元音信息,而正常語音和低語最大的區(qū)別就在于元音發(fā)音方式上。一段聲音信號的均方根就是聲壓有效值,聲壓是指平時所說的聲音有多少分貝,低于某一壓值,人耳就再也不能覺察出這個聲音的存在了。人耳在聽低語時,需要發(fā)出低語的人靠近人耳盡力地說才能夠聽得到,所以低語分貝低于正常語音。從圖3低語與正常語音的RMS可視化圖中可以看出,低語RMS曲線較為陡峭且短暫,正常語音比較平緩且持續(xù)時間長。
圖3 數(shù)字6的RMS可視化圖
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)與普通神經(jīng)網(wǎng)絡(luò)非常相似,都由具有可學(xué)習(xí)的權(quán)重和偏置常量(Biases)的神經(jīng)元組成。選擇CNN[12-13]是因為CNN在語音情感分類中表現(xiàn)出來良好的效果,而低語與正常語音分類、情感分類有些類似,都是借助語音的某些聲學(xué)特征學(xué)習(xí)到特征中的差異,從而進行分類。于是根據(jù)CNN的特性構(gòu)建了分類器模型,模型主要框架如圖4所示。該模型包含兩個卷積層,卷積層之后有Flatten層,它是從卷積層到全連接層的過渡。卷積層上的過濾器數(shù)量為32,每層使用的內(nèi)核大小為16。激活函數(shù)使用softmax。
圖4 模型總體框架
結(jié)果用Accuracy來評價[14-15]。Accuracy指的是正確預(yù)測的樣本數(shù)占總預(yù)測樣本數(shù)的比值,它不考慮預(yù)測的樣本是正例還是負例,評價公式如下:
式中:True Positive(TP)表示預(yù)測為正例,實際為正例;False Positive(FP)表示預(yù)測為正例,實際為負例;True Negative(TN)表示預(yù)測為負例,實際為負例;False Negative(FN)表示預(yù)測為負例,實際為正例。簡單來說就是TP和TN都是預(yù)測正確,F(xiàn)P和FN都是預(yù)測錯誤。
為了驗證本文所提出的特征融合方法在正常語音和低語分類的有效性,選擇將人眼直觀看到的低語與正常語音差異最明顯的特征—頻譜圖的數(shù)值當(dāng)作輸入特征,作為本次實驗的基線實驗。實驗所用到的特征通過librosa提取,實驗epoch設(shè)置為30個,學(xué)習(xí)率設(shè)置為0.005,batch_size設(shè)置為16。實驗首先分別將3個特征Spectral Flatness、RMS、頻譜圖當(dāng)作分類器的特征輸入,接著將頻譜圖和Spectral Flatness特征融合、RMS和Spectral Flatness特征融合分別當(dāng)作分類器的輸入,將5種實驗結(jié)果進行對比,結(jié)果如表2所示。
表2 實驗結(jié)果
由表2可以看到,單獨使用頻譜圖特征,分類效果是76.67%,但將RMS和Spectral Flatness結(jié)和起來分類效果可以達到86.67%。表明將RMS特征和Spectral Flatness融合的特征得到的結(jié)果要比僅使用頻譜圖特征效果好。RMS計算的是聲音的分貝值,Spectral Flatness計算的是當(dāng)前幀語音噪聲概率,兩者都能夠比較好地體現(xiàn)出低語與正常語音之間的差異,所以將兩者結(jié)合效果要比其他特征好。
圖5、圖6分別為訓(xùn)練集和測試集數(shù)據(jù)集在epoch上的交叉熵損失和分類精度曲線,展示了30個epoch的訓(xùn)練和驗證過程。val_loss開始減少,val_acc開始增加。在這種情況下,繪圖顯示模型似乎已經(jīng)收斂。交叉熵損失和準確度的線圖都顯示出良好的收斂行為。該模型配置良好,沒有過擬合或欠擬合的跡象,這意味著構(gòu)建的模型可以正常學(xué)習(xí)到特征信息。觀察圖5、圖6發(fā)現(xiàn)24個epoch時,模型收斂較好,于是測試epoch數(shù)量對分類效果的影響,結(jié)果如表3所示。
圖5 模型的損失過程
圖6 模型的準確度過程
表3 epoch對訓(xùn)練結(jié)果的影響
從表3中可以看出30個epoch時,模型分類效果最佳,相較于24個epoch,30個epoch時效果要高1.67%。
本文借助CNN,將特征RMS和Flatness融合當(dāng)作新特征的方式來區(qū)分低語和正常語音。實驗結(jié)果表明,將兩個在低語與正常語音中表現(xiàn)出明顯差異的特征進行融合,當(dāng)作分類系統(tǒng)的新特征,對區(qū)分低語和正常語音有一定的幫助。在未來的工作中,將把重點放在利用二維頻譜圖特征來區(qū)分低語和正常語音。頻譜圖中,在低頻部分因為低語和正常語音差異較大,低語沒有基頻和諧波共振,如果只截取頻譜圖低頻部分當(dāng)作分類系統(tǒng)特征,應(yīng)該會提高分類效果,在未來實驗中可以進行驗證。