張鈺莎 蔣盛益
1(湖南信息學院電子信息學院 湖南 長沙 410151)2(廣東外語外貿大學信息學院 廣東 廣州 510006)
語音情感識別是當前研究熱點,在人機交互(Human-Computer Interaction,HCI)領域的應用價值日益突顯[1-2]。在今天的HCI系統中,機器可以通過揚聲器和語音識別系統知道誰在說話以及他或她在說什么。當機器配備語音情感識別技術時,他們可以知道他或她的說話方式。為了實現這一目標,計算機必須能夠感知其現狀并根據這種感知作出不同的反應。此過程的一部分涉及了解用戶的情緒狀態。為了使人機交互更自然,讓計算機能夠以與人類相同的方式識別情緒情況是有益的。
在人機交互領域,言語是情緒識別系統目標的主要內容,面部表情和手勢也是如此。語音被認為是一種與意圖和情感交流的強有力模式。近年來,許多研究人員對使用語音信息識別人類情感做了大量研究,并探索了幾種分類方法,包括神經網絡[3]、高斯混合模型(Gaussian Mixture Model,GMM)[4-5]、隱馬爾可夫模型(Hidden Markov Model,HMM)[6]、最大似然貝葉斯分類器(Maximum Likelihood Classification,MLC)、核回歸和K近鄰(k-Nearest Neighbor,KNN)[8]、支持向量機(SVM)。文獻[6]提出一種基于多分類器集成的語音情感識別新算法。首先提取情感語音的韻律特征、音質特征和MFCC特征參數,然后將徑向基神經網絡、K近鄰法和貝葉斯網絡三種分類器構成集成分類器,實現對柏林情感語言數據庫中7種主要情感類型的識別。文獻[7]采用二叉樹結構設計多分類器,使用半定規劃法求解并構造多核SVM分類模型,并采用均方根誤差與最大誤差對分類器性能進行衡量。對特征選擇之后的參數集合進行了測試,其有效減少誤差積累和降低情感狀態之間混淆程度。文獻[8]在傳統SVM方法的基礎上,提出了一種基于主成分分析法的多級SVM情感分類算法。首先將容易區分的情感分開,針對混淆度大且不能再利用多級分類策略直接進行區分的情感,采用PCA進行特征降維,逐級判斷出輸入語音所屬的情感類型。
為了進一步提高語音情感識別精度,本文設計了一種基于MFCC特征提取和SVM的語音情感數據挖掘分類識別方法。SVM是過去十年由Vapnik在1995年開發的監督學習算法。該算法解決了學習區分給定類n維向量的正負成員的一般問題[9]。SVM用作情感識別的分類器,通過構建N維超平面來執行分類,該超平面最佳地將數據分成類別。通過數據集輸入特征空間中的線性或非線性分離表面來實現分類。實驗結果證明了本文提出的基于MFCC特征提取和SVM的語音情感數據挖掘分類識別方法的有效性。
語音感知指的是人類能夠解釋和理解語言中使用的聲音的過程。言語感知的研究與語言學和認知心理學中的語音學、音韻學以及心理學中的感知密切相關。語音感知研究旨在了解人類聽眾如何識別語音并使用這些信息來理解口語。語音研究可用于構建能夠識別語音的計算機系統,以及改善聽力和語言障礙聽眾的語音識別。
語音信號通常被視為有聲或無聲,濁音包括基頻(F0)及其由聲帶產生的諧波分量[9]。聲道修改了這個激勵信號,導致共振峰(極點),有時還有反共振蕩(零)頻率。每個共振峰頻率具有幅度和帶寬,并且有時可能難以正確地定義這些參數中的一些。基頻和共振峰頻率可能是語音合成和語音處理中最重要的概念[10-12]。在清音中,激勵信號沒有基頻,因此也沒有諧波結構,激勵可以被認為是白噪聲。氣流被迫通過聲道收縮,這可能發生在聲門和嘴之間的幾個地方。一些聲音是在完全停止氣流然后突然釋放的情況下產生的。清音也通常比濁音更安靜,更不穩定。悄悄話是言語的特例。當低聲說出濁音時,在激發中沒有基本頻率,并且感知由聲道產生的第一共振峰頻率。
音節是一系列語音的組織單位。例如,水一詞由兩個音節組成,音節通常被認為是單詞的語音“構建塊”。韻律是言語的節奏、壓力和語調。韻律反映了說話者的情緒狀態;一個話語是一個陳述、一個問題還是一個命令;說話者是諷刺還是強調,對比還是專注;可能無法用語法編碼的其他語言元素。韻律包括音高、強度和持續時間,以及語音質量和關鍵特征。以下功能可以處理語音質量:共振峰均值和帶寬,諧波噪聲比,MFCC系數。響度是聲音的質量,是物理力量(振幅)的主要心理關聯。響度感與聲壓級和聲音持續時間有關。音高表示聲音的感知基頻,它是聲音和響度的三個主要聽覺屬性之一。周期信號的基頻(也稱為固有頻率)是基音周期長度的倒數。音調周期是術語,是信號的最小重復單位。因此,一個音調周期完全描述了周期信號。
情緒是一個與各種各樣的情感、思想和行為相關的心理和生理狀態的術語。情緒是主觀體驗或個人角度的體驗。一種特殊的情緒可持續數天,甚至持續數月或數年。人類的情感可以是不同的類型,如憤怒、快樂、悲傷、中立、恐懼、厭惡、驚訝、害羞、無聊等。情緒的研究是在很長一段時間內進行的。這項研究有助于心理學、社會學、犯罪學、生理學等領域。研究人員經常使用自主反應來衡量情緒。一種常用的自主反應為皮膚電反應。皮膚電反應是皮膚導電率的增加,當受試者在情緒狀態下出汗時會發生這種情況。研究人員還使用血壓、肌肉緊張度、心率和呼吸率等指標來衡量情緒。
情感在人與人之間互動中的重要性為工程和計算機科學界的研究人員提供了開發計算機識別情感的自動方法的基礎。系統的輸入是來自柏林情感數據庫的.wav文件,其包含來自不同情緒類別的情緒語音話語。在特征提取過程中,MFCC和MEDC兩個特征被提取。將提取的特征及其對應的類標簽作為LIBSVM分類器的輸入[13-15]。分類器的輸出是特定情緒類的標簽。總共有五個標簽分別為生氣、悲傷、快樂、中立和恐懼。每個標簽代表相應的情緒類別。
在先前的工作中,提取了若干特征用于對諸如能量、音調、共振峰頻率等的語音影響進行分類。第一步要采集語音信號,并進行預處理。所有這些都是韻律特征。一般而言,韻律特征是說話者情緒狀態的主要指標。這里在特征提取過程中提取了兩個特征:MFCC和MEDC。
MFCC由Stevens、Volkman和Newman在1937年提出[16]。它是由聽眾判斷的彼此距離相等的感知音階。Mel是感知音調或音調頻率的度量單位。此刻度和正常頻率測量之間的參考點通過將1 000 Hz音調等于聽眾閾值40 dB,音高為1 000 mels來定義。在大約500 Hz以上,聽眾判斷越來越大的間隔以產生相等的音高增量。最終,在500 Hz以上的赫茲音階上的四個八度音階被判斷為在音階上包括大約兩個八度音階。梅爾尺度在1 kHz以下近似線性并且在上面對數。以下公式用于計算給定頻率f的赫茲(以Hz為單位)。MFCC抗噪能力強,其頻率與聲音的實際頻率f的關系為:
Mel(f)=2 595lg(1+f/700)
(1)
語音情感識別的MFCC特征提取過程為:
(1) 以采樣頻率對連續時間信號(語音)進行采樣。在MFCC的第一階段,特征提取是為了增加高頻中的能量。這個預加重是通過使用濾波器完成的。預加重數字濾波器為:
H(Z)=1-αZ-1
(2)
式中:α表示預加重系數。
(2) 對語音信號進行分幀,并提取語音信號的短時特性。它是將從模數轉換(ADC)獲得的語音樣本分割成時間長度在2 040 ms范圍內的小幀的過程。成幀使得非靜止語音信號能夠被分段為準靜態幀,并且能夠對語音信號進行傅里葉變換。這是因為,已知語音信號在20~40 ms的短時間內表現出準靜態行為。采用加漢明窗平滑語音信號:
(3)
(3) 加窗。加窗步驟用于窗口化每個單獨的幀,以便最小化每幀開始和結束時的信號不連續性。
(4) 將快速傅里葉變換(FFT)算法理想地用于評估語音的頻譜。FFT將N個樣本的每個幀從時域轉換到頻域[17-18]。用離散傅里葉變換得到語音信號的線性頻譜:
(4)
(5) 通過Mel頻率濾波器提取頻譜、Mel濾波器組和頻率包絡。Mel濾波器組由重疊的三角濾波器組成,截止頻率由兩個相鄰濾波器的中心頻率確定。濾波器具有線性間隔的中心頻率和梅爾標度上的固定帶寬。Mel頻率濾波器設計如下:
(5)
式中:p為濾波器的個數。
(6) 對Mel頻譜取對數,對數具有將乘法變為加法的效果。因此,該步驟簡單地將傅里葉變換中的幅度的乘法轉換為加法,得到對數頻譜S(p),其傳遞函數為:
(6)
(7) 采用離散余弦變換:它用于使濾波器能量矢量正交化。由于該正交化步驟,濾波器能量矢量的信息被壓縮成第一數量的分量并且將矢量縮短為分量數量。對S(p)進行離散余弦變換得到MFCC參數c(n)為:
(7)
(8) 計算MFCC的最大值、最小值、標準差。
圖1顯示了MFCC特征提取過程。MFCC技術使用兩種類型的濾波器,即線性間隔濾波器和對數間隔濾波器。

圖1 MFCC特征提取過程
Mel能量譜動態系數(MEDC)的特征提取過程如圖2所示。使用FFT估計每個語音話語的幅度譜,然后輸入到12個濾波器組,計算濾波器輸出的對數平均能量En(i),i=1,2,…,n。然后,計算En(i)的第一和第二差值。

圖2 MEDC特征提取過程
(1) MEDC特征提取的預處理、成幀、窗口化、FFT和Mel濾波器組和頻率包裝過程與MFCC特征提取相同。
(2) 取能量的對數平均值,在此過程中計算每個濾波器能量的平均對數。該平均值表示濾波器組中的各個濾波器的能量。
(3) 計算第一和第二差異,然后通過組合濾波器能量的第一和第二差異來獲得最終的Mel能譜動力學系數。
在功能標簽中,每個提取的功能與其類標簽一起存儲在數據庫中。雖然SVM是二元分類器,但它也可以用于分類多個類。每個功能都與其類標簽相關聯,例如:生氣、快樂、悲傷、中立、恐懼。
SVM根據標記的特征進行訓練。SVM內核函數用于SVM的訓練過程。二進制分類可以視為在特征空間中分離類的任務。SVM是二進制分類器,但它也可以用作多類分類器。LIBSVM是由C.J.Lin開發的用于SVM分類和回歸的最廣泛使用的工具。徑向基函數(Radical Basis Function,RBF)內核用于訓練階段。使用RBF內核的優點是它將訓練數據限制在指定的邊界內。RBF內核將樣本非線性地映射到更高維空間,因此,與線性內核不同,它可以處理類標簽和屬性之間的關系是非線性的情況。RBF內核比多項式內核具有更少的數值困難。SVM分類的結果以混淆矩陣表的形式給出。混淆矩陣表示給定類的準確分類和錯誤分類的百分比。
二分類原理如圖3所示。

圖3 支持向量機的二分類原理
設語音情感識別的訓練樣本數據為:{xi,yi},xi∈Rn,i=1,2,…,n,xi為情感識別的特征向量,yi為情感的類別,SVM利用非線性映射Φ(x)將訓練集映射到高維空間,使非線性問題線性的最優分類面描述為:
y=ωTΦ(x)+b
(8)
式中:ω和b表示SVM的權值和偏向量。
必須找到最優的ω和b,對式(8)無法直接求解,因此要找到最優分類面,于是引入松弛因子ξi對式(8)進行變換,得到其二次優化問題,即:
(9)
式中:C表示懲罰參數。通過引入拉格朗日乘子對式(9)進行變換,則有:
(10)
權向量ω的計算公式為:
ω=∑αiyiΦ(xi)·Φ(x)
(11)
支持向量機的分類決策函數可以描述為:
f(x)=sgn(αiyiΦ(xi)·Φ(xj)+b)
(12)
為了降低計算復雜度,簡化運算,引入核函數k(x,xi),以k(x,xi)代替點積椎Φ(xi)·Φ(xj),式(12)變為:
f(x)=sgn(αiyik(x,xi)+b)
(13)
在眾多核函數中,采用RBF作為支持向量機核函數,這是因為RBF的通用性好,參數少,式(12)變為:
(14)
式中:σ表示RBF的寬度參數。
柏林技術大學錄制了柏林情感言論數據庫。德語數據庫包含語言表達情緒的語音。它包含493個由10個專業演員組成的話語,其中5個男性和5個女性在7種不同的情緒中表達了10個具有情感中性內容的句子。情緒是憤怒、無聊、厭惡、恐懼、幸福、悲傷和中性情緒狀態。硬件環境是MacBook Pro(13",2017),CPU是Intel Core i5,顯卡是Intel Iris Plus Graphics 640,2.3 GHz,硬盤為256 GB,內存為8 GB。
創建包含來自不同電影的情感對話的語音情感數據庫。最初所有文件都以.mp3格式剪切,然后轉換為.wav文件格式,還使用柏林情感數據庫,其中包含用于五種情感類別的406個語音文件。情緒類別憤怒、悲傷、快樂、中立、恐懼分別有127、62、71、79和67個言語。使用RBF函數對LIBSVM進行MFCC和MEDC特征向量的訓練,LIBSVM用于測試這些特征向量。通過改變RBF內核的成本值來進行實驗,采用獨立文件進行實驗。SVM分類的結果以混淆矩陣表的形式給出。混淆矩陣表示給定類的準確分類和錯誤分類的百分比。
表1顯示混淆矩陣實現的SVM用于漢語語音情感。憤怒的情緒最高可達90.38%,而幸福可獲得91.1%的識別率。可以看出,悲傷和恐懼中發現了最大錯誤分類。漢語情緒的總體識別率為81.44%。表2顯示了使用一對一多類方法對德語語音情感實施的SVM的混淆矩陣。據觀察,在幸福和恐懼情緒中發現了最大錯誤分類。憤怒情緒最高可達88.24%,恐懼可獲得最低44.44%的識別率。德語情緒的總體識別準確度為57.91%。表3顯示LIBSVM RBF分類器(Hindi)的混淆矩陣使用成本值c=10的RBF核的LIBSVM總體識別率為75.11%。表4顯示了使用LIBSVM RBF分類器基于德語語音情感SVM混淆矩陣的識別。

表1 混淆矩陣實現的SVM用于漢語語音情感的識別結果

表2 使用一對一多類方法對德語語音情感實施的SVM的

表3 混淆矩陣LIBSVM RBF分類器實現的

表4 使用一對一多類方法對德語語音情感實施的SVM的
對于柏林數據庫和漢語數據庫,實施SVM的識別率分別為82%和81.44%。還觀察到LIBSVM使用RBF核函數分類器的混淆矩陣使用成本值c=8總體識別率為99.39%,LIBSVM使用RBF函數對漢語數據庫的識別率為88.33%。線性LIBSVM的準確率為88.92%。
圖4給出了4種不同降維方法取得的每一維的語音情感識別結果。圖5給出了不同信噪比下幾種算法取得的語音情感識別結果對比。可以看出,本文提出的方法在不同降維、不同信噪比下均取得了最優的識別精度。其中文獻[6]提取情感語音的韻律特征、音質特征和MFCC特征參數,然后將徑向基神經網絡、K近鄰法和貝葉斯網絡三種分類器構成集成分類器。文獻[7]使用半定規劃法求解并構造多核SVM分類模型,并采用均方根誤差與最大誤差對分類器性能進行衡量。然而針對混淆度大且不能再利用多級集成分類策略直接進行區分的情感,影響了這兩種方法的識別精度。文獻[8]采用PCA進行特征降維,然后逐級地判斷出輸入語音所屬的情感類型,容易造成誤差積累,加劇情感狀態之間混淆程度,在一定程度上影響了分類識別效率。實驗結果再一次證明了本文方法的有效性。

圖4 不同維度下算法取得的語音情感識別結果對比

圖5 不同信噪比下幾種算法取得的語音情感識別結果對比
本文最初所有文件都以.mp3格式切換,然后轉換為.wav格式,德語柏林情感數據庫用于特征提取,MFCC和MEDC功能是從.wav格式的語音文件中提取的。基于RBF內核MFCC和MEDC特征向量的訓練,LIBSVM用于測試這些特征向量,通過改變RBF內核的成本值對獨立文件進行實驗。實驗結果表明,相較于幾種對比方法,本文方法在不同降維、不同信噪比下均取得了最優的識別精度。關于使用RBF內核的LIBSVM,觀察到通過改變內核函數的參數可以獲得更好的結果。RBF核函數中增加的成本值在某一點增加了準確率,然后保持不變。未來希望能夠進一步對本文方法進行完善。