陳愛華,張石清
(臺州學院 電子與信息工程學院,浙江 臺州 318000)
語音端點檢測(Voice Activity Detection)是語音識別領域一個重要內容,是語音信號處理的第一步,它主要是從音頻文件中確定語音片段的起止點,進而分辨出語音信號和非語音信號區(qū)域[1]。研究表明,即使是在理想條件下,語音識別技術的錯誤大部分都是由語音端點檢測不準確造成的[2],因此語音端點檢測在語音信號處理中具有重要的意義。
當前,語音端點檢測的方法很多,早期算法主要是基于時域特征進行檢測[3],如最早的語音端點檢測是以語音的短時能量和過零率特征來實現(xiàn)的[4],后來人們又將語音信號從時域轉換到頻域,并將熵特征引入到語音端點檢測中[5],提出了基于頻帶方差的檢測[6]、基于共振諧波的檢測[7]、基于倒譜域特征的檢測[8]等等。隨著人工智能的不斷發(fā)展,新的算法不斷涌現(xiàn),小波分析、人工神經網絡、支持向量機等技術也應用到了語音端點檢測中[9-11],取得了較好的效果。但在實際語言環(huán)境中,由于語音背景環(huán)境復雜,單一的語音端點檢測算法難以適應各種環(huán)境,算法的魯棒性和準確性不高。近年來,新發(fā)展起來的深度神經網絡(Deep Neural Network,DNN)通過采用多層網絡結構進行層次化特征學習,表現(xiàn)出強大的非線性學習能力和預測能力[12],特別是在語音信號識別和增強方面表現(xiàn)出了優(yōu)越的性能[13-15][16]211。音頻文件的耳蝸特征具有較好的語音識別能力和噪聲魯棒性[17]168;短時特征可以有效地區(qū)分音頻信號的清音段和濁音段[18]755;長時變化特征在非平穩(wěn)噪聲的環(huán)境下,具有更好的分辨率和更高的檢測率[19]。本文融合這三種語音信號特征,作為DNN的輸入計算信號屬于語音/非語音的概率,然后根據(jù)閾值判定語音端點。仿真實驗結果表明,該算法可以在復雜語言環(huán)境下實現(xiàn)語音端點檢測,適應能力強,具有較高的準確性和魯棒性。
Gammatone(GT)濾波器是一種耳蝸聽覺濾波器,濾波器低頻段信息豐富,高頻段信息簡單,與人耳聽覺特性較符合,中心頻率的分布和每個頻率子帶的特性都與人耳基底膜的特性對應,可用于音頻信號的分解及特征提取[17]169。GT濾波器組的表達式是從沖激響應的測量中得出的,具有完整的幅度和相位信息。它的脈沖響應公式如下所示:
其中,c為調節(jié)比例的常數(shù);n為濾波器的階數(shù),通常標定為4.0;b為衰減速率,值越大衰減越快,脈沖反應時間就越少;f0為濾波器組的中間頻率,f0取值為0時的GT濾波器稱為基帶GT;φ為濾波器相位。
Gabor變換是加窗傅里葉變換的一種,它可以抽取空間局部頻域特征,具有較好的頻率選擇和方向選擇的性質[18]756。Gabor濾波器是一個二維濾波器,它的表達式如下所示:
其中,實部部分的表達式為
虛部部分的表達式為
其中,波長(λ)以像素為單位,通常不會小于2;方向(θ)用于指定Gabor函數(shù)并行條紋的方向,取值范圍為0到360度;相位偏移(φ)取值范圍為±180°;長寬比(γ)為空間縱橫比例,用于表示Gabor函數(shù)形狀的橢圓率,當γ=1時為正圓形。
語音信號是一維信號,本文首先對語音信號進行方向場估計和脊線頻率估計,生成一個帶有特定方向和頻率分布的正弦平面波。Gabor濾波器可以很好地增強代表諧波成分的脊線附近區(qū)域,由此可以獲取語音樣本信號的短時特征。
LTSV(Long-Term Signal Variability)濾波使用一個較長時的語音分析窗口來分析語音信號和噪聲信號的非平穩(wěn)性變化特點,因此在非平穩(wěn)噪聲的環(huán)境下,與短時特征相比,算法具有更好的分辨力和更高的準確率[20]。算法首先對音頻文件進行短時處理,然后使用一個長時分析窗口利用熵的測量進一步處理。算法的基本原理如下:首先,對語音信號進行分幀加窗,采用短時傅里葉變換(Sort-Time Fourier Transform,STFT),將信號由時域變換到頻域,計算語音的短時譜為SX(n,ωk),具體公式如下所示:
其中,X(n,ωk)表示第n幀語音在頻率為ωk時的STFT系數(shù),Nω為語音幀長,Nsh表示幀偏移量。接著計算每個頻率點的熵,公式如下所示:
熵的計算范圍是包括當前幀在內的前R幀對應頻率點的短時譜值,實現(xiàn)了語音的長時分析。計算K個頻率點的熵的方差,就可以獲得長時濾波的特征值Lx(m)。
深度神經網絡是在淺層神經網絡的基礎上發(fā)展起來的,它克服了淺層神經網絡表示能力有限、易產生局部最優(yōu)等問題,具有較好的非線性模擬性能和泛化能力。通常情況下,DNN的低層網絡主要用于提取高層特征,而高層網絡用于分類問題。本文利用深度神經網絡強大的非線性學習能力和預測能力,解決傳統(tǒng)語音端點檢測對噪聲估計難、端點檢測準確率低的問題。DNN由輸入層、多個全連接的隱含層和輸出層構成。采用DNN進行語音端點檢測時,輸入層用于接收語音的特征信號,隱含層對這些特征信號進行處理分析、計算,建立特征與分類間的關系,輸出層給出DNN分類的后驗概率。
其中,p(qi)是qi狀態(tài)的先驗概率,可以通過模型訓練得到[16]212。
本文以多特征融合的語音信號作為輸入信號,通過事先訓練好的DNN網絡模型,計算每一幀語音信號屬于語音或者非語音的概率。具體來說,采用典型的音頻數(shù)據(jù)集DARPA RATS[21]中的訓練集用于DNN模型的訓練,從而得到一個訓練好的DNN模型。對于新的測試樣本,將使用該訓練好的DNN模型進行測試。
基于深度神經網絡和多特征融合的語音端點檢測算法的整體流程如圖1所示。首先加載音頻文件,然后采樣生成語音源文件;進而采用GT濾波算法提取音頻源文件的耳蝸特征,采用Gabor濾波算法提取短時特征,采用LTSV濾波算法提取長時變化特征。由于不同算法得到的語音信號特征值的范圍不同,因此,首先將這三種特征信號進行歸一化處理,融合后作為深度神經網絡的輸入信號。通過網絡模型計算每一幀語音信號屬于語音/非語音的概率,由于網絡輸出的語音概率準確率較高,文中采用簡單的閾值進行判斷,若計算得到的語音概率如果大于0.5,則判斷為語音信號,取值為1,否則取值為0。最后通過一定窗長的中值濾波算法去掉孤立的跳變點,完成語音信號的端點檢測。
圖1 算法流程圖
為了驗證算法的有效性,首先對理想環(huán)境下采集的音頻文件進行仿真實驗,檢測處理結果如圖2所示。圖2中用到的音頻文件是在安靜的實驗室環(huán)境下采集得到,其中包含三段語音信號。圖2(a)是采用GT濾波處理后的數(shù)值顏色化輸出結果,獲取的是語音信號的耳蝸濾波后的特征;圖2(b)是采用Gabor濾波處理后的數(shù)值顏色化輸出結果,獲取的是語音樣本信號的短時特征;圖2(c)是采用LTSV濾波后的數(shù)值顏色化輸出結果,獲取的是語音信號的長時變化特征。從這三個仿真結果可以看出:(1)音頻文件經過這些算法處理后,得到的特征數(shù)據(jù)的語音區(qū)域明顯區(qū)別于非語音區(qū)域,有利于后面的檢測;(2)三種特征檢測處理后的數(shù)據(jù)值范圍區(qū)別較大,因此在進行特征融合前,必須對數(shù)據(jù)進行歸一化處理后才可以送到DNN網絡的輸入端。圖2(d)是采用DNN和多特征融合的語音端點檢測出的三段語音信號。
圖2 理想語音信號檢測處理結果
為了便于觀察每種濾波算法的輸出結果與語音端點檢測結果的差異,將最后語音端點檢測結果疊加到濾波處理后的結果上,用方框表示。仿真結果如圖3所示,為了清晰顯示語音端點的位置,圖3(a)和圖3(b)中,語音區(qū)域設置值為10,非語音區(qū)域設置值為0,下面的仿真實驗也是如此設置。
圖3 理想環(huán)境下的語音端點檢測結果
為了驗證文中提出的語音端點檢測算法的魯棒性,分別在三種自然背景噪聲的干擾下采集三個音頻文件來進行仿真實驗。
第一個音頻文件是在開著電風扇的實驗室環(huán)境下采集得到的,其中包含三段語音信號,語音端點檢測結果如圖4所示。三段語音信號均被檢測到,但是由于電風扇產生的噪音信號的干擾,檢測到的語音信號的起止點略有偏差。
圖4 開著電風扇的實驗室環(huán)境下語音端點檢測結果
第二個音頻文件是在公園里采集得到,語音端點檢測結果如圖5所示。前面一段沒有人講話,但是有自然環(huán)境下的背景噪音;后半部分有人一直在講話,由于說話人換氣等因素的影響,造成說話聲音有間隔,最后被識別為幾段語音。
圖5 公園環(huán)境下的語音端點檢測結果
第三個音頻文件是在建筑工地施工環(huán)境下采集得到的,語音端點檢測結果如圖6所示。這段在相對惡劣語音環(huán)境下的語音信號與公園采集得到的語音信號有點相似。前面一段沒有人講話,只有工地里面的各種噪聲;后面是有人講話的語音信號。用文中算法雖然檢測到了語音信號,但是由于受到施工工地榔頭敲打、砸東西等強噪聲的影響,前面的噪聲部分被誤檢出了語音信號。
圖6 建筑工地施工環(huán)境下的語音端點檢測結果
根據(jù)前面的仿真結果可以看到,本文提出的算法可在自然環(huán)境噪音背景下完成語音端點檢測,即使在較為惡劣的環(huán)境下,仍然可以檢測到語音信號。結果說明,結合DNN和多種特征融合的算法在語音端點檢測方面具有較高的準確性和魯棒性。
針對自然語言背景環(huán)境復雜、當前單一語音端點檢測算法檢測準確率較低及魯棒性較差的問題,本文提出了一種基于深度神經網絡和多特征融合的語音端點檢測算法。該算法針對語音信號的特點,分別提取了耳蝸特征、短時特征以及長時變化特征,對語音信號分析較為全面,使算法具有較強的魯棒性。深度神經網絡在語音信號增強及識別中取得了較好的效果,我們將以上三種特征融合后作為深度神經網絡的輸入信號,經過處理后得到的語音信號的概率準確性較高,進一步提高了算法端點檢測的準確性。但當前論文研究主要停留在實驗室環(huán)境下,計算較為復雜,后續(xù)工作考慮將算法進一步簡化并應用到實際場景中,以期為自然語言背景下語音端點檢測技術的研究提供較高的參考價值和應用價值。