前言:想要寫出一篇引人入勝的文章?我們特意為您整理了本科教育的語音情感識別實驗設(shè)計與實現(xiàn)范文,希望能給你帶來靈感和參考,敬請閱讀。
[摘要]針對本科語音信號處理課程和實驗教學(xué)中的問題,以語音情感識別實驗為例,以MATLAB為實驗平臺,研究面向本科教育的語音實驗的設(shè)計與實現(xiàn)。在前期基礎(chǔ)實驗的基礎(chǔ)上,語音情感識別實驗分為特征提取,模式識別算法兩大部分,通過原理講解,實例參考,過程解析,由淺入深引導(dǎo)學(xué)生完成整個實驗過程。實驗效果顯示,面向應(yīng)用的語音信號處理實驗有助于激發(fā)學(xué)生的學(xué)習(xí)興趣,加深學(xué)生對理論知識的理解,同時為學(xué)生和科研工作者進(jìn)行課題和競賽開闊思路和積累實踐經(jīng)驗。
[關(guān)鍵詞]本科教育;語音信號處理;情感識別
一、語音信號處理課程設(shè)置
針對語音信號處理的重點(diǎn)內(nèi)容,以48學(xué)時課程為例,將語音信號處理課程設(shè)置為理論教學(xué)(36課時)、實驗教學(xué)(12課時)和綜合課題三個組成部分。理論教學(xué)注重培養(yǎng)學(xué)生基本問題的分析方法,從而掌握基本的語音信號處理的理論與概念。教學(xué)形式多樣,包括網(wǎng)上學(xué)習(xí)、課外閱讀、大型作業(yè)、主題調(diào)查、讀書報告、分組討論等。對語音信號的原理與方法,課堂教學(xué)盡可能用簡明、通俗的語言,以深入淺出、通俗易懂的方式講解,并借助Flash動畫、語音樣本等形式展現(xiàn)出來。語音實驗共包含6種。1.語音采集與預(yù)處理實驗。開設(shè)目的:讓學(xué)生了解MATLAB采集語音信號的原理及常用命令,熟練掌握基于MATLAB的語音文件的創(chuàng)建與讀寫等基本操作,學(xué)會使用Plot命令來顯示語音信號波形并掌握基本的標(biāo)注方法,掌握語音信號的預(yù)處理方法。2.語音信號時域特征分析實驗。實驗?zāi)康模鹤寣W(xué)生了解語音信號分幀與加窗的重要性和必要性,掌握常用的窗函數(shù)和加窗分幀處理的原理,能編程實現(xiàn)分幀函數(shù)并恢復(fù),掌握短時時域分析的一些參數(shù)計算方法,了解短時傅里葉變換的原理并編程實現(xiàn)短時傅里葉函數(shù),了解語譜圖的意義和表現(xiàn)方法并編程實現(xiàn)。3.倒譜分析與MFCC系數(shù)實驗。開設(shè)目的:讓學(xué)生了解語音信號倒譜分析的意義,掌握語音信號倒譜和復(fù)倒譜分析的原理,編程實現(xiàn)倒譜和復(fù)倒譜計算函數(shù)。4.語音端點(diǎn)檢測實驗。開設(shè)目的:讓學(xué)生了解線性預(yù)測分析在語音信號處理中的重要性和必要性,掌握線性預(yù)測分析的基本思想,掌握MATLAB進(jìn)行線性預(yù)測分析的流程。5.語音基音周期檢測實驗。開設(shè)目的:讓學(xué)生了解語音端點(diǎn)檢測的重要性和必要性,掌握基于雙門限法、相關(guān)法、譜熵法、比例法的語音端點(diǎn)檢測原理,編程實現(xiàn)基于雙門限法、相關(guān)法、譜熵法、比例法的語音端點(diǎn)檢測函數(shù)。6.語音信號處理應(yīng)用實驗。開設(shè)目的:讓學(xué)生了解K近鄰分類算法的原理,掌握基于K近鄰分類算法的情感識別基本過程,應(yīng)用MATLAB實現(xiàn)基于K近鄰分類算法的情感識別。這6種實驗中前5種以偏重基礎(chǔ)為主,并不涉及明確的語音信號處理應(yīng)用背景;第6個實驗以應(yīng)用為主,注重培養(yǎng)學(xué)生的動手能力。這樣設(shè)置的目的是既讓學(xué)生掌握語音信號處理的基本方法,又注意培養(yǎng)學(xué)生的研究興趣。下面以語音信號處理中的語音情感分析應(yīng)用實驗為例,介紹語音實驗的設(shè)置。
二、語音情感分析原理
(一)特征提取
根據(jù)語音信號具有短時平穩(wěn)性,可以對語音信號進(jìn)行處理提取所需的特征參數(shù)。對語音信號進(jìn)行加窗分幀處理,能夠有效利用語音信號的短時平穩(wěn)性進(jìn)行特征提取和分析。加窗即把原始的語音信號與特定的窗函數(shù)相乘得到加窗語音信號。重要的與情感相關(guān)的語音特征有很多種,主要包括基音頻率、共振峰、美爾倒譜系數(shù)(MFCC)等。這些都是重要的語音特征,在語音增強(qiáng)[8]、語音編碼、語音合成、語音識別、說話人識別[9]、情感識別、語音隱藏、聲源定位等領(lǐng)域都有著廣泛而重要的應(yīng)用,尤其對漢語更是如此?;糁芷谑钦Z音信號處理中描述激勵源的重要參數(shù)之一。人在發(fā)濁音時,氣流通過聲門使聲帶產(chǎn)生張弛振蕩式振動,產(chǎn)生一股準(zhǔn)周期脈沖氣流,這一氣流激勵聲道就產(chǎn)生濁音,又稱有聲語音,它攜帶著語音中的大部分能量。這種聲帶振動的頻率稱為基頻,相應(yīng)的周期就稱為基音周期。目前的基音檢測算法主要有自相關(guān)函數(shù)法、平均幅度差函數(shù)法、倒譜法,以及在以上算法基礎(chǔ)上的一些改進(jìn)算法。而共振峰是指在聲音的頻譜中能量相對集中的一些區(qū)域,共振峰不但是音質(zhì)的決定因素,而且反映了聲道(共振腔)的物理特征。共振峰的本義是指聲腔的共鳴頻率。與基音提取相似,共振峰估計也被許多問題所困擾,包括虛假峰值、共振峰合并、高基音語音等,其主要求法包括倒譜法和LPC法等。MFCC是從Mel頻率刻度域中提取出的倒譜參數(shù),可以通過人耳的聽覺原理對其進(jìn)行分析。它與聲音頻率的具體關(guān)系可近似表示為:Mel(f)=2595log10()1+f/700(1)其中,f表示聲音頻率,單位為Hz。MFCC的提取過程為:1.對原始語音信號進(jìn)行分幀加窗預(yù)處理;2.將預(yù)處理后的信號進(jìn)行離散傅里葉變換(DFT),從而得到語音幀的短時頻譜;3.將短時頻譜的幅度值通過Mel濾波器組進(jìn)行加權(quán)濾波處理;4.對Mel濾波器組的全部輸出值進(jìn)行一個求對數(shù)計算;5.將經(jīng)過求對數(shù)計算后得到的值進(jìn)行離散余弦變換(DCT),從而得到MFCC。
(二)情感分類算法
考慮到學(xué)生的知識點(diǎn)和課時較短的問題,實驗須選用一些易于實現(xiàn)和理解的算法。為此,實驗選擇了K近鄰(k-NearestNeighbor,KNN)分類算法用來情感識別。K近鄰(k-NearestNeighbor,KNN)分類算法,是一種較為簡單直觀的分類方法[10],但在語音情感識別中表現(xiàn)出的性能卻很好。KNN分類器的分類思想是:給定一個在特征空間中的待分類的樣本,如果其附近的K個最鄰近的樣本中的大多數(shù)屬于某一個類別,那么當(dāng)前待分類的樣本也屬于這個類別。在KNN分類器中,樣本點(diǎn)附近的K個近鄰都是已經(jīng)正確分類的對象。在分類決策上只依據(jù)最鄰近的一個或者幾個樣本的類別信息來決定待分類的樣本應(yīng)該歸屬的類別。KNN分類器雖然原理上也依賴于極限定理,但在實際分類中,僅同少量的相鄰樣本有關(guān),而不是靠計算類別所在特征空間區(qū)域。因此對于類別域交叉重疊較多的分類問題來說,KNN方法具有優(yōu)勢。設(shè)待分類樣本的特征參數(shù)為X,已知類別的訓(xùn)練樣本集樣本的特征參數(shù)集為{X1,X2,X3,⋯,Xn};對于待測樣本X,計算其與{X1,X2,X3,⋯,Xn}中每一樣本的歐式距離D(X,Xl),l=1,2,⋯,n,即:D(X,Xl)=∑i=1N(X(i)-Xl(i))2,l=1,2,⋯,n(1)其中,N代表特征向量的維數(shù)。min{D(X,Xl)}稱為X的最近鄰,而將D(X,Xl)從小到大排列后的前K個值稱為X的K近鄰。分析K近鄰中屬于哪一類別的個數(shù)最多,則將X歸于該類。KNN算法大致可分為如下四步。(1)由特征提取函數(shù)提取訓(xùn)練樣本的特征向量,構(gòu)成訓(xùn)練樣本特征向量集合{X1,X2,X3,⋯,Xn}。(2)設(shè)定算法中K的值。K值的確定沒有一個統(tǒng)一的方法(根據(jù)具體問題選取的K值可能有較大的區(qū)別)。一般方法是先確定一個初始值,然后根據(jù)實驗結(jié)果不斷調(diào)試,最終達(dá)到最優(yōu)。(3)利用特征向量提取函數(shù)提取待測樣本的特征向量X,并計算X與{X1,X2,X3,⋯,Xn}中每一樣本的歐式距離D(X,Xl),l=1,2,⋯,n。(4)統(tǒng)計D(X,Xl),l=1,2,⋯,n中K個最近鄰的類別信息,給出X的分類結(jié)果。實際程序中,我們將訓(xùn)練樣本集的特征提取與待測樣本的特征提出合并一起,得到總特征向量集合,然后劃分出訓(xùn)練樣本集和待測樣本集,以提高測試時的效率。
三、實驗設(shè)置
為了突出實驗效果,實驗選擇了情感研究比較著名的數(shù)據(jù)庫——柏林?jǐn)?shù)據(jù)庫。柏林?jǐn)?shù)據(jù)庫在語音情感識別領(lǐng)域使用廣泛,許多語音情感識別研究成果均在柏林庫上進(jìn)行驗證。它包含了生氣、無聊、厭惡、恐懼、喜悅、中性和悲傷等語音情感類別,情感語音樣本采用表演的方式獲得,并由初期的語料錄制以及后期的人耳辨別測試最終保存了不到500句質(zhì)量較高的語料樣本構(gòu)成柏林語音情感庫。實驗選取柏林庫中五類情感每種情感各50個樣本共250個樣本作為實驗用的情感語料庫。其中125句為訓(xùn)練樣本,其余125句為待測樣本。整個實驗的思路:編寫特征提取函數(shù)→提取語音文件的特征向量→實現(xiàn)KNN分類算法→給出識別結(jié)果。具體實驗步驟:1.根據(jù)編寫好的特征提取函數(shù),提取相應(yīng)情感語音的特征向量并保存成各自的mat文件,將這些mat文件放入到與主程序相同的路徑下;2.根據(jù)算法原理編寫主程序,主程序功能包括構(gòu)建訓(xùn)練樣本集和待測樣本集,設(shè)定K值實現(xiàn)KNN算法以及顯示識別結(jié)果;3.運(yùn)行主程序,分析實驗結(jié)果,并選取不同的K值多次測試,對比各自的分類效果,大致確定最優(yōu)的K值。說明:1.程序中首先將同文件下的不同情感的mat文件讀入工作區(qū),將這些情感特征分成待測類和識別類;2.k值的選取可根據(jù)使用情況多次試驗調(diào)整。
四、總結(jié)
針對目前語音信號處理課程偏重于理論教學(xué)的現(xiàn)狀,為適應(yīng)目前情感識別研究的熱點(diǎn),本文研究并設(shè)計了語音情感識別實驗。實驗提取了常用的語音特征,并采用易學(xué)的KNN算法在通用的數(shù)據(jù)庫上進(jìn)行實驗驗證。研究顯示,面向應(yīng)用的語音實驗設(shè)置,可以有效提高學(xué)生的學(xué)習(xí)熱情,改善學(xué)生的學(xué)習(xí)效果。
[參考文獻(xiàn)]
[1]劉衛(wèi)東,孟曉靜,王艷芬.語音信號處理實驗教學(xué)研究探索[J].實驗室研究與探索,2008(4):72-74.
[2]趙力,梁瑞宇,魏昕,奚吉.語音信號處理(第3版)[M].北京:機(jī)械工業(yè)出版社:2016.
[3]王薇,楊麗萍,魏麗,劉艷.語音情感特征的提取與分析[J].實驗室研究與探索,2013(7):91-94+191.
[4]梁瑞宇,趙力,魏昕.語音信號處理實驗教程[M].北京:機(jī)械工業(yè)出版社:2016.
作者:唐閨臣 梁瑞宇 王杰 單位:南京工程學(xué)院通信工程學(xué)院廣州大學(xué)機(jī)械與電氣工程學(xué)院