凌賢鵬 李綻蕾 劉昊 張釤釤 俞蕓蕓
摘 要:文中設(shè)計(jì)了一款智能家居系統(tǒng),主要介紹了語(yǔ)音識(shí)別技術(shù)的相關(guān)基礎(chǔ)原理以及流程。詳細(xì)分析了一段語(yǔ)音信號(hào)從采集到預(yù)處理,提取特征值后與語(yǔ)音庫(kù)中的聲學(xué)模型比對(duì)得出識(shí)別結(jié)果的過(guò)程及隱馬爾科夫的建模過(guò)程、算法流程,最后利用Arduino開(kāi)發(fā)板搭建智能家居系統(tǒng)。
關(guān)鍵詞:智能家居;語(yǔ)音識(shí)別;Arduino;隱馬爾科夫模型;特征提取
中圖分類(lèi)號(hào):TP39文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-1302(2019)01-00-02
0 引 言
第一次工業(yè)時(shí)代后,生活方式大不同前,越來(lái)越多的機(jī)器設(shè)備開(kāi)始代替手工作業(yè),而在家居行業(yè)也出現(xiàn)了類(lèi)似的機(jī)器人幫人們處理家居生活中的簡(jiǎn)單工作,不僅解放了人們的雙手,又節(jié)省了大量時(shí)間。智能家居的發(fā)展與人機(jī)交互技術(shù)有著密不可分的關(guān)聯(lián),在長(zhǎng)期探索中,語(yǔ)音識(shí)別技術(shù)脫穎而出。本文詳細(xì)分析了語(yǔ)音識(shí)別過(guò)程,并設(shè)計(jì)了一套基于A(yíng)rduino平臺(tái)的智能家居系統(tǒng)實(shí)現(xiàn)對(duì)家居燈光、環(huán)境(溫度和濕度)、光線(xiàn)、安防監(jiān)督的語(yǔ)音化控制。
1 語(yǔ)音識(shí)別系統(tǒng)相關(guān)理論技術(shù)
語(yǔ)音識(shí)別的信號(hào)處理流程如圖1所示。語(yǔ)音識(shí)別系統(tǒng)由語(yǔ)音前期預(yù)處理、語(yǔ)音信號(hào)特征參數(shù)提取、參考模型庫(kù)建模、模式匹配以及語(yǔ)音后處理五個(gè)部分組成[1]。語(yǔ)音識(shí)別可分為如下四大階段:
(1)第一個(gè)階段先通過(guò)性能優(yōu)良的語(yǔ)音采集設(shè)備采集語(yǔ)音信號(hào),然后進(jìn)行相關(guān)預(yù)加重、分幀、加窗、端點(diǎn)檢測(cè)等預(yù)處理操作。
(2)第二階段是聲學(xué)模型訓(xùn)練階段。提取語(yǔ)音庫(kù)中已知語(yǔ)義的語(yǔ)音信號(hào)特征參數(shù),將其作為模板存入?yún)⒖寄P蛶?kù)中。使用訓(xùn)練算法建立聲學(xué)模型,而聲學(xué)模型的訓(xùn)練過(guò)程也是建模過(guò)程,通過(guò)訓(xùn)練語(yǔ)音庫(kù)的特征參數(shù)訓(xùn)練聲學(xué)模型參數(shù)[2],因此要設(shè)置合理的模型初始值。
(3)第三階段是識(shí)別階段,將輸入語(yǔ)音的特征參數(shù)經(jīng)過(guò)一定的識(shí)別算法與訓(xùn)練好的參考模型庫(kù)中的特征參數(shù)進(jìn)行相似度對(duì)比,匹配相似度概率最高的即為輸入語(yǔ)音最終識(shí)別結(jié)果[3]。
(4)第四階段是語(yǔ)音后處理階段,確定當(dāng)前哪個(gè)詞語(yǔ)可以跟隨上一個(gè)已經(jīng)識(shí)別的詞,排除不可能的單詞,將最佳匹配結(jié)果語(yǔ)音信號(hào)進(jìn)行語(yǔ)言建模,匹配出文本語(yǔ)義。
2 語(yǔ)音信號(hào)的時(shí)域處理
在對(duì)語(yǔ)音信號(hào)分析前,要先對(duì)語(yǔ)音信號(hào)進(jìn)行預(yù)處理,包括端點(diǎn)檢測(cè)、預(yù)加重、加窗和分幀等技術(shù)[4]。
預(yù)加重采用一個(gè)6 dB/倍頻的一階高通數(shù)字濾波器實(shí)現(xiàn),其傳遞函數(shù)為H(z)=1-μz-1,加窗可以讓一幀信號(hào)的幅度在兩端平滑的衰減漸變到零,以避免短時(shí)語(yǔ)音段邊緣的影響。但由于加窗削弱了語(yǔ)音邊緣的信號(hào),為了使相鄰幀連續(xù)不中斷,一般采用重疊分幀方法[5]。
端點(diǎn)檢測(cè)技術(shù)的目的是檢測(cè)出有效語(yǔ)音信號(hào)的起始點(diǎn)和終止點(diǎn)[6],從而減少需要處理的數(shù)據(jù)量和運(yùn)算量,同時(shí)還能降低噪聲對(duì)語(yǔ)音識(shí)別系統(tǒng)的影響,一般采用雙門(mén)限端點(diǎn)檢測(cè)法。
3 語(yǔ)音信號(hào)的特征提取
語(yǔ)音信號(hào)提取的特征值應(yīng)該準(zhǔn)確、完全地包含語(yǔ)音信號(hào)的全部信息。同時(shí)提取能有效反映語(yǔ)音特性、減少語(yǔ)音信號(hào)中與識(shí)別無(wú)關(guān)的信息,減少識(shí)別數(shù)據(jù)量。本文分析了語(yǔ)音信號(hào)的三種特征參數(shù),即線(xiàn)性預(yù)測(cè)系數(shù)(LPC)、線(xiàn)性預(yù)測(cè)倒譜系數(shù)(LPCC)、梅爾頻率倒譜系數(shù)(MFCC)[7]。
3.1 線(xiàn)性預(yù)測(cè)系數(shù)(LPC)
線(xiàn)性預(yù)測(cè)的原理:語(yǔ)音信號(hào)S(n)的值可由過(guò)去若干時(shí)刻的采樣值或其線(xiàn)性組合來(lái)逼近[8]。在逼近過(guò)程中,逼近值與原始值之間的差值稱(chēng)為預(yù)測(cè)誤差,當(dāng)預(yù)測(cè)誤差達(dá)到最小時(shí),即預(yù)測(cè)效果最接近,也是模型建立最完美的值。可以推得,線(xiàn)性預(yù)測(cè)系數(shù)ai的值達(dá)到了收斂。線(xiàn)性預(yù)測(cè)方法得到的參數(shù)可以很好地反映語(yǔ)音信號(hào)的頻譜幅度。
3.2 線(xiàn)性預(yù)測(cè)倒譜系數(shù)(LPCC)
LPCC可以將語(yǔ)音模型中的聲門(mén)激勵(lì)信號(hào)與聲道沖激響應(yīng)信號(hào)進(jìn)行分離,計(jì)算量小,實(shí)現(xiàn)相對(duì)簡(jiǎn)單,提高了特征參數(shù)的穩(wěn)定性[9]。該值是對(duì)語(yǔ)音信號(hào)進(jìn)行FFT后再取對(duì)數(shù),求IFFT后得到的。
3.3 梅爾頻率倒譜系數(shù)(MFCC)
Mel頻率倒譜系數(shù)(MFCC)充分考慮了人耳聽(tīng)覺(jué)的感知特性后進(jìn)行語(yǔ)音信號(hào)處理。MFCC具有更好的識(shí)別性能[10],語(yǔ)音信號(hào)中的能量主要集中在低頻部分,對(duì)人耳的聽(tīng)覺(jué)特性模擬地更好,而人耳對(duì)低頻分量也更敏感。語(yǔ)音信號(hào)低頻部分的一個(gè)參數(shù)淡化了易受環(huán)境噪聲干擾的高頻部分,提高了語(yǔ)音識(shí)別系統(tǒng)的抗噪聲能力。
4 隱馬爾科夫模型HMM
隱馬爾科夫過(guò)程是一個(gè)雙重隨機(jī)過(guò)程:其一用于描述每幀語(yǔ)音信號(hào)的統(tǒng)計(jì)特性(可直接觀(guān)測(cè)到);其二用于描述每幀語(yǔ)音信號(hào)如何轉(zhuǎn)變到寫(xiě)一個(gè)語(yǔ)音幀信號(hào)(隱含在觀(guān)察序列中)。隱馬爾可夫模型就像一個(gè)黑箱子,內(nèi)部狀態(tài)外部不可見(jiàn),外界只能看到各個(gè)時(shí)刻的輸出值[11]??捎^(guān)測(cè)部分是人的語(yǔ)音,而隱含部分則是人組織語(yǔ)言的大腦激勵(lì)信號(hào)。隱馬爾可夫模型可用λ=(π,A,B)表示[12]。
本文詳細(xì)分析了HMM模型三個(gè)基本問(wèn)題的解決算法。假設(shè)已知可觀(guān)察狀態(tài)值序列O=(O1,O2,…,OT)(T是語(yǔ)音信號(hào)的幀數(shù))和馬爾科夫模型參數(shù)λ=(π,A,B),計(jì)算可觀(guān)察序列的概率P(O|λ)時(shí)一般使用向前-向后算法[13]。
已知可觀(guān)察狀態(tài)值序列O=(O1,O2,…,OT)和模型λ=(π,A,B),計(jì)算最有可能生成該可觀(guān)察序列的隱含狀態(tài)序列,通常使用Viterbi算法[14]。
在已知可觀(guān)察狀態(tài)的序列O=(O1,O2,…,OT)的前提下,確定HMM的模型參數(shù)λ=(π,A,B),使得可觀(guān)察序列的概率P(O|λ)最大,通常使用Baum-Welch算法[15]。
5 智能家居系統(tǒng)實(shí)現(xiàn)
結(jié)合Arduino開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)智能家居模塊的交互系統(tǒng),對(duì)家居系統(tǒng)整體以及軟硬件需求進(jìn)行分析與總體設(shè)計(jì),實(shí)現(xiàn)通過(guò)語(yǔ)音控制家居設(shè)備的目標(biāo)。該系統(tǒng)具有燈光控制,光線(xiàn)以及溫度濕度檢測(cè)和危險(xiǎn)氣體警報(bào)功能。為了擁有更好的人機(jī)交互環(huán)境,本文系統(tǒng)還添加了語(yǔ)音播報(bào)功能。
調(diào)試并連接智能家居的軟硬件系統(tǒng),分別測(cè)試智能家居系統(tǒng)的語(yǔ)音識(shí)別率,以及相應(yīng)的語(yǔ)音命令能否實(shí)現(xiàn)對(duì)應(yīng)功能。在安靜的環(huán)境下,系統(tǒng)功能能夠全部實(shí)現(xiàn),測(cè)試非特定人100次的語(yǔ)音識(shí)別率均在90%以上。在有噪聲的環(huán)境下,系統(tǒng)功能均未實(shí)現(xiàn),測(cè)試非特定人100次的語(yǔ)音識(shí)別率均在50%以下甚至更低。由實(shí)驗(yàn)結(jié)果可知,與安靜環(huán)境對(duì)比,噪聲環(huán)境下的語(yǔ)音識(shí)別效果大大降低,且長(zhǎng)語(yǔ)音命令的識(shí)別率同之前一樣低于安靜環(huán)境下的語(yǔ)音識(shí)別率。
6 結(jié) 語(yǔ)
本文主要對(duì)語(yǔ)音識(shí)別技術(shù)做了大致分析,比較了特征提取線(xiàn)性預(yù)測(cè)技術(shù)、線(xiàn)性預(yù)測(cè)倒譜系數(shù)以及梅爾頻率倒譜系數(shù)之間的優(yōu)缺點(diǎn)。詳細(xì)分析了隱馬爾科夫的建模過(guò)程以及相應(yīng)算法,結(jié)合Arduino開(kāi)發(fā)平臺(tái),對(duì)智能家居系統(tǒng)做出簡(jiǎn)單設(shè)計(jì),實(shí)現(xiàn)了語(yǔ)音命令“開(kāi)燈”“關(guān)燈”“溫度濕度檢測(cè)”“環(huán)境光線(xiàn)檢測(cè)”等操作,同時(shí)還采用危險(xiǎn)氣體警報(bào)對(duì)家居安防進(jìn)行布施。語(yǔ)音播報(bào)提供了良好的人機(jī)交互環(huán)境,通過(guò)智能家居各模塊功能語(yǔ)音識(shí)別測(cè)試可知,提高語(yǔ)音識(shí)別率不僅需要安靜的環(huán)境,還需要說(shuō)標(biāo)準(zhǔn)的普通話(huà)。語(yǔ)音識(shí)別如何在有較大噪音的環(huán)境中進(jìn)行準(zhǔn)確識(shí)別是一道難關(guān),也是未來(lái)科研人的努力方向。
參 考 文 獻(xiàn)
[1]許春冬,張震,戰(zhàn)鴿,等.面向語(yǔ)音增強(qiáng)的約束序貫高斯混合模型噪聲功率譜估計(jì)[J].聲學(xué)學(xué)報(bào),2017,42(5):633-640.
[2]趙明明.語(yǔ)音識(shí)別系統(tǒng)中特征提取和聲學(xué)建模的研究[D].重慶:重慶師范大學(xué),2012.
[3]張志霞.語(yǔ)音識(shí)別中個(gè)人特征參數(shù)提取研究[D].太原:中北大學(xué),2009.
[4]許春冬,戰(zhàn)鴿,應(yīng)冬文,等.基于隱馬爾科夫模型的非監(jiān)督噪聲功率譜估計(jì)[J]. 數(shù)據(jù)采集與處理,2015,30(2):359-364.
[5]李寶祥.語(yǔ)音關(guān)鍵詞檢索若干問(wèn)題的研究[D].北京:北京郵電大學(xué),2013.
[6]劉洋.基于神經(jīng)網(wǎng)絡(luò)的語(yǔ)音端點(diǎn)檢測(cè)方法研究[D].大連:大連理工大學(xué),2010.
[7]郭秋雨.小詞匯量非特定人的孤立詞語(yǔ)音識(shí)別系統(tǒng)研究[D].青島:中國(guó)海洋大學(xué),2010.
[8]張輝.基于線(xiàn)性預(yù)測(cè)和激勵(lì)機(jī)制的在線(xiàn)語(yǔ)音傳輸實(shí)驗(yàn)系統(tǒng)[D].天津:南開(kāi)大學(xué),2008.
[9]許春冬,王晶,戰(zhàn)鴿,等.基于功率譜包絡(luò)動(dòng)態(tài)分割的魯棒語(yǔ)音端點(diǎn)檢測(cè)[J]. 北京理工大學(xué)學(xué)報(bào),2015,35(11):1189-1193.
[10]陳衛(wèi)東,王曉亞,解靜.基于LPCC的多語(yǔ)種識(shí)別算法[J].無(wú)線(xiàn)電工程,2009,39(9):16-18.
[11]孫穎華.高階離散隱馬爾科夫模型的嚴(yán)格定義及等價(jià)性質(zhì)[D].鎮(zhèn)江:江蘇大學(xué),2016.
[12]郭雷勇,李宇,林勝義,等.用于隱馬爾科夫模型語(yǔ)音帶寬擴(kuò)展的激勵(lì)分段擴(kuò)展方法[J].計(jì)算機(jī)應(yīng)用,2017,37(8):2416-2420.
[13] XU L,KONG A L,LI H,et al.Generalizing I vector estimation for rapid speaker recognition[J].IEEE/ACM transactionson audio speech & language processing,2018,26(4):749-759.
[14] FAN J L.Forward-backward algorithm[J].Springer international,2016,13(2):97-116.
[15] VITERBI A J.Error bounds for convolute-onal codes and an asymptotically optim-um decoding algorithm[J].IEEE Trans.informat.theory,1967,13(2):260-269.