闕大順,王虹,楊杰
摘要:針對(duì)語(yǔ)音信號(hào)分析與處理的特點(diǎn),利用Matlab開(kāi)發(fā)了通用語(yǔ)音信號(hào)處理虛擬實(shí)驗(yàn)平臺(tái),可完成語(yǔ)音信號(hào)的采集、預(yù)處理、語(yǔ)音分析和語(yǔ)音處理等功能及其結(jié)果顯示。闡述了系統(tǒng)總體設(shè)計(jì)思路,給出了多種語(yǔ)音分析和處理的功能實(shí)現(xiàn)舉例。整個(gè)系統(tǒng)界面友好,且具有易擴(kuò)展的特點(diǎn)。實(shí)踐證明,該平臺(tái)可使學(xué)生更好地理解和掌握課程的基本理論,有利于提高學(xué)生的分析問(wèn)題能力和綜合實(shí)踐能力,培養(yǎng)學(xué)生創(chuàng)新意識(shí)。
關(guān)鍵詞:語(yǔ)音處理;虛擬實(shí)驗(yàn);Matlab;圖形用戶界面GUI
中圖分類號(hào):TN911.72 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2012)01-0203-02
一、引言
語(yǔ)音信號(hào)處理是以語(yǔ)音語(yǔ)言學(xué)和數(shù)字信號(hào)處理等為基礎(chǔ)的涉及面很廣的交叉學(xué)科,是許多信息領(lǐng)域應(yīng)用的核心技術(shù)之一。目前高校中的語(yǔ)音信號(hào)處理課程主要從基礎(chǔ)理論、算法實(shí)現(xiàn)及實(shí)際應(yīng)用等幾個(gè)方面來(lái)展開(kāi)教學(xué)。由于該課程的理論涵蓋面廣、數(shù)學(xué)公式推導(dǎo)較多,學(xué)生學(xué)習(xí)理論知識(shí)會(huì)顯得枯燥難懂,且感覺(jué)理論和實(shí)際應(yīng)用脫節(jié)。針對(duì)這種情況,本文利用美國(guó)NI公司的圖形化虛擬儀器開(kāi)發(fā)平臺(tái)Matlab/Simulink,完成了語(yǔ)音信號(hào)處理的虛擬實(shí)驗(yàn)仿真平臺(tái)設(shè)計(jì)。借助該平臺(tái),學(xué)生能較為完整的深化學(xué)習(xí)該門課程的基礎(chǔ)理論,扎實(shí)掌握課程的知識(shí)網(wǎng)絡(luò)結(jié)構(gòu),探索語(yǔ)音信號(hào)處理算法的實(shí)現(xiàn)方法,同時(shí)能將語(yǔ)音信號(hào)處理系統(tǒng)的各個(gè)部分內(nèi)容有機(jī)地銜接起來(lái),極大地方便了學(xué)生進(jìn)行語(yǔ)音信號(hào)處理的學(xué)習(xí),有利于學(xué)生對(duì)理論算法的理解,加強(qiáng)了動(dòng)手能力,提高了學(xué)習(xí)的主動(dòng)性,有助于學(xué)生創(chuàng)新綜合能力的培養(yǎng)。
二、實(shí)驗(yàn)平臺(tái)總體設(shè)計(jì)
本實(shí)驗(yàn)平臺(tái)采用圖形化虛擬儀器開(kāi)發(fā)平臺(tái)Matlab/Simulink,它是一種圖標(biāo)代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語(yǔ)言,Matlab采用基于流程圖的圖形化編程方式,它編程簡(jiǎn)單、易于理解、效率高,針對(duì)數(shù)據(jù)采集、儀器控制、信號(hào)分析和數(shù)據(jù)處理等任務(wù),設(shè)計(jì)提供了豐富完善的功能圖標(biāo),且能解決極其復(fù)雜的數(shù)值運(yùn)算。語(yǔ)音信號(hào)處理包含語(yǔ)音信號(hào)的數(shù)字表達(dá)方法、語(yǔ)音信號(hào)的數(shù)字處理的各種方法以及語(yǔ)音處理理論和技術(shù)應(yīng)用等三個(gè)方面的內(nèi)容。開(kāi)發(fā)的實(shí)驗(yàn)平臺(tái)結(jié)構(gòu)框圖如圖1所示。
實(shí)驗(yàn)平臺(tái)的語(yǔ)音信號(hào)采集由語(yǔ)音采集卡、調(diào)理電路和PC機(jī)接口組成,也可由麥克風(fēng)和聲卡將接受的語(yǔ)音信號(hào)經(jīng)COOL EDIT或Praat等語(yǔ)音編輯軟件來(lái)完成,以形成待處理的音頻文件,再進(jìn)行預(yù)加重、端點(diǎn)檢測(cè)等語(yǔ)音預(yù)處理,然后完成語(yǔ)音信號(hào)分析、特征參數(shù)提取和語(yǔ)音信號(hào)處理及應(yīng)用等實(shí)驗(yàn)。
三、實(shí)驗(yàn)平臺(tái)功能實(shí)現(xiàn)舉例
語(yǔ)音信號(hào)在Matlab下對(duì)信號(hào)分析算法和處理算法進(jìn)行調(diào)試,無(wú)誤后導(dǎo)入matlab Script節(jié)點(diǎn)中。設(shè)計(jì)完成的虛擬實(shí)驗(yàn)平臺(tái)界面如圖2所示。
程序運(yùn)行時(shí),用戶可通過(guò)編輯設(shè)計(jì)用戶菜單,點(diǎn)擊菜單欄中的下拉菜單選項(xiàng),程序會(huì)自動(dòng)彈出相應(yīng)的前面板,選擇好文件路徑,程序?qū)?duì)語(yǔ)音數(shù)據(jù)進(jìn)行分析,同時(shí)實(shí)時(shí)顯示分析處理結(jié)果。
1.端點(diǎn)檢測(cè)實(shí)驗(yàn)的功能實(shí)現(xiàn)。語(yǔ)音預(yù)處理的端點(diǎn)檢測(cè)常用的方法是雙門限法,利用短時(shí)能量和短時(shí)過(guò)零率參數(shù)來(lái)實(shí)現(xiàn)。由于語(yǔ)音的起點(diǎn)可能是能量很弱的清輔音,此時(shí)不能用能量來(lái)區(qū)別這種清輔音和無(wú)聲,必須采用過(guò)零率。搜索過(guò)零率的時(shí)間少于要一個(gè)語(yǔ)音幀的長(zhǎng)度。圖3為端點(diǎn)檢測(cè)VI。當(dāng)程序運(yùn)行時(shí)選擇待分析的語(yǔ)音信號(hào),“驗(yàn)證數(shù)組操作”中顯示信號(hào)時(shí)域波形,“短時(shí)能量”和“過(guò)零率”即為該語(yǔ)音的對(duì)應(yīng)參數(shù)顯示。利用短時(shí)能量檢測(cè)的語(yǔ)音端點(diǎn)顯示在“端點(diǎn)幀數(shù)”表格中。
2.基音周期檢測(cè)實(shí)驗(yàn)的功能實(shí)現(xiàn)。根據(jù)語(yǔ)音信號(hào)的短時(shí)平均幅度差函數(shù)來(lái)確定基音周期,圖4為基音周期檢測(cè)的前面板設(shè)計(jì)。“短時(shí)平均幅度差”顯示語(yǔ)音信號(hào)的平均幅度差函數(shù),檢測(cè)得到的濁音周期在“基音周期”表格中顯示出來(lái)。
3.倒譜分析實(shí)驗(yàn)的功能實(shí)現(xiàn)。倒譜定義為信號(hào)短時(shí)振幅譜的對(duì)數(shù)傅里葉反變換,倒譜域中基音信息與聲道信息相對(duì)分離,采取簡(jiǎn)單的倒濾波方法可以分離并恢復(fù)出聲門脈沖激勵(lì)和聲道響應(yīng),并求出基音周期和共振峰。圖5為倒譜法求語(yǔ)音的共振峰的前面板。
4.頻譜分析實(shí)驗(yàn)的功能實(shí)現(xiàn)。調(diào)用Matlab中的譜分析函數(shù)模塊,先對(duì)語(yǔ)音信號(hào)進(jìn)行分幀,再將分幀后的語(yǔ)音信號(hào)數(shù)據(jù)轉(zhuǎn)換為波形數(shù)據(jù)類型,采樣率為8kHz。頻譜子VI前面板,如圖6所示。
利用譜分析中的“STFT時(shí)頻圖”模塊,可對(duì)分幀語(yǔ)音信號(hào)進(jìn)行聯(lián)合時(shí)頻分析,通過(guò)改變前面板中頻域窗長(zhǎng),可實(shí)現(xiàn)寬帶和窄帶語(yǔ)譜圖的仿真實(shí)現(xiàn)。
5.孤立詞識(shí)別實(shí)驗(yàn)的功能實(shí)現(xiàn)?;贖MM模型的孤立詞識(shí)別原理框圖,如圖7所示。語(yǔ)音識(shí)別系統(tǒng)底層由語(yǔ)音輸入模塊、預(yù)處理模塊、特征提取模塊、識(shí)別模塊以及訓(xùn)練模塊等5部分組成。
在語(yǔ)音采集過(guò)程中,以0~9這10個(gè)數(shù)字作為實(shí)驗(yàn)對(duì)象,每個(gè)語(yǔ)音有200份樣本,分別來(lái)自10位男生和10位女生,每個(gè)數(shù)字每人采集10份,共得到2000個(gè)語(yǔ)音樣本。同樣將實(shí)驗(yàn)數(shù)據(jù)分為三組:第一組用于訓(xùn)練,選擇8位女生和7位男生作為參與訓(xùn)練的人,每人每個(gè)數(shù)字取2份,共計(jì)300份語(yǔ)音樣本;第二組用于檢測(cè)系統(tǒng)的識(shí)別率,由15個(gè)參與訓(xùn)練的人的剩下的語(yǔ)音構(gòu)成;第三組用于檢測(cè)系統(tǒng)的識(shí)別率,由未參與訓(xùn)練的5個(gè)人的語(yǔ)音組成。
實(shí)驗(yàn)中點(diǎn)擊系統(tǒng)“語(yǔ)音識(shí)別”的二級(jí)菜單中的“輸入語(yǔ)音”菜單,可以通過(guò)麥克風(fēng)錄音,如數(shù)字“0”;然后完成語(yǔ)音信號(hào)的分幀和端點(diǎn)檢測(cè)等“預(yù)處理”;“特征提取”模塊可完成對(duì)語(yǔ)音信號(hào)特征參數(shù)的提取,本實(shí)驗(yàn)提取的是12維MFCC及其12維一階導(dǎo)數(shù),共24維,這樣可以反映語(yǔ)音信號(hào)的靜態(tài)和動(dòng)態(tài)特征;“識(shí)別”模塊完成對(duì)所錄入的語(yǔ)音和模板庫(kù)內(nèi)的語(yǔ)音的匹配,選擇累計(jì)概率最大的一個(gè)作為識(shí)別結(jié)果。對(duì)錄入數(shù)字“0”的識(shí)別結(jié)果的輸出界面如圖8所示。
重復(fù)上述過(guò)程,可完成數(shù)字語(yǔ)音0~9的孤立詞識(shí)別。通過(guò)實(shí)驗(yàn)分析,可進(jìn)一步完成系統(tǒng)對(duì)參與訓(xùn)練人的語(yǔ)音識(shí)別與第三組中未參與訓(xùn)練人的識(shí)別率的統(tǒng)計(jì)結(jié)果比較。
本文設(shè)計(jì)完成了一種運(yùn)用Matlab圖形化編程環(huán)境進(jìn)行語(yǔ)音信號(hào)處理的虛擬實(shí)驗(yàn)平臺(tái),能很好地結(jié)合學(xué)生的書(shū)本理論,方便地完成對(duì)語(yǔ)音信號(hào)的采集、預(yù)處理、語(yǔ)音分析和語(yǔ)音處理等功能及其結(jié)果顯示。系統(tǒng)具有用戶界面簡(jiǎn)潔和易于擴(kuò)展實(shí)驗(yàn)功能的特點(diǎn)。
參考文獻(xiàn):
[1]趙力.語(yǔ)音信號(hào)處理(第2版)[M].北京:機(jī)械工業(yè)出版社,2009.
[2]張志涌,楊祖櫻.MATLAB教程[M].北京:北京航空航天大學(xué)版社,2010.
[3]張德豐.MATLAB/Simulink建模與仿真[M].北京:電子工業(yè)出版社,2009.
課題項(xiàng)目:湖北省高等學(xué)校省級(jí)教學(xué)研究項(xiàng)目“大學(xué)生研究性學(xué)習(xí)與創(chuàng)新性實(shí)驗(yàn)研究”(20070089)
作者簡(jiǎn)介:闕大順(1963-),男,教授,博士,主要研究方向?yàn)樾盘?hào)與信息處理的科研與教學(xué)。