付 英,劉增力
(1.昆明理工大學 信息工程與自動化學院,云南 昆明 650504;2.昆明理工大學 云南省人工智能重點實驗室,云南 昆明 650504)
語音是人類非常有效的溝通方式,隨著計算機科學的迅速發展,語音識別技術成為了保障人類日常生活的關鍵技術[1]。在語音識別領域,確定說話者所說的語言是溝通的前提,是語言研究的關鍵部分。目前,國內以普通話為首的語音識別技術研究已日趨完善,但我國是一個多民族且多語言的國家,針對方言的識別研究較少,且識別率較低。在處理帶有方言的語音數據時,語音識別性能往往會下降,所以方言的有效識別是提高語音識別效率的重要手段[2]。
方言語種識別是通過一段語音確定說話者所屬片區的研判方法,其識別技術可廣泛應用于多語言信息處理、機器翻譯、接線服務等領域,同時可應用于軍事偵察和司法鑒定等方面[3]。迄今為止,人們針對漢語方言識別提出了許多方法,主要集中在特征提取和模型選擇兩個方面。文獻[4]基于聲學特征進行自動語言辨識,但所需音頻較長,難以有效識別短文本語音。文獻[5]和文獻[6]在語種識別系統中使用音素特征得到了較好的效果,但必須標注語素序列,且系統需包含聲學模型和語言模型,較為復雜。文獻[7]和文獻[8]針對方言識別精度低的問題,利用深度學習提取更具表征方言信息的深度瓶頸特征,進一步推進了方言識別研究,但所需模型更為復雜。因此,研究如何在構造簡單的系統模型結構的同時,增強方言語種識別率,在語音識別領域具有重要的意義。
在方言語種識別中,常用的聲學特征有,梅爾頻率倒譜系數(Mel-Frequency Cepstral Coefficients,MFCC)[9]、感知線性預測系數(perceptual Linear Predictive,PLP)[10]、音調特征[11]等。但這些特征提取方法多數是將語音信號視為短時間內是平穩信號來處理的,忽略了信號本身的非線性和非平穩性,不能全面獲取語音中的方言語種信息。文獻[12]基于經驗模態分解(Empirical Mode Decomposition,EMD)較好地提取了信號的非線性特征,但存在混疊。文獻[13]和文獻[14]進一步利用變分模態分解(Variational Mode Decomposition,VMD)較好地解決了混疊現象,且魯棒性好。可以看出,基于VMD的改進MFCC 來進行特征提取,能有效表征語音中的方言信息,但單一特征往往對方言之間的差異性描述得不夠全面。文獻[15]將Teager 能量算子和聲學特征進行融合,提高了自動方言識別的準確率,驗證了能量特征在語音識別中的有效性。另外,為了提升語音識別在噪聲環境下的抗噪性,文獻[16]將語音特征提取與語音增強融合,增強了語音識別的魯棒性。
針對上述提出的傳統底層聲學特征無法完全表征方言語種信息,以及在噪聲環境下識別性能差的問題,為了提高漢語方言識別率和抗噪魯棒性,本文運用VMD 改進MFCC 特征與Teager 能量算子倒譜參數(Teager Energy Operator Cepstral Coefficient,TEOCC)融合得到的一種新特征變分模態能量倒譜系數(Feature extraction is based on variational Modal decomposition and Teager Energy operator Cepstral Coefficients,VMTECC),與高斯混合通用背景模型(Gaussian Mixture Model-Universal Background Model,GMM-UBM)結合進行方言語種識別。另外,為驗證VMTECC 在噪聲環境中的魯棒性,進一步使用深度神經網絡(Deep Neural Networks,DNN)模型在特征提取前端對語音信號進行增強處理。
VMD 的目的是將非線性平穩信號分解為帶寬上具有特定稀疏特性的帶限模式集合[13]。不同于經驗模態分解算法,它是一種非遞歸信號分解技術,通過求解以下約束變分優化問題來實現,約束變分優化問題的表達式為:

式中:f(t)為原始輸入信號;{uk}={u1,u2,…,uK}表示K個模態分量集;{ωk}={ω1,ω2,…,ωK}表示K個模態分量的中心頻率集;?t為微分算子;δ(t)為Dirac 函數;||·||為范數。
為解決式(1)變分約束問題,采用交替方向乘子算法(Alternating Direction Method of Multipliers,ADMM)不斷迭代更新模式分量和中心頻率。當滿足收斂條件時迭代停止,此時可得到K個本征模式函數(Intrinsic Mode Functions,IMF)分量集和中心頻率集。VMD算法能自適應切割語音信號頻帶,避免了混疊現象的產生,而且在分解過程中確定模式分解個數,相比EMD 算法大量的無效分解,大大降低了計算量。
VMD 算法進行信號分解時需要確定分解層數K的大小,K值過大或者過小會導致過分解或者欠分解。K值從1 開始,VMD 分解得到的固有模態分量IMF 的中心頻率隨著K值逐漸遞增,直至最大中心頻率保持相對穩定時,即可確定此時的K值為最恰當的分解層數。表1 是根據方言數據分解得到的各IMF 中心頻率,K=7 時頻率最大值和最小值基本保持不變,因此確定K的最佳值為7。

表1 不同K 值對應各IMF 分量的中心頻率 Hz
雖然各地方言屬于漢語,但與普通話存在一定的差異。普通話分為4 個聲調,分別為陰平、陽平、上聲和去聲,而方言包含更多的聲調,以長沙話為例,在普通話3 種基本聲調的基礎上,去聲分為陰去和陽去,并保留了入聲聲調[17],表2 為普通話與方言之間的聲調對比。

表2 普通話與方言聲調對比
由于方言語音信號相對于普通話包含了較多的非線性特征,而傳統的聲學特征將語音視為短時平穩信號,忽略了信號的非線性特性[18]。針對該問題,本文運用VMD 算法改進了MFCC,有效突出了方言語音信號的局部特征,其特征提取流程如圖1所示。

圖1 基于VMD 算法改進MFCC 特征提取流程
改進的MFCC 詳細計算過程分以下5 步:
(1)預處理。將方言信號x(n)經過預加重、分幀(幀長為256,幀移為128),加窗后得到信號y(n)。
(2)VMD 分解后進行FFT。對第i幀信號y(i)(n)運用VMD 分解為K個IMF 分量u1,u2,…,uK,分別進行FFT 變換,每個IMF 分量進行FFT 變換的表達式為:

式中:N為傅里葉變換點數;r為每幀信號的點數;k表示第幾個IMF 分量,k=1,2,…,K。
(3)頻率合成。得到每個IMF 的頻譜幅度Yk(r)后,對其取模平方后的能量譜進行相加得到S(r):

(4)濾波后求對數能量。S(r)通過Mel 濾波器進行濾波,M為濾波器的個數,通常取22~26,本文取M=24。每個濾波器的傳遞函數定義如下:

式中:0 ≤m 將每幀信號能量譜S(n)與Mel 濾波器的頻率響應Hm(r)相乘并取對數,計算公式如下: 將S(m)進行離散余弦變換(Discrete Cosine Transform,DCT)變換,得到改進的12 維特征向量m(i)。DCT定義為: 式中:L為特征序列的階數。 Teager能量算子(Teager Energy Operators,TEO)[19]是一種能有效反映方言語音信號非線性能量特性的差分算子,而且在噪聲環境下具有較強的魯棒性,在語音信號中有較好的實用性。對于方言信號,Teager 能量算子倒譜參數提取步驟如下文所述。 (1)將方言信號經過預處理得到第i幀信號x(i)(n)。 (2)根據TEO 的定義,x(i)(n)的Teager 能量算子表達式為: 對于加性噪聲的語音信號,x(i)(n)可表示為: 式中:s(i)(n)為第i幀方言語音信號;ψ(i)(n)為第i幀零均值加性白噪聲。 將式(8)帶入式(7)得: 一般情況下,ψ(n)與s(n)的TEO 能量相比較幾乎可以忽略不計,因此可以得到: 由式(11)可得,TEO 能夠削弱零均值噪聲產生的影響,達到語音增強的目的[20]。 (3)將式(7)得到的T[x(i)(n)]歸一化處理并取對數得: (4)對[x(i)(n)]進行離散余弦變換再求均值得到一維TEOCC 向量E(i)。 為了構造有效的方言語種特征參數,本研究將VMD 算法改進的MFCC 與非線性能量特征參數進行融合,既表征了方言語種信息,又結合了語音非線性能量的特性,更能完整地描述語音信號的特性。 將1.2 節提取的12 維改進的MFCC 特征向量m(i)與1.3 節提取的一維TEOCC 特征向量E(i)進行融合,得到了13 維的特征向量VMTECC,最后將融合特征參數作為GMM-UBM 的輸入進行訓練與識別。 語音降噪的目的是從有噪的語音信號中產生無噪的信號,同時提高語音的感知質量和可懂度[21-22]。在本文中,探討了DNN 在方言語音去噪中的應用,該降噪方法首先將語音信號轉換到頻域內,利用人耳對相位不敏感的特性,求得帶噪語音和干凈語音的幅度譜;其次在給定一段語音噪聲譜和干凈譜的情況下,利用訓練神經網絡學習帶噪語音頻譜和干凈譜間的映射關系f,生成一段去噪譜使得去噪譜與干凈譜的最小均方誤差達到最小,即;最后,將得到的去噪譜和保存好的相位信息進行IFFT 變換得到去噪后的語音。針對本文的回歸任務,使用過去的nT幀噪聲譜對當前譜進行預測,label 標簽為1幀的當前干凈譜,本文設置nT=8,即8 幀STFT 向量預測1 幀STFT 向量,去噪原理如圖2 所示。 圖2 DNN 降噪原理 在使用DNN 去噪的研究中,隨機選取2 500 條方言語音數據作為訓練集,1 000 條作為測試集,分別在訓練集和測試集加入洗衣機噪聲,噪聲來源于Freesound 數據庫。語音去噪流程如圖3 所示,首先將不同信噪比的噪聲加入訓練集和測試集得到帶噪語音信號,并使用STFT 將音頻變換到頻域,此時窗口長度為256,重疊率為50%并使用Hamming 窗;其次去除負頻率的頻率樣本將頻譜向量大小減小到129 維,從帶噪信號STFT 中獲得129×8 個訓練預測變量向量,因為相鄰預測變量之間重疊7 個向量,所以每個STFT 輸出估計是基于當前含噪STFT 和7 個前面的含噪STFT 向量計算的;再次從干凈信號中獲得129×1 個目標信號向量,回歸網絡使用預測變量輸入來最小化其輸出和輸入目標之間的均方誤差;最后使用輸出的幅值頻譜和含噪信號的相位進行IFFT 變換,得到去噪后的語音。 圖3 語音去噪流程 采用GMM-UBM 作為方言語種識別模型,能夠確定某種方言和公共背景之間的差異,當噪聲干擾較大時,具有較高的魯棒性,同時能通過較少的方言數據訓練出高混合度的模型[23]。圖4 是采用GMM-UBM 的方言語種識別系統。該系統主要由基于背景方言數據的通用背景模型和目標方言的高斯混合模型組成。該通用背景模型可視為某特定方言GMM 的先驗模型,反映了待識別方言的語言特征分布特性。對于有L種方言的識別系統,一般使用來自L種方言的語音樣本訓練UBM。在本研究中,方言語種識別數為10,則L=10,訓練出來的UBM 與目標語種通過自適應模塊得到10 種方言識別模型。由圖4 可以看出,訓練時,先利用背景方言數據訓練通用背景模型,然后利用訓練好的UBM通過最大后驗概率算法自適應得到該方言語種的GMM。測試時,識別方言分別與語種模型λg和通用背景模型λu相匹配,其對應的對數似然度分別為Pg和Pu,計算公式為: 圖4 基于GMM-UBM 的方言語種識別系統 式中:X為語音信號提取的特征向量序列X={x1,x2,…,xT}。 式(14)和式(15)相減可得到輸出評分,分數最高的語種模型所對應的方言即所識別出的方言,計算方式為: 本實驗環境是基于MATLAB R2020a 平臺實現的方言語種識別系統。實驗數據來源于3 部分: (1)2018 年科大訊飛AI 挑戰賽“方言保護計劃”的比賽數據集。數據集中每種方言是由40 個當地人經過朗讀得到的,每種方言訓練集有6 000句,測試集有500 句,訓練集和測試集的說話人均沒有重復,錄制環境包含安靜和噪聲環境,數據以采樣率16 kHz,量化精度為16 bit 的脈沖調制編碼(Pulse-Code Modulation,PCM)格式存儲。選取了其中的8 種方言,分別為長沙、河北、合肥、南昌、寧夏、陜西、上海和四川方言。 (2)Common Voice 數據集。該數據集覆蓋了世界各地幾十種不同的語音,語音數據豐富而且質量較好,數據以MP3 格式存儲。從Common Voice數據集下載了粵語用于實驗分析。 (3)中國語言資源保護工程采錄展示平臺。該平臺覆蓋了全國34 個省市區,調查語種包括123種語言和全部漢語方言。在該平臺上收集了云南10個地方的方言組成云南話用于研究。 方言語種識別分別在純凈環境和噪聲環境下測試了MFCC 特征、MFCC 結合TEOCC 特征、EMDMFCC 結合TEOCC 特征、VMD-MFCC 結合TEOCC特征的識別性能。方言語種識別實驗中,將1 500條任意方言的語音數據作為通用模板訓練,再從訓練集語料中的每種方言中選取300 句作為訓練集,共計3 000條,選取100條作為測試集,共計1 000條。系統的性能評價指標以語種識別正確率(Rccognition Accuract,Racc)進行評價,則有: 式中:Racc為平均識別率;為第i個方言語種的識別率;M為測試集總數。 為了驗證VMTECC 特征的識別性能,設計了4組實驗。 實驗1:提取12 維靜態MFCC 特征。 實驗2:在實驗1 的基礎上加入1 維的TEOCC特征組成13 維的MFTECC 特征,驗證TEOCC 特征在方言識別中是否有效。 實驗3:采用EMD 分解算法改進MFCC 特征,再結合能量算子倒譜系數,組成13 維的EMTECC特征。 實驗4:采用VMD 分解算法改進MFCC 特征,結合能量算子倒譜系數,組成13 維的VMTECC 特征。 為了在純凈環境下驗證提取算法在方言語種識別中的有效性,設計實驗方案1:在不添加噪聲的情況下對方言數據提取不同的特征進行對比測試,如表3 所示。 表3 不同特征參數的識別率對比 從表3 可以得到的結論如下文所述。 (1)從實驗1、實驗2 和實驗3 的識別率可知,對比實驗1,實驗2 加入了能反映方言語音能量特性的TEOCC 特征后識別率分別提升了0.9%,驗證了TEOCC可以作為提高方言語種識別的輔助特征。但對比實驗2 和實驗3,由于EMD 算法分解信號會出現混疊現象,導致在方言識別系統中的性能不好,識別率下降了0.4%。 (2)從實驗3 和實驗4 的識別結果可知,VMD 算法能夠有效抑制混疊現象,準確反映方言語音信號的非線性和非穩態特性。對比EMD 算法提取的語音特征識別率,通過VMD 提取的改進特征參數使識別率提高了2.0%。 (3)對比實驗1、實驗2 和實驗4 的識別結果可知,本文提出的改進算法的識別率達到最高。對比MFCC 特征提取算法,通過VMD 提取的改進特征參數VMTECC 比實驗1 的識別率提升了2.5%,同時比實驗2 提升了1.6%,進一步驗證了VMD 改進算法結合Teager 能量算子在方言識別系統中的有效性。 由于現實生活中幾乎不存在純凈語音,為了驗證所提算法在噪聲環境下的魯棒性,在實驗過程中加入不同信噪比的洗衣機噪聲進行對比實驗。設計實驗方案2:在方案1 的基礎上引入DNN 模型進行語音增強后對提取的特征進行識別率對比。實驗結果如表4 所示。 表4 不同信噪比下的識別率對比 從表4 可以看出,在不同信噪比下,加入了TEOCC 特征后,識別率均有一定的提升,說明TEOCC 參數除突出語音信號的非線性能量特性外,在噪聲環境下還具有一定的魯棒性。但在低信噪比噪聲情況下,基于VMD 和EMD 改進算法的識別率并不是很高,是因為在低信噪比噪聲情況下,存在對噪聲敏感的特性,導致經過語音增強后的語音中殘留的噪聲使得VMD 和EMD 分解出現模態混疊現象。但隨著信噪比的提升,由于VMD 分解算法能有效反映方言語音信號中的非線性和非平穩性,使得識別結果得到有效的提升,進一步驗證了本文提出的VMTECC 具有良好的識別性以及較強的魯棒性。 針對傳統的MFCC 只能反映方言語音信號的靜態特性和抗噪性差的問題,本文提出了一種基于VMD 改進MFCC 結合能反映語音信號能量變化的TEOCC 對特征進行補償的新特征,并以GMMUBM 為分類模型的方言語種識別系統。文中設計了兩組實驗方案,第一組在無噪聲環境下對比了不同方言特征提取算法的識別性能,結果顯示改進特征參數能有效提取方言語種信息,增大方言語種識別率;第二組將深度神經網絡應用到語音特征提取前端進行了語音增強,驗證了改進算法在一定信噪比的噪聲環境下具有較強的魯棒性,但在低信噪比噪聲環境下VMD 分解會產生頻譜混疊現象,導致識別結果不是很理想。如何提升低信噪比下的方言識別率將是下一步的研究方向。

1.3 Teager 能量算子倒譜參數





1.4 特征融合

2 語音增強處理


3 GMM-UBM 模型



4 實驗仿真與結果分析
4.1 實驗準備

4.2 實驗測試與分析


5 結語