蘇 岑,黃佳杰,朱浩威,金瑜成,孫凱悅,戚國(guó)亮,張石清
(臺(tái)州學(xué)院 電子與信息工程學(xué)院,浙江 臺(tái)州 318000)
隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,人們常與手機(jī)、平板電腦等移動(dòng)終端設(shè)備為伴,從而導(dǎo)致“人機(jī)互動(dòng)”不斷增加。在此情況下,人們對(duì)人機(jī)交互活動(dòng)提出了更高的要求,即情感交互需求,因?yàn)槿祟愔g的溝通與交流是自然而富有感情的,因此人們也期望與之交互的移動(dòng)終端設(shè)備也應(yīng)該具有類似于人一樣的觀察、理解與生成情感特征的能力。近年來(lái),隨著情感計(jì)算(Affective Computing)技術(shù)的不斷發(fā)展,情感交互也成為當(dāng)前信息時(shí)代下智能人機(jī)交互技術(shù)的主要發(fā)展趨勢(shì)。
語(yǔ)音情感識(shí)別,是實(shí)現(xiàn)情感交互的核心技術(shù)之一,旨在利用計(jì)算機(jī)自動(dòng)分析說(shuō)話人的語(yǔ)音信號(hào),確定說(shuō)話人的情感狀態(tài),以便達(dá)到人機(jī)交互之間更輕松、更智能化的交流。目前,在語(yǔ)音情感識(shí)別領(lǐng)域,大多數(shù)研究工作[1-4]都是以離線方式預(yù)先采集好數(shù)據(jù)進(jìn)行情感識(shí)別,沒(méi)有在線實(shí)現(xiàn)情感識(shí)別的實(shí)時(shí)性。為此,本文考慮到智能手機(jī)的便利性和普及性,以HTC G1(搭載Android 1.6 OS)為硬件實(shí)現(xiàn)平臺(tái),設(shè)計(jì)一種基于安卓(Android)操作系統(tǒng)的實(shí)時(shí)性語(yǔ)音情感識(shí)別系統(tǒng)。該系統(tǒng)將語(yǔ)音情感識(shí)別中的關(guān)鍵步驟,如語(yǔ)音采集、特征提取、情感識(shí)別等,與Android系統(tǒng)有機(jī)結(jié)合在一起。實(shí)驗(yàn)測(cè)試表明,該系統(tǒng)具有實(shí)時(shí)性、識(shí)別性能較高的特點(diǎn)。
一個(gè)基本的語(yǔ)音情感識(shí)別系統(tǒng)包括語(yǔ)料庫(kù)的建設(shè)(訓(xùn)練樣本、測(cè)試樣本)、語(yǔ)音預(yù)處理、情感特征提取以及情感判別器,如圖1所示。該系統(tǒng)的每一個(gè)步驟介紹如下:
圖1 語(yǔ)音情感識(shí)別系統(tǒng)結(jié)構(gòu)圖
情感語(yǔ)料庫(kù)的建設(shè)是進(jìn)行語(yǔ)音情感識(shí)別研究的先決條件,而且語(yǔ)料庫(kù)的好壞直接影響到最后的情感識(shí)別效果的可靠性。目前,國(guó)內(nèi)外研究者已經(jīng)建立了各種語(yǔ)言的情感語(yǔ)料庫(kù),比較典型的有德語(yǔ)EMODB[5]、英語(yǔ) eNTERFACE05[6]、漢語(yǔ)普通話 CHEAVD[7]等。本文利用已有的情感語(yǔ)料庫(kù) EMO-DB 和CHEAVD分別作為訓(xùn)練樣本進(jìn)行訓(xùn)練,而測(cè)試樣本來(lái)源于現(xiàn)場(chǎng)測(cè)試時(shí)采集到的說(shuō)話人語(yǔ)句。其中,EMODB[5]數(shù)據(jù)庫(kù)包含 535 個(gè)語(yǔ)音樣本,共七種情感:生氣(Anger)、高興(Happiness)、悲傷(Sadness)、害怕(Fear)、討厭(Disgust),無(wú)聊(Boredom)和中性(Neutral)。而 CHEAVD[7]數(shù)據(jù)庫(kù)包含 2852 個(gè)語(yǔ)音樣本,共八種情感:生氣、高興、悲傷、討厭、中性、擔(dān)心(Worried)、焦慮(Anxiety)和驚奇(Surprise)。由于現(xiàn)場(chǎng)采集的情感語(yǔ)句類型比較有限,這里測(cè)試時(shí)僅考慮基本的五種情感類型:生氣、高興、悲傷、害怕和中性。
語(yǔ)音預(yù)處理主要包括語(yǔ)音信號(hào)的預(yù)加重和加窗分幀處理。預(yù)加重是為了實(shí)現(xiàn)對(duì)語(yǔ)音信號(hào)的高頻分量的補(bǔ)償,消除口唇輻射的影響,從而提高語(yǔ)音信號(hào)的高頻分辨率。本文通過(guò)一個(gè)傳遞函數(shù)為H(z)=1-az-1的一階有限長(zhǎng)單位沖激響應(yīng)(Finite Impulse Response,FIR)高通濾波器來(lái)實(shí)現(xiàn)預(yù)加重,其中預(yù)加重系數(shù)a取a=0.98??紤]到語(yǔ)音信號(hào)短時(shí)間內(nèi)(10 ms-30 ms)具有平穩(wěn)特性的特點(diǎn),就可以對(duì)語(yǔ)音信號(hào)進(jìn)行加窗分幀處理,即采用可移動(dòng)的有限長(zhǎng)度的窗函數(shù)進(jìn)行加權(quán)的方法來(lái)實(shí)現(xiàn)。本文采用布萊克曼窗(Blackman)函數(shù)對(duì)語(yǔ)音信號(hào)加窗分幀,以便減小吉布斯現(xiàn)象的影響。布萊克曼窗函數(shù)是二階升余弦窗,具有主瓣寬、旁瓣比較低的特點(diǎn),其時(shí)域表達(dá)式為
其中,N是幀長(zhǎng)。
情感特征提取旨在從語(yǔ)音信號(hào)中提取能夠反映說(shuō)話人情感的語(yǔ)音特征參數(shù)。目前,在語(yǔ)音情感識(shí)別領(lǐng)域研究者發(fā)現(xiàn)與說(shuō)話人發(fā)音時(shí)緊密相關(guān)的情感特征參數(shù),主要包括與發(fā)音語(yǔ)調(diào)和輕重有關(guān)的基音頻率和振幅,以及與發(fā)聲方式有關(guān)的頻譜能量分布參數(shù)[1-4,8,9]。因此,本文對(duì)每一句語(yǔ)音樣本,都提取基音頻率、振幅、頻譜能量分布三個(gè)方面的特征參數(shù),共計(jì)9個(gè)特征。其中,對(duì)基音頻率和振幅兩個(gè)特征分別計(jì)算出平均值、標(biāo)準(zhǔn)差和短時(shí)抖動(dòng)三個(gè)統(tǒng)計(jì)學(xué)參數(shù),而對(duì)頻譜能量分布特征取50 Hz-1000 Hz、1000 Hz-4000 Hz和4000 Hz-5000 Hz三個(gè)不同頻帶范圍的能量參數(shù)。
情感判別器用于實(shí)現(xiàn)語(yǔ)音情感類型的判別任務(wù),輸出最終的語(yǔ)音情感識(shí)別結(jié)果。本文采用模板匹配(Template Matching)方法[10]實(shí)現(xiàn)情感的分類。模板匹配方法的基本思想是從待測(cè)試樣本中提取相應(yīng)的特征向量,與訓(xùn)練樣本上提取的作為模板的對(duì)應(yīng)特征向量進(jìn)行比較,然后計(jì)算測(cè)試樣本的特征向量與模板特征向量之間的距離大小,最后采用最小距離法判定該測(cè)試樣本所屬的情感類別。
通過(guò)不斷重復(fù)計(jì)算該測(cè)試樣本和訓(xùn)練樣本模板之間的距離,并比較所有的距離大小,然后找到一個(gè)與測(cè)試樣本距離最小的訓(xùn)練樣本所對(duì)應(yīng)的樣本類別號(hào)作為測(cè)試樣本X所屬的情感類型。
Android作為一個(gè)巨大的開(kāi)放式移動(dòng)體系,從作用上劃分Android開(kāi)發(fā),大概有三類:(1)移植開(kāi)拓移動(dòng)電話系統(tǒng);(2)Android應(yīng)用軟件開(kāi)發(fā);(3)Android系統(tǒng)開(kāi)發(fā)。相對(duì)于語(yǔ)音情感識(shí)別系統(tǒng)而言,本文采用Android應(yīng)用軟件開(kāi)發(fā)的方式進(jìn)行系統(tǒng)設(shè)計(jì)。為了給Java層次的應(yīng)用軟件提供調(diào)用的接口,應(yīng)該要從底層到頂層整體開(kāi)發(fā)。有以下幾個(gè)步驟:
(1)擴(kuò)張 C 或者 C++現(xiàn)有庫(kù);(2)定義 Java 需要的類;(3)將需要的源代碼封裝成 JNI;(4)把 Java 類和JNI結(jié)合起來(lái);(5)應(yīng)用軟件調(diào)用Java類。
2.2.1 軟件、硬件測(cè)試環(huán)境
系統(tǒng)測(cè)試的軟件、硬件環(huán)境如表1、表2所示。
表1 軟件測(cè)試環(huán)境
表2 硬件測(cè)試環(huán)境
2.2.2 功能測(cè)試
圖2給出了該系統(tǒng)測(cè)試的APP啟動(dòng)界面,以及輸出五種基本情感類型,如生氣、高興、悲傷、害怕和中性的識(shí)別結(jié)果。APP啟動(dòng)之后,說(shuō)話人就可以對(duì)著手機(jī)麥克風(fēng)進(jìn)行現(xiàn)場(chǎng)采集語(yǔ)音,并實(shí)時(shí)性地進(jìn)行情感判別,即APP界面會(huì)實(shí)時(shí)性輸出每一種情感類別的判別分?jǐn)?shù),得分最高的那種情感類型就是最終識(shí)別的情感類別號(hào),如圖2(b)所示。
圖2 語(yǔ)音情感識(shí)別系統(tǒng)APP測(cè)試
2.2.3 情感識(shí)別結(jié)果測(cè)試
情感識(shí)別結(jié)果測(cè)試分為同語(yǔ)言和跨語(yǔ)言兩種情況。對(duì)于同語(yǔ)言測(cè)試,采用漢語(yǔ)普通話CHEAVD[7]語(yǔ)料庫(kù)的語(yǔ)音樣本作為訓(xùn)練樣本,而測(cè)試時(shí)說(shuō)話人的漢語(yǔ)普通話語(yǔ)音樣本作為測(cè)試樣本。對(duì)于跨語(yǔ)言測(cè)試,采用德語(yǔ)EMO-DB[5]語(yǔ)料庫(kù)的語(yǔ)音樣本作為訓(xùn)練樣本,而測(cè)試時(shí)說(shuō)話人的漢語(yǔ)普通話語(yǔ)音樣本作為測(cè)試樣本。所有測(cè)試的情感類型為五種基本情感類型,即生氣、高興、悲傷、害怕和中性。測(cè)試時(shí),說(shuō)話人現(xiàn)場(chǎng)模擬每一種基本的情感類型進(jìn)行錄音,從而采集10個(gè)測(cè)試樣本用于測(cè)試。
表3和表4分別給出了同語(yǔ)言和跨語(yǔ)言的情感識(shí)別結(jié)果。從表3和表4的實(shí)驗(yàn)結(jié)果可以看出,同語(yǔ)言的情感正確識(shí)別率的平均值為74 %,說(shuō)明該系統(tǒng)的同語(yǔ)言的識(shí)別性能較好。然而,跨語(yǔ)言的情感正確識(shí)別率的平均值只有56 %。實(shí)驗(yàn)結(jié)果表明,同語(yǔ)言的情感識(shí)別性能明顯高于跨語(yǔ)言的識(shí)別結(jié)果。這說(shuō)明,跨語(yǔ)言的情感識(shí)別難度比較打,因?yàn)椴煌Z(yǔ)言上的差異會(huì)明顯影響情感識(shí)別的性能。
表3 同語(yǔ)言(漢語(yǔ)作為訓(xùn)練,漢語(yǔ)作為測(cè)試)的情感識(shí)別結(jié)果
表4 跨語(yǔ)言(德語(yǔ)作為訓(xùn)練,漢語(yǔ)作為測(cè)試)的情感識(shí)別結(jié)果
本文設(shè)計(jì)了一種基于安卓(Android)移動(dòng)平臺(tái)的實(shí)時(shí)性語(yǔ)音情感識(shí)別系統(tǒng)。該系統(tǒng)在Android上集成了語(yǔ)音采集、情感特征提取、情感判別模型等語(yǔ)音情感識(shí)別系統(tǒng)的關(guān)鍵環(huán)節(jié)。實(shí)驗(yàn)測(cè)試結(jié)果表明,該系統(tǒng)具有實(shí)時(shí)性和識(shí)別性能較高的特點(diǎn)。
臺(tái)州學(xué)院學(xué)報(bào)2019年3期