曹維祥
六安職業(yè)技術(shù)學(xué)院信息與電子工程學(xué)院,六安, 237158
人類的聲音含有喜怒哀樂等情感成分,提取語音情感的時(shí)域特性和頻域特性,通過計(jì)算機(jī)分析情感的特性參數(shù),對情感進(jìn)行辨認(rèn),可識別發(fā)音人的情緒狀態(tài)。未來基于聲音的人機(jī)自然交互界面是人機(jī)交互的重要方向,實(shí)現(xiàn)人機(jī)自然交互的前提是提升計(jì)算機(jī)的語音情感分析與識別能力,這也是現(xiàn)代計(jì)算機(jī)的人工智能和人機(jī)情感交互研究方向,具有廣闊的應(yīng)用前景[1]。
20世紀(jì)70年代,Williams進(jìn)行了一系列語音情感實(shí)驗(yàn)探索,發(fā)現(xiàn)人的語音基音外框形狀變化受控于心理情緒轉(zhuǎn)變,這是最早的語音情感研究之一[2]。20世紀(jì)90年代初,美國MIT下屬的Media Lab在多媒體實(shí)驗(yàn)室開發(fā)了“情感編輯器”。21世紀(jì)初,馬里博爾大學(xué)的Vladimir Hozjan開始探究不同語言的情感分析[3]。2009年4月,新型號“HRP-4C”女性機(jī)器人在日本誕生,該機(jī)器人可以做出大量不同表情。這種類型機(jī)器人可以通過對主人語音指令的判斷分析,表現(xiàn)出高興、憤怒、驚奇、哀傷等表情與主人互動[4-5]。
國內(nèi)語音情感的計(jì)算分析起步較晚,趙力等人于21世紀(jì)初進(jìn)行了情感語音的研究并發(fā)表了一系列的研究成果[6]。2003年,中國科學(xué)院自動化研究所牽頭主辦了中國首屆有關(guān)情感分析與人機(jī)交互的交流學(xué)習(xí)會議。浙江大學(xué)人工智能研究所、中國科學(xué)院語言研究所、清華大學(xué)人機(jī)交互與媒體集成研究所以及國家重點(diǎn)模式識別實(shí)驗(yàn)室等國內(nèi)大型研究院與科研機(jī)構(gòu)都在該領(lǐng)域取得了一定的研究成果。由于漢語的表達(dá)方式多樣、中國傳統(tǒng)文化的文化特征和民族性格較為含蓄等原因,中文語音情感分析仍然需要作更深一步的探索發(fā)掘。
目前,國際上還未建立一個公認(rèn)的模板來區(qū)分人類情感,各國研究者都有自己的分類標(biāo)準(zhǔn),但心理學(xué)家通常把人類的高興、悲傷、害怕和憤怒歸為最原始的情感。Scherer教授通過研究認(rèn)為,說話人的心理變化導(dǎo)致情感語音的變化,人們的發(fā)音習(xí)慣、說話方法源于社會引導(dǎo)養(yǎng)成[7]。當(dāng)下大多數(shù)學(xué)者主要還是借鑒心理學(xué)家的研究成果,理論模型有基本情感論和維度空間論等,維度空間論又包括二維情感論和三維情感論[8]。
基本情感論認(rèn)為,人們的情緒中包含純樸和混雜的成分,這與現(xiàn)代心理學(xué)研究內(nèi)容契合。現(xiàn)代心理學(xué)認(rèn)為,情感都可看成由各種相互獨(dú)立的基本情感因子按照某種規(guī)則排列組合而成。不同研究者對情感類型的劃分差別很大,表1為目前不同學(xué)者對基本情感的分類。
語音情感的特征參數(shù)可選取語音信號的聲學(xué)特性、時(shí)域和頻域特性。本文選取CASIA語料庫中憤怒(angry)、害怕(fear)、快樂(happy)、悲傷(sad)四種情感,每種情感類型共有10條語料,其中發(fā)音人Liu Chanhg和Zhao Quanyin各5條,分別提取這40條情感語音中的每條語音的發(fā)音持續(xù)時(shí)間、單位時(shí)間下音節(jié)的發(fā)出速度、基音周期的最大值和平均值、短時(shí)過零率、語音信號第一個共振峰的最大頻率和短時(shí)能量的平均值、最大值等8個特征參數(shù),再依次分析不同類型情感語音的每種參數(shù),對比它們相互間的差別。分析語音信號時(shí),噪聲或干擾會影響到語音信號的處理。本文通過預(yù)加重處理、信號的分幀和加海明窗函數(shù)等方式對語音信號進(jìn)行預(yù)處理[16]。
表1 基本情感分類列表
情感語音信號的時(shí)間構(gòu)造研究通常包括語音持續(xù)時(shí)間和單位時(shí)間內(nèi)發(fā)音速度,發(fā)音持續(xù)時(shí)間即該段語料的時(shí)間長短,單位時(shí)間發(fā)音速率即平均每秒發(fā)出音節(jié)個數(shù)[17]。日常生活中,人們可以明顯感覺到人處于不同情感時(shí),說話的時(shí)間長度和某個音節(jié)發(fā)出的速度不同,造成同一句話有不同的斷句方法,因此就要剖析情感語音在時(shí)間方向上的構(gòu)造。通過對40句語料的逐一記錄分析,得到表2的平均發(fā)音速率和平均發(fā)音持續(xù)時(shí)間統(tǒng)計(jì)表。
表2 平均發(fā)音速率和平均發(fā)音持續(xù)時(shí)間表
由表2可知,4種情感中happy的平均發(fā)音速率最快,sad最慢,angry和fear的平均發(fā)音速率較為接近;發(fā)音時(shí)間是sad持續(xù)最長,angry最短,fear和happy較為接近。
基音頻率就是聲帶產(chǎn)生共振的頻率,本文利用自相關(guān)函數(shù)在時(shí)域上提取基音周期[18]。對于一個離散語音信號x(n),其自相關(guān)函數(shù)可定義為:
(1)
但語音信號并非一個平穩(wěn)信號,可利用短時(shí)自相關(guān)函數(shù)來處理。短時(shí)自相關(guān)函數(shù)就是在某個采樣點(diǎn)n的周圍利用窗函數(shù)選取部分信號進(jìn)行自相關(guān)計(jì)算,即:
(2)
圖1為基音提取,統(tǒng)計(jì)周期的最大值和平均值如圖2。由圖2可發(fā)現(xiàn),angry情感的基音周期最大值最高而平均值較小,fear和sad情感的基音周期的最大值和平均值都較接近,happy情感基音周期最大值最低,但平均值最大。顯然,僅通過基音周期分析,fear和sad這兩種情感難以辨別。
圖1 基音周期提取
圖2 基音周期的最大值和平均值
生活中人們在發(fā)怒時(shí)通常聲音較大,哀傷時(shí)聲音較小,聲音的大小和聲音的能量與振幅相關(guān),因?yàn)闀r(shí)間發(fā)生變化時(shí)語音信號的能量也隨之改變。描述語音的這種特征變換,需要對短時(shí)能量的變化幅度進(jìn)行探究。對于n時(shí)刻下的短時(shí)平均能量En可定義為:
(3)
其中N為加窗函數(shù)長度,短時(shí)能量就是對單位采樣點(diǎn)值的加權(quán)平方求和,當(dāng)窗函數(shù)為矩形窗時(shí):
(4)
短時(shí)能量提取如圖3,顯示了能量幅值隨時(shí)間變化的情況。圖4和圖5分別為Liu和Zhao作為信號的短時(shí)能量統(tǒng)計(jì),分析發(fā)現(xiàn):angry情感下,短時(shí)能量的平均值和最大值都遠(yuǎn)遠(yuǎn)高于其他情感,happy情感的短時(shí)能量相關(guān)數(shù)值為第二高,fear和sad兩種情感比較接近,無法辨別。
圖3 短時(shí)能量提取
圖4 短時(shí)能量圖(Liu)
圖5 短時(shí)能量圖(Zhao)
情感語音包含清音與濁音,利用能量檢測,區(qū)分濁音效果比較理想,利用短時(shí)過零率輔助辨識清音較為理想。語音信號中的高頻段區(qū)域和低頻段區(qū)域有不同的過零率,通常波形頻率較高的通過橫軸(零電平)次數(shù)就越多。對離散時(shí)間語音信號來說,只要兩個連續(xù)采樣點(diǎn)的數(shù)學(xué)符號發(fā)生了極性變化,就稱為發(fā)生了過零過程,短時(shí)過零率就是語音信號在某個時(shí)間內(nèi)通過橫向坐標(biāo)軸的次數(shù)。短時(shí)平均過零率的定義為:
(5)
ω(n-m)的非零值范圍為n-m≥0 ,即n-m≤N-1,故m≥n-N+1
(6)
式中,sgn[ ]是符號函數(shù):
(7)
短時(shí)過零率仿真結(jié)果如圖6,可以清楚地看到采樣信號各幀的平均過零次數(shù)。所得數(shù)據(jù)分制表后如圖7。從圖7看出fear情緒的短時(shí)過零率最高,happy情緒和angry情緒的短時(shí)過零率較為接近,sad最低。
圖6 短時(shí)過零率提取
圖7 短時(shí)過零率平均值統(tǒng)計(jì)
聲音在通過聲道時(shí)會在某一頻率上引起共振現(xiàn)象,該共振的頻率就是共振峰頻率。人在不同場景下精神的緊張度有明顯不同,會影響不同情緒的產(chǎn)生與表達(dá),聲道的形狀也會發(fā)生改變,共振峰的頻率值就會受到波及。
目前,共振峰的分析檢測方法主要有線性預(yù)測法、帶通濾波器組法和倒譜法等。本文選取倒譜法提取共振峰,原理是先對語音信號求快速傅里葉變換(FFT),然后采用同態(tài)解卷技術(shù),這樣在倒譜域中就可以簡單區(qū)分基音和聲道的相關(guān)特性,最后提取頻率最大值就可以完成參數(shù)提取。
圖8中的共振峰頻率包含多個峰值,由于各語音信號的內(nèi)容不同,本文只提取第一共振峰縱向?qū)Ρ确治觥7治鼋Y(jié)果如圖9,可看出,angry情緒下的共振峰第一個頻率峰值最大,fear情緒下較大,sad情緒下較小,happy最小;在對其共振峰頻率曲線圖分析發(fā)現(xiàn),happy和angry這兩種情緒下的共振峰頻率曲線圖走向稍微上升,sad的共振峰頻率曲線圖走向則有明顯下降。這是由于人們在happy和angry情緒下容易激動并習(xí)慣性地張大嘴巴,而情緒在sad時(shí)嘴巴張開程度會小,而且還有混合著模糊的鼻音發(fā)出。
圖8 共振峰提取
圖9 第一共振峰頻率統(tǒng)計(jì)
目前仍無法準(zhǔn)確地確定各類情感的本質(zhì)特征由哪些語音情感特征參數(shù)決定,理論上說,提取統(tǒng)計(jì)的特征參數(shù)越詳細(xì),情感類型越容易辨識,但實(shí)際上必須在大量情感信息中挑選出能準(zhǔn)確反映情緒狀況的特征參數(shù),才能獲得良好的語音情感識別性。目前已有學(xué)者分別采用主分量分析(PCA)、模糊熵理論和序列向前法等方法,對情感特征參數(shù)進(jìn)行特征選擇,這些方法能顯著提高情感類型識別成功率,并且能夠降低計(jì)算的復(fù)雜程度。本文是基于PCA的特征降維對所提取的8維語音情感特征參數(shù)進(jìn)行特征選擇處理。
PCA的特征選擇算法可概述為:首先對采集提取的初始特征參數(shù)進(jìn)行數(shù)據(jù)歸類并組成一個初始特征參數(shù)矩陣,然后利用PCA對該矩陣進(jìn)行處理,變換處理后得到特征矩陣,分析矩陣中的每個特征參數(shù)在變換時(shí)所占的權(quán)重,最后按照升序或降序?qū)@些原始特征進(jìn)行排列,并按照排序結(jié)果確定特征選擇的特征參數(shù)子集[19-21]。
PCA方法進(jìn)行降低維度處理得到的特征子集與初始的特征參數(shù)集合無法存于同一維度中,但運(yùn)用變換矩陣去尋找二者之間的關(guān)聯(lián),就可以向前推測并判斷出初始特征集合內(nèi)各個特征元素的變換權(quán)重,參考權(quán)重挑選出數(shù)值較大的參數(shù)。
進(jìn)行語音情感特征參數(shù)選擇抽取時(shí),對已有的n個m維的初始特征參數(shù),先將它們化為形如x1,x2,…,xn的特征向量,然后再構(gòu)建一個m行n列的矩陣去錄入數(shù)據(jù),則Xm×n=[x1,x2,…,xn],那么PCA的操作步驟如下所示:
(1)計(jì)算特征向量x1,x2,…,xn的均值μ和協(xié)方差矩陣COVm×n。
(2)計(jì)算出協(xié)方差矩陣COVm×n的特征值和特征向量,每個元素的特征向量與特征值按照一一對應(yīng)的關(guān)系組成一個坐標(biāo)形式 (λi,еi)的向量組合,依據(jù)特征值的大小可以排序?yàn)椋?λ1,е1),(λ2,е2),…,(λm,еm),其中λ1≥λ2≥…≥λm≥0。
(3)選取前k(k 將原始8維空間的特征參數(shù)數(shù)據(jù)向下投影到低維的空間中,具體數(shù)學(xué)公式實(shí)現(xiàn)如下: PCA(x)=AT(x-μ) (8) 根據(jù)所提取的主成分特征值與包括協(xié)方差矩陣所有特征值總和的百分比來確定未處理的高維特征向量降維。由于本文提取的8類特征參數(shù)的初始單位都不同,所以需要利用標(biāo)準(zhǔn)分?jǐn)?shù)法對原始數(shù)據(jù)進(jìn)行歸一化,將它們化為標(biāo)準(zhǔn)正態(tài)分布參數(shù)。 一般來說,利用PCA識別的數(shù)據(jù),先確定其樣本信號N和提取的特征參數(shù)個數(shù)K,然后求這個K特征參數(shù)所對應(yīng)的協(xié)方差矩陣,再對求得的協(xié)方差矩陣進(jìn)行特征值分解,提取出K個特征值和特征向量。對于不同的情感,利用語料庫中的原始語料,分別計(jì)算出經(jīng)過特征降維提取的主分量K相對于不同情感類型j所具有的均值μjk和方差σjk,并進(jìn)行如下的最大可分性處理: (9) (10) (11) 上式中,J為采用的語料庫情感類別個數(shù),Lk表示第k個主分量在情感類別中的分離性,Mk表示第k個主分量在情感類別中的集中性;Hk則是用來反映主分量在情感類別中的辨別能力,Hk越大時(shí),所提取主分量對情感類型的辨別能力越強(qiáng)。 識別語音情感類型時(shí),先對K個主分量進(jìn)行順序排列,然后選取p個Hk較大的主分量作為識別用的主元。經(jīng)過標(biāo)準(zhǔn)分?jǐn)?shù)法歸一化處理后的特征參數(shù)矢量Xstd,再利用Xstd對各個主分量的基向量Ak分別進(jìn)行投影求和,獲得各個有效主分量的得分值Sk。最后利用下式計(jì)算各個主分量的綜合概率PJ,選取最大概率的情感類型作為識別情感類型。 (12) 本文利用PCA法對angry、fear、happy和sad四類情感識別,結(jié)果為0.931 4、0.896 5、0.901 6和0.867 7。在對給定語言信號情感識別中,采用本文的方法,計(jì)算正確識別率的平均值,識別率達(dá)到89.93%。 本文基于時(shí)間構(gòu)造、基音周期和振幅能量等特征參數(shù),提取語音情感信號中的發(fā)音持續(xù)的時(shí)間、單位時(shí)間音節(jié)發(fā)出速度、基音周期的最大值和平均值、短時(shí)過零率、語音信號第一個共振峰的最大頻率和短時(shí)能量的平均值和最大值等8個特征參數(shù),運(yùn)用PCA對提取的特征按照高興、悲傷、發(fā)怒和害怕四個類別進(jìn)行分類識別,達(dá)到理想的識別效果,驗(yàn)證了算法的有效性。4 結(jié) 論