袁毅 陳勝勇
摘 ?要:在人工智能技術(shù)發(fā)展的進(jìn)程中,語音識(shí)別已經(jīng)成為重要分支之一。語音識(shí)別技術(shù)作為人與機(jī)器的一種交互方式,將前端處理之后的信號(hào)轉(zhuǎn)換成文本或者指令,進(jìn)而用于控制相關(guān)智能設(shè)備。當(dāng)前,基于深度學(xué)習(xí)的云端語音識(shí)別技術(shù)已經(jīng)逐漸成熟,但考慮到離線設(shè)備無法使用云端語音識(shí)別API,基于本地的嵌入式語音別技術(shù)研究仍然重要。本文從嵌入式語音識(shí)別系統(tǒng)的組成分別介紹前端信號(hào)處理、聲學(xué)模型和語言模型等相關(guān)技術(shù)點(diǎn)。
關(guān)鍵詞:語音識(shí)別;嵌入式;人工智能
中圖分類號(hào):TN912.34 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2019)14-0166-03
Design of Embedded Speech Recognition System Based on Cortex-A9
YUAN Yi,CHEN Shengyong
(Guangzhou Ligong Science and Technology Co.,Ltd.,Guangzhou ?510660,China)
Abstract:In the process of artificial intelligence technology development,speech recognition has become one of the important branches. As a way of interaction between human and machine,speech recognition technology converts the signal processed by the front end into text or instructions,which can be used to control relevant intelligent devices. At present,cloud speech recognition technology based on deep learning has been gradually mature,but considering that offline devices cannot use cloud speech recognition API,research on local embedded speech technology is still important. In this paper,the components of embedded speech recognition system are introduced,including front-end signal processing,acoustic model and language model.
Keywords:speech recognition;embedded;AI
0 ?引 ?言
語音識(shí)別技術(shù)是人機(jī)交互的關(guān)鍵技術(shù),在數(shù)十年的發(fā)展中提升顯著。語音識(shí)別的起源可以追溯到二十世紀(jì)五十年代,首個(gè)語音識(shí)別系統(tǒng)是貝爾實(shí)驗(yàn)室開發(fā)的Audry系統(tǒng),該系統(tǒng)可以識(shí)別0到9的英文數(shù)字。經(jīng)過十余年的發(fā)展,在二十世紀(jì)六十年代左右,線性預(yù)測(cè)分析和動(dòng)態(tài)規(guī)劃算法的提出,極大地推動(dòng)了語音識(shí)別技術(shù)的落地,使用線性預(yù)測(cè)編碼可以對(duì)語音信號(hào)進(jìn)行建模,進(jìn)一步提取語音的特征來識(shí)別。隨后,動(dòng)態(tài)時(shí)間規(guī)整算法(DTW)、矢量量化技術(shù)(VQ)和隱馬爾可夫模型(HMM)理論[1]的提出,促使語音識(shí)別相關(guān)產(chǎn)品逐漸具備實(shí)用性,識(shí)別算法也轉(zhuǎn)變成基于統(tǒng)計(jì)模型的方法。在二十世紀(jì)九十年代后,人工神經(jīng)網(wǎng)絡(luò)技術(shù)[2]受到廣大研究人員的關(guān)注,逐漸從圖像領(lǐng)域發(fā)展到了語音識(shí)別技術(shù)研究,基于深度神經(jīng)網(wǎng)絡(luò)[3]的語音識(shí)別有效提升了識(shí)別率。
1 ?系統(tǒng)構(gòu)成
嵌入式語音識(shí)別系統(tǒng)與常規(guī)語音識(shí)別系統(tǒng)構(gòu)成一致,其區(qū)別主要在于,嵌入式語音識(shí)別所有的計(jì)算均在本地完成。如圖1所示,包括硬件拾音電路部分、前端信號(hào)處理、結(jié)合聲學(xué)模型和語言模型的解碼部分,以及文本輸出響應(yīng)部分。
圖1 ?嵌入式語音識(shí)別系統(tǒng)結(jié)構(gòu)圖
語音識(shí)別的過程大致分為三部分:首先,從硬件拾音電路中獲取當(dāng)前環(huán)境中的聲音信號(hào),并從中提取出相應(yīng)的特征序列,提取特征的方法很多,嵌入式語音識(shí)別系統(tǒng)常用的是梅爾頻率倒譜系數(shù)(MFCC);其次,通過聲學(xué)模型對(duì)提取的特征序列解碼,將特征序列映射成音素序列;最后,結(jié)合語言模型對(duì)音素序列進(jìn)一步解碼,輸出相應(yīng)的文本字符串并執(zhí)行與之對(duì)應(yīng)的操作。
2 ?基本原理
當(dāng)一段語音信號(hào)通過拾音電路進(jìn)入語音識(shí)別系統(tǒng)中,假定其通過預(yù)處理提取出特征后,表示成聲學(xué)的特征向量為X=[x1,x2,x3,…,xi],向量中的xi表示某一幀語音數(shù)據(jù)的特征向量。用W=[w1,w2,w3,…,wi]表示將被預(yù)測(cè)的文本序列,或稱之為詞序列,其中wi為被預(yù)測(cè)序列的第i個(gè)詞。語音識(shí)別最本質(zhì)也是最關(guān)鍵的任務(wù)在于求解W*=argmaxWP(W|X),也就是需要求取出使得P(W|X)最大取值情況下的W,即最可能的文本序列。通過貝葉斯理論可以得出P(W|X)的簡(jiǎn)化形式:
由此我們發(fā)現(xiàn),語音識(shí)別的關(guān)鍵在于求解P(X|W)和P(W)兩部分,通常將P(X|W)稱為聲學(xué)模型的表達(dá)式,而P(W)就是語言模型的概率。
2.1 ?前端信號(hào)處理
前端信號(hào)處理主要是對(duì)原始的語音信號(hào)進(jìn)行相關(guān)的處理,去除語音信號(hào)中可能會(huì)影響識(shí)別的噪聲,使得處理后的語音信號(hào)更容易提取特征,從而提升整個(gè)嵌入式語音識(shí)別系統(tǒng)性能。前端信號(hào)處理主要包括語音活動(dòng)檢測(cè)、語音降噪、回聲消除和聲源定位等。
語音活動(dòng)檢測(cè)(VAD)在嵌入式語音系統(tǒng)中的作用突出,直接影響整個(gè)系統(tǒng)的功耗。語音活動(dòng)檢測(cè)主要用于檢測(cè)出語音信號(hào)開始位置和結(jié)束位置,因?yàn)槭耙羝骺偸遣煌5夭杉車h(huán)境的聲音信號(hào),但多數(shù)情況下不存在人聲,因此只需要將通過VAD區(qū)分出的人聲信號(hào)送入下一階段處理,而非人聲信號(hào)則直接丟棄,從而可以達(dá)到降低功耗的目的。用于語音活動(dòng)檢測(cè)的算法存在多種,例如,基于閾值的VAD和基于分類器的VAD。基于閾值[4]的VAD是通過在時(shí)域提取語音信號(hào)的短時(shí)能量或短時(shí)過零率判斷,或者在頻域提取MFCC或譜熵特征來處理,給定好合理的相關(guān)門限,從而區(qū)分出人聲和非人聲部分?;陂撝档腣AD計(jì)算量不大,因此常用于嵌入式語音識(shí)別系統(tǒng)。
語音降噪[5]主要用于消除原始信號(hào)中的噪聲,常見噪聲包括室內(nèi)風(fēng)扇和空調(diào)等發(fā)出的噪聲,以及室外的汽車和自然界發(fā)出的雜音。語音降噪是為了降低噪聲來提升信噪比,從而達(dá)到提升識(shí)別準(zhǔn)確率的目的。在嵌入式語音識(shí)別系統(tǒng)中,常用的降噪算法包含譜減法、維納濾波法和自適應(yīng)最小二乘法。
回聲消除[6]顧名思義就是用于消除系統(tǒng)的回聲,廣泛用于手機(jī)免提通話中。在語音識(shí)別系統(tǒng)中,回聲消除是實(shí)現(xiàn)語音打斷的基礎(chǔ),即當(dāng)嵌入式設(shè)備正通過揚(yáng)聲器播放音頻時(shí),回聲消除會(huì)去除掉拾音器采集到的從揚(yáng)聲器播放的信號(hào),仍然可以通過語音控制設(shè)備。因此在嵌入式語音識(shí)別系統(tǒng)中,回聲消除一般使用自適應(yīng)濾波的方法,通過設(shè)置濾波器來模擬回聲的相應(yīng)環(huán)境,估計(jì)并消除回聲信號(hào)。
聲源定位是智能音箱中的一項(xiàng)技術(shù),用于指示說話人的方向,從而使用空間濾波消除說話人方向之外的信號(hào)??紤]到計(jì)算量大小的控制,在嵌入式系統(tǒng)中通常使用廣義互相關(guān)的相位變換算法(GCC-PHAT)和位變換加權(quán)的可控響應(yīng)功率算法(SPR-PHAT),SPR-PHAT算法[7]效果要優(yōu)于GCC-PHAT算法。
2.2 ?聲學(xué)模型
在嵌入式語音識(shí)別系統(tǒng)中,復(fù)雜的聲學(xué)模型在有限提高識(shí)別率的同時(shí),可能極大地增加了系統(tǒng)對(duì)于當(dāng)前設(shè)備算力的需求。聲學(xué)模型的建模是把語音信號(hào)的觀測(cè)特征與句子的語音建模單元聯(lián)系起來,即計(jì)算P(X|W)。嵌入式語音識(shí)別通常使用隱馬爾可夫模型(HMM)建模,HMM可以有效地處理好語音信號(hào)與文本序列的不定長(zhǎng)關(guān)系。隱馬爾可夫模型圖如圖2所示,因此,將聲學(xué)模型表達(dá)式P(X|W)展開為:
在上式中,P(w1)表示HMM的初始狀態(tài)概率,不同狀態(tài)或者相同狀態(tài)之間的轉(zhuǎn)移概率為P(w2|w1)和P(w2|w2),一般可以使用統(tǒng)計(jì)方法計(jì)算轉(zhuǎn)移概率。狀態(tài)與語音的觀測(cè)特征關(guān)系P(x1|w1)、P(x2|w2)和P(x3|w2)稱為發(fā)射概率,可以使用高斯混合模型(GMM)建模。當(dāng)然,神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展也可應(yīng)用于語音識(shí)別,可通過卷積神經(jīng)網(wǎng)絡(luò)CNN或者深度神經(jīng)網(wǎng)絡(luò)DNN來表征發(fā)射概率。
2.3 ?語言模型
當(dāng)前語音識(shí)別系統(tǒng)尚不能缺少語言模型,語言模型可以使得語音識(shí)別在特定領(lǐng)域效果更佳,合理地設(shè)置語言模型,可以使得嵌入式語音識(shí)別系統(tǒng)實(shí)用化。語言模型主要針對(duì)聲學(xué)模型預(yù)測(cè)的文字序列,通過對(duì)于特定領(lǐng)域文字序列特征的學(xué)習(xí),輸出綜合得分最高的序列。例如,聲學(xué)模型預(yù)測(cè)的文字序列可能是“你號(hào)臥室小名”或者“你好我是小明”,顯而易見,我們會(huì)選擇“你好我是小明”,而這種輔助選擇要?dú)w功于語言模型。語言模型P(W)是序列發(fā)生的概率,通常使用鏈?zhǔn)椒▌t來展開計(jì)算,若W為w1,w2,…,wn,那么P(W)表示成:
3 ?嵌入式應(yīng)用
嵌入式語音識(shí)別系統(tǒng)主要應(yīng)用于較小詞匯量的離線識(shí)別方案,例如聲控空調(diào)、聲控臺(tái)燈和聲控冰箱等。嵌入式語音識(shí)別是對(duì)云端語音識(shí)別應(yīng)用的補(bǔ)充,Cortex-A9作為一款性能較強(qiáng)且常用的ARM處理器,并且可搭建成熟的嵌入式Linux環(huán)境,十分有利于快速開發(fā)。
本文所述的嵌入式語音識(shí)別系統(tǒng)基于Cortex-A9開發(fā),使用了第2節(jié)的相關(guān)算法,成功實(shí)現(xiàn)了離線語音識(shí)別的功能,可用于控制空調(diào)設(shè)備。本文所構(gòu)建的命令詞如表1所示。
在安靜環(huán)境中,單個(gè)命令詞的識(shí)別所需時(shí)間小于0.5s,識(shí)別率可達(dá)95%左右,可以適用于智能家居場(chǎng)景。
4 ?結(jié) ?論
本文針對(duì)嵌入式語音識(shí)別系統(tǒng)的設(shè)計(jì),分別闡述了前端信號(hào)處理、聲學(xué)模型和語言模型等關(guān)鍵技術(shù)。前端信號(hào)處理使用了譜減法降噪和基于閾值的VAD,聲學(xué)模型建模為隱馬爾可夫模型,并且,語言模型使用3-gram建模等,并在Cortex-A9處理器平臺(tái)得以實(shí)現(xiàn)。該系統(tǒng)識(shí)別速度和識(shí)別率表明本文所述的相關(guān)算法選擇非常適用于嵌入式語音識(shí)別系統(tǒng)。在以后的研究中,可以繼續(xù)對(duì)聲學(xué)模型建模進(jìn)行研究,使用新模型來進(jìn)一步提升識(shí)別的準(zhǔn)確率。
參考文獻(xiàn):
[1] 何湘智.語音識(shí)別的研究與發(fā)展 [J].計(jì)算機(jī)與現(xiàn)代化,2002(3):3-6.
[2] 毛健,趙紅東,姚婧婧.人工神經(jīng)網(wǎng)絡(luò)的發(fā)展及應(yīng)用 [J].電子設(shè)計(jì)工程,2011,19(24):62-65.
[3] 余凱,賈磊,陳雨強(qiáng),等.深度學(xué)習(xí)的昨天、今天和明天 [J].計(jì)算機(jī)研究與發(fā)展,2013,50(9):1799-1804.
[4] 李宇,郭雷勇,譚洪舟.基于噪聲倒譜閾值頻譜估計(jì)的語音活動(dòng)檢測(cè) [J].計(jì)算機(jī)工程,2011,37(14):140-142.
[5] 朱建華,田嵐.基于譜減法和小波閾值的新型語音降噪算法研究 [J].煤炭技術(shù),2013,32(1):171-173.
[6] 夏曉.自適應(yīng)濾波器中LMS算法的研究及應(yīng)用 [D].北京:北京郵電大學(xué),2013.
[7] 王志峰,馮杰,蔣灝,等.基于SRP和GA的聲源定位方法 [J].電聲技術(shù),2013,37(10):36-40.
作者簡(jiǎn)介:袁毅(1991-),男,漢族,湖南湘西人,算法工程師,工學(xué)碩士,研究方向:嵌入式人工智能技術(shù)。