趙 楠,李世豪,肖 雄,吳令浩
(湖北工業(yè)大學(xué) 電氣與電子工程學(xué)院,武漢 430068)
Matlab在語音信號處理教學(xué)中的應(yīng)用
趙 楠,李世豪,肖 雄,吳令浩
(湖北工業(yè)大學(xué) 電氣與電子工程學(xué)院,武漢 430068)
針對語音信號處理課程教學(xué)的特點,提出一種基于Matlab的語音信號處理教學(xué)演示平臺,可實現(xiàn)語音信號的采集、語音分析和處理等功能及圖形顯示。在闡述了系統(tǒng)總體設(shè)計思路的基礎(chǔ)上,以多種語音信號分析和處理功能為例,介紹了使用Matlab輔助教學(xué)的情況。教學(xué)實踐表明,該平臺不僅使學(xué)生更好地理解和掌握課程的基本理論,而且有助于提高學(xué)生的分析問題能力和動手實踐能力。
語音信號處理;Matlab軟件;線性預(yù)測編碼;基音檢測;共振峰檢測
語音信號處理是利用數(shù)字信號處理技術(shù)對語音信號進行分析和處理的一門學(xué)科,涉及語音學(xué)、信息論、隨機過程、模式識別等許多學(xué)科領(lǐng)域。語音信號處理課程不僅是與通信技術(shù)和信息處理技術(shù)發(fā)展密切相關(guān)的一門專業(yè)基礎(chǔ)課程,而且是一門理論性強、實用廣、難度大的交叉學(xué)科課程[1-2]。
工科電子類專業(yè)語音信號處理課程的主要內(nèi)容包括語音信號處理的基本知識、語音信號的各種分析和處理技術(shù)(時域頻域分析、同態(tài)處理、線性預(yù)測分析、矢量量化)、語音信號處理及其應(yīng)用(基音檢測、共振峰檢測、波形編碼、語音識別及語音增強)等。該課程知識點比較多,理論性強,直觀性差,抽象概念和數(shù)學(xué)推導(dǎo)多,傳統(tǒng)板書或簡單的PPT教學(xué)方式很難讓學(xué)生理解和掌握[3]。
筆者所在教研組經(jīng)過多年探索和嘗試,將Matlab軟件運用于語音信號處理課程理論教學(xué)中,通過編程將課程中較難掌握和理解的知識點進行演示,把語音信號的特點和分析手段以圖表形式形象地顯示出來,使學(xué)生能夠深入地領(lǐng)會基本概念和設(shè)計思想,提高其學(xué)習(xí)課程的主動性。本文基于Matlab的GUI工具建立了一個語音信號處理教學(xué)演示平臺,以常見的語音信號分析技術(shù)為例,來說明Matlab在語音信號處理課程教學(xué)中的應(yīng)用。實際課堂教學(xué)應(yīng)用表明,該平臺加深了學(xué)生對語音信號處理技術(shù)的理解,也為學(xué)生進一步學(xué)習(xí)數(shù)字信號處理理論奠定了基礎(chǔ)。
Matlab軟件具有數(shù)值分析、矩陣運算、圖形處理和仿真建模等強大功能,被廣泛應(yīng)用于數(shù)字信號處理課程的課堂及實驗教學(xué)[4-5]。筆者基于Matlab軟件開發(fā)了一個語音信號處理可視化教學(xué)演示平臺。該平臺充分利用計算機快速運算、文字、動態(tài)圖形、聲音及GUI人機交互界面的特點,將語音信號處理課程中較難掌握和理解的概念和理論以圖形的方式動態(tài)地演示出來,從而使學(xué)生對所學(xué)知識理解得更加透徹。該平臺用戶界面如圖1所示,下拉菜單和按鈕分別實現(xiàn)不同功能和函數(shù)調(diào)用。
1)下拉菜單區(qū)
包括文件、編輯、設(shè)置、工具、幫助5個菜單。每個菜單下又有各級子菜單。
圖1 語音信號處理教學(xué)演示平臺
2)圖形區(qū)
動態(tài)地顯示信號分析和處理的圖形曲線。
3)控制按鈕區(qū)
由PushButton組成。這里展示出常見的語音信號分析技術(shù),用于語音信號處理知識點的動態(tài)仿真。
該平臺支持語音信號的時/頻分析、LPC(linear predictive coding)分析、倒譜分析、基音檢測、共振峰檢測等常見技術(shù),同時支持“軟件仿真演示”和“硬件仿真演示”兩種教學(xué)模式。其中,軟件仿真通過編程實現(xiàn)一段語音信號的分析與顯示;硬件仿真利用DSP技術(shù)實現(xiàn)語音信號的采集與分析。
在語音信號處理技術(shù)中,線性預(yù)測編碼技術(shù)(LPC)給出語音信號的基本模型。LPC的全極點模型反映了人體聲道的頻率響應(yīng)和原始信號的譜包絡(luò)特性[6],能較好地描述語音信號中的準穩(wěn)態(tài)濁音部分。從本質(zhì)上講,LPC是一種譜估計方法,一個語音的采樣能用過去若干個語音采樣的線性組合來逼近。在最小均方誤差意義上,通過使線性預(yù)測得到的采樣逼近實際語音采樣,從而獲得一組唯一的預(yù)測系數(shù),即線性組合中的加權(quán)系數(shù)。
(1)
對于p階線性預(yù)測來說,有
(2)
在LPC分析中,如果階數(shù)p低于某一合適階數(shù),那么該信號屬于欠建模,此時估計的誤差會很大,信號的相鄰譜峰會發(fā)生重疊;反過來,如果階數(shù)p大于某一合適階數(shù),那么該信號則屬于過建模,此時會出現(xiàn)病態(tài)矩陣方程和偽峰。
本平臺可實現(xiàn)不同階次的LPC分析,圖2和圖3分別給出階數(shù)p為8和24時,圖1所示某幀語音信號的LPC頻譜。通過該仿真結(jié)果,學(xué)生可直觀看出語音的LPC特性以及峰值對應(yīng)的共振峰頻率。
圖2 語音LPC頻譜圖(p=8)
基音周期是語音信號處理中一個非常重要的參
數(shù),能夠準確地檢測出基音周期,對語音信號的分析、合成、編碼以及識別等有重要的意義。短時自相關(guān)法和倒譜分析是基音周期估計中比較常用的方法,下面以Matlab實現(xiàn)這兩種基音檢測方法為例,來說明Matlab在基音檢測方面的應(yīng)用。
圖3 語音LPC頻譜圖(p=24)
3.1 基于短時自相關(guān)法的基音檢測
對于時間離散的確定性信號來說,自相關(guān)函數(shù)定義為:
(3)
對于周期性信號來說,自相關(guān)函數(shù)定義為:
(4)
式中,k為延遲點數(shù)。
自相關(guān)特性描述信號與其自身作了一段延遲后的信號之間的相似程度。一般來說,周期信號的自相關(guān)函數(shù)也是周期的,且和原信號的周期相同。對于語音信號來說,濁音是聲帶的周期性開啟/閉合產(chǎn)生的,具有周期性。因此,其自相關(guān)的周期就是濁音的周期,且在周期整數(shù)倍的位置上出現(xiàn)峰值,通常取最大峰值點作為基音頻率。清音是不由聲帶振動產(chǎn)生的,因而不具周期性。短時自相關(guān)檢測法就是通過這一性質(zhì)來提取基音周期的[7]。
用自相關(guān)法估計圖l所示語音信號的基音頻率,其基音檢測圖如圖4所示,標題顯示該段語音的平均基音頻率。
從圖4中,學(xué)生可直觀地看出,在發(fā)不同聲音的過程中,濁音語音的基音頻率隨著聲音的變化幅度波動很大,縱坐標值為零的語音段是清音。
圖4 基音頻率圖(短時自相關(guān)法)
3.2 基于倒譜法的基音檢測
從本質(zhì)上講,一個信號的倒譜即為該信號z變換的模的對數(shù)的逆z變換,即序列x(n)的倒譜c(n)定義為:
(5)
語音產(chǎn)生模型可看成是一個由周期脈沖序列(濁音)或白噪聲序列(清音)激勵的線性濾波器,在一幀內(nèi)通常認為濾波器具有時不變特性。因此,語音信號序列是激勵源和濾波器的沖激響應(yīng)的卷積。通過求信號的倒譜,可以將卷積性語音信號變換為加性語音信號,從而分離出激勵源和濾波器。
用倒譜法估計圖l所示語音信號的基音頻率,其基音檢測圖如圖5所示,標題顯示該段語音的平均基音頻率。通過該仿真結(jié)果,學(xué)生可清晰地看出濁音和清音隨著聲音的變化規(guī)律,從而加深學(xué)生對語音信號基音頻率等相關(guān)理論知識的理解。
圖5 基音頻率圖(倒譜法)
當準周期性脈沖激勵聲道時會產(chǎn)生共振特性,由此產(chǎn)生的一組共振頻率被稱為共振峰。共振峰參數(shù)包括共振峰頻率和頻帶寬度。共振峰信息包含在語音頻譜包絡(luò)中,因此,共振峰檢測的關(guān)鍵在于估計語音頻譜包絡(luò),該譜包絡(luò)中的譜峰值就是共振峰。
利用線性預(yù)測LPC可對語音信號進行解卷運算,即把激勵分量歸入預(yù)測誤差中,可獲得聲道響應(yīng)的全極點模型的分量,從而得到這個分量的預(yù)測系數(shù)ak。盡管計算結(jié)果的精度由于存在一定的逼近誤差而有所降低,但可去除激勵分量的影響,此時通過聲道響應(yīng)分量的譜峰,就可以獲得共振峰頻率[8]。通過對預(yù)測多項式系數(shù)的分解,可確定共振峰的中心頻率和帶寬。對濁音信號來說,利用上述方法可獲得某一幀信號的共振峰估值(通常,只需取前三個共振峰),學(xué)生可通過圖2的仿真實驗加深對共振峰頻率的理解。
圖6 共振峰軌跡圖
為了保證共振峰軌跡估計的連續(xù),必須進行判決(將共振峰的估值判定為一個特定的共振峰),此時需要采用加標記技術(shù)[8]。用線性預(yù)測估計圖l所示語音信號的共振峰(只取了前三個諧振頻率)軌跡如圖6所示。從圖6的仿真實驗,學(xué)生可直觀地看出濁音和清音共振峰頻率隨著聲音的變化情況。
語音信號處理課程理論性強、概念抽象。本文利用Matlab工具開發(fā)了一個語音信號處理仿真教學(xué)平臺,采用人機交互的GUI界面進行仿真演示,以直觀圖形和數(shù)據(jù)方式展現(xiàn),不僅能有效地提高課堂教學(xué)的質(zhì)量,而且可作為課后輔助工具,加深學(xué)生對課堂內(nèi)容的理解。
[1]胡航.語音信號處理[M].修訂版.黑龍江: 哈爾濱工業(yè)大學(xué)出版社,2002.
[2]趙力.語音信號處理[M].北京: 機械工業(yè)出版社, 2003.
[3]劉衛(wèi)東, 孟曉靜, 王艷芬.語音信號處理實驗教學(xué)研究探索[J].實驗室研究與探索, 2008, 27(4): 72-74.
[4]李軍, 亞訓(xùn).基于Matlab和DSP的數(shù)字信號處理課程實驗設(shè)計[J].實驗室研究與探索, 2007, 26(1):27-30.
[5]楊毅, 鄧北星, 馬曉紅.語音信號處理實驗教學(xué)研究與實踐[J].實驗科學(xué)與技術(shù),2012,10(6):112-116.
[6]姚天任.數(shù)字語音處理[M].武漢: 華中科技大學(xué)出版社, 2007.
[7]付青青, 吳愛平.基于Matlab的語音信號自相關(guān)基音檢測[J].長江大學(xué)學(xué)報(自然科學(xué)版), 2006, 3(4): 99-10.
[8]馬卡爾JD.語音信號線性預(yù)測[M].北京: 中國鐵道出版社, 1987.
Study on Teaching of Speech Signal Processing Based on Matlab
ZHAO Nan,LI Shihao,XIAO Xiong,WU Linghao
(School of Electricaland Electronic Engineering, Hubei University of Technology, Wuhan 430068, China)
Aiming at the difficult points in the teaching of speech signal processing, a novel demonstration platform based on MATLAB is proposed.The platform can achieve signal acquisition, preprocessing, and many other basic speech signal processing functions.Based on the explanation of the overall design idea, several Matlab assisted teaching scenarios were discussed.The teaching practice proves that the demonstration platform does not only enhance the students’ understanding of the basic principles and knowledge of speech signal processing, but also improve their hands-on problem-solving and analysis ability.
speech signal processing; Matlab software; linear predictive coding; pitch detection; formant detection
2014-08-11
湖北工業(yè)大學(xué)博士科研啟動基金(BSQD12029)。
趙 楠(1983-),女,博士,講師,主要從事語音信號處理、通信信號處理方面的研究。
A
10.3969/j.issn.1672-4550.2015.06.018