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