引論:我們?yōu)槟砹?3篇語音識別系統(tǒng)范文,供您借鑒以豐富您的創(chuàng)作。它們是您寫作時的寶貴資源,期望它們能夠激發(fā)您的創(chuàng)作靈感,讓您的文章更具深度。
篇1
1.1語音識別技術(shù)的概念
語音識別技術(shù)(Auto Speech Recognize,簡稱ASR)所要解決的問題是讓計算機能夠“聽懂”人類的語音,將語音中包含的文字信息“提取”出來。ASR技術(shù)在“能聽會說”的智能計算機系統(tǒng)中扮演著重要角色,相當(dāng)于給計算機系統(tǒng)安裝上“耳朵”,使其具備“能聽”的功能,進(jìn)而實現(xiàn)信息時代利用“語音”這一最自然、最便捷的手段進(jìn)行人機通信和交互。
1.2語音識別的系統(tǒng)組成
語音識別系統(tǒng)構(gòu)建過程整體上包括兩大部分:訓(xùn)練和識別。
1.2.1訓(xùn)練
訓(xùn)練通常是離線完成的,對預(yù)先收集好的海量語音、語言數(shù)據(jù)庫進(jìn)行信號處理和知識挖掘,獲取語音識別系統(tǒng)所需要的“聲學(xué)模型”和“語言模型”。
1.2.2識別
識別過程通常是在線完成的,對用戶實時的語音進(jìn)行自動識別,可以分為“前端”和“后端”兩大模塊:“前端”模塊主要的作用是進(jìn)行端點檢測(去除多余的靜音和非說話聲)、降噪、特征提取等;“后端”模塊的作用是利用訓(xùn)練好的“聲學(xué)模型”和“語言模型”對用戶說話的特征向量進(jìn)行統(tǒng)計模式識別(又稱“解碼”),得到其包含的文字信息,此外,后端模塊還存在一個“自適應(yīng)”的反饋模塊,可以對用戶的語音進(jìn)行自學(xué)習(xí),從而對“聲學(xué)模型”和“語音模型”進(jìn)行必要的“校正”,進(jìn)一步提高識別的準(zhǔn)確率。
語音識別技術(shù)所面臨的問題是非常艱巨和困難的。盡管早在二十世紀(jì)五十年代,世界各國就開始了對這項技術(shù)孜孜不倦的研究,特別是最近二十年,國內(nèi)外非常多的研究機構(gòu)和企業(yè)都加入到語音識別技術(shù)的研究領(lǐng)域,投入了極大的努力,也取得了豐碩的成果,但是直到今天,距離該技術(shù)得到完美解決還存在著巨大的差距,不過這并不妨礙不斷進(jìn)步的語音識別系統(tǒng)在許多相對受限的場合下獲得成功的應(yīng)用。
如今,語音識別技術(shù)已經(jīng)發(fā)展成為涉及聲學(xué)、語言學(xué)、數(shù)字信號處理、統(tǒng)計模式識別等多學(xué)科技術(shù)的一項綜合性技術(shù)。基于語音識別技術(shù)研發(fā)的現(xiàn)代語音識別系統(tǒng)在很多場景下獲得了成功的應(yīng)用,不同任務(wù)條件下所采用的技術(shù)又會有所不同。
2、語音識別系統(tǒng)技術(shù)實現(xiàn)
語音識別系統(tǒng)選擇識別基元的要求是:有準(zhǔn)確的定義,能得到足夠數(shù)據(jù)進(jìn)行訓(xùn)練,具有一般性。系統(tǒng)所需的訓(xùn)練數(shù)據(jù)大小與模型復(fù)雜度有關(guān),模型設(shè)計得過于復(fù)雜以至于超出了所提供的訓(xùn)練數(shù)據(jù)的能力,會造成系統(tǒng)性能的急劇下降。
2.1聽寫機
2.1.1概念
大詞匯量、非特定人、連續(xù)語音識別系統(tǒng)通常稱為聽寫機。
2.1.2基本架構(gòu)
聽寫機是建立在前述聲學(xué)模型和語言模型基礎(chǔ)上的HMM拓?fù)浣Y(jié)構(gòu),訓(xùn)練時對每個基元用前向后向算法獲得模型參數(shù),識別時將基元串接成詞,詞間加上靜音模型并引入語言模型作為詞間轉(zhuǎn)移概率,形成循環(huán)結(jié)構(gòu),用Viterbi算法進(jìn)行解碼。針對漢語易于分割的特點,先進(jìn)行分割再對每一段進(jìn)行解碼,是用以提高效率的一個簡化方法。
2.1.3對話系統(tǒng)
用于實現(xiàn)人機口語對話的系統(tǒng)稱為對話系統(tǒng)。目前,受技術(shù)所限,對話系統(tǒng)往往是面向一個狹窄領(lǐng)域、詞匯量有限的系統(tǒng),其題材有旅游查詢、訂票、數(shù)據(jù)庫檢索等等。它的前端是一個語音識別器,識別產(chǎn)生的N-best候選或詞候選網(wǎng)格,由語法分析器進(jìn)行分析獲取語義信息,再由對話管理器確定應(yīng)答信息,由語音合成器輸出。基于目前的系統(tǒng)往往詞匯量有限的情況,也可以用提取關(guān)鍵詞的方法來獲取語義信息。
3、語音識別系統(tǒng)特性
語音識別系統(tǒng)的性能受許多因素的影響,包括不同的說話人、說話方式、環(huán)境噪音、傳輸信道等等。具有自適應(yīng)性與魯棒性。解決辦法可大致分為兩類:針對語音特征的方法(以下稱特征方法)和模型調(diào)整的方法(以下稱模型方法)。前者需要尋找更好的、高魯棒性的特征參數(shù),或是在現(xiàn)有的特征參數(shù)基礎(chǔ)上,加入一些特定的處理方法。后者是利用少量的自適應(yīng)語料來修正或變換原有的說話人無關(guān)(SI)模型,從而使其成為說話人自適應(yīng)(SA)模型。
4、語音識別的應(yīng)用
語音識別專用芯片的應(yīng)用領(lǐng)域,主要包括以下幾個方面:
4.1電話通信的語音撥號。特別是在中、高檔移動電話上,現(xiàn)已普遍的具有語音撥號的功能。隨著語音識別芯片的價格降低,普通電話上也將具備語音撥號的功能。
4.2汽車的語音控制。由于在汽車的行駛過程中,駕駛員的手必須放在方向盤上,因此在汽車上撥打電話,需要使用具有語音撥號功能的免提電話通信方式。此外,對汽車的衛(wèi)星導(dǎo)航定位系統(tǒng)(GPS)的操作,汽車空調(diào)、照明以及音響等設(shè)備的操作,同樣也可以由語音來方便的控制。
4.3工業(yè)控制及醫(yī)療領(lǐng)域。當(dāng)操作人員的眼或手已經(jīng)被占用的情況下,在增加控制操作時,最好的辦法就是增加人與機器的語音交互界面。由語音對機器發(fā)出命令,機器用語音做出應(yīng)答。
4.4個人數(shù)字助理(Personal Digital Assistant,PDA)的語音交互界面。PDA的體積很小,人機界面一直是其應(yīng)用和技術(shù)的瓶頸之一。由于在PDA上使用鍵盤非常不便,因此,現(xiàn)多采用手寫體識別的方法輸入和查詢信息。但是,這種方法仍然讓用戶感到很不方便。現(xiàn)在業(yè)界一致認(rèn)為,PDA的最佳人機交互界面是以語音作為傳輸介質(zhì)的交互方法,并且已有少量應(yīng)用。隨著語音識別技術(shù)的提高,可以預(yù)見,在不久的將來,語音將成為PDA主要的人機交互界面。
4.5智能玩具。通過語音識別技術(shù),我們可以與智能娃娃對話,可以用語音對玩具發(fā)出命令,讓其完成一些簡單的任務(wù),甚至可以制造具有語音鎖功能的電子看門狗。智能玩具有很大的市場潛力,而其關(guān)鍵在于降低語音芯片的價格。
4.6家電遙控。用語音可以控制電視機、VCD、空調(diào)、電扇、窗簾的操作,而且一個遙控器就可以把家中的電器皆用語音控起來,這樣,可以讓令人頭疼的各種電器的操作變得簡單易行。
篇2
語音作為語言的聲學(xué)體現(xiàn),也是人類進(jìn)行信息交流最自然、和諧的手段。與機械設(shè)各進(jìn)行語音的溝通,讓機器可以明白人類在說什么,并理解這是人類長期的夢想。語音識別技術(shù),也被稱為自動語音識別Automatic Speech Recognition,(ASR),其目標(biāo)是將人類的語音中的詞匯內(nèi)容轉(zhuǎn)換為計算機可讀的輸入,例如按鍵、二進(jìn)制編碼或者字符序列。語音識別技術(shù)的應(yīng)用包括語音撥號、語音導(dǎo)航、室內(nèi)設(shè)備控制、語音文檔檢索、簡單的聽寫數(shù)據(jù)錄入等。語音識別技術(shù)與其他自然語言處理技術(shù)如機器翻譯及語音合成技術(shù)相結(jié)合,可以構(gòu)建出更加復(fù)雜的應(yīng)用,語音識別技術(shù)所涉及的領(lǐng)域包括:信號處理、模式識別、概率論和信息論、發(fā)聲機理和聽覺機理、人工智能等等。
二、語音信號分析與特征提取
1.基于發(fā)音模型的語音特征。(1)發(fā)音系統(tǒng)及其模型表征。其發(fā)聲過程就是由肺部進(jìn)行收縮,并進(jìn)行壓縮氣流由支氣管通過聲道和聲門引起的音頻振蕩所發(fā)生的。氣流通過聲門時使得聲帶的張力剛好使聲帶發(fā)生比較低的頻率的振蕩,從而形成準(zhǔn)周期性的空氣脈沖,空氣脈沖激勵聲道便會產(chǎn)生一些濁音;聲道的某處面積比較小,氣流沖過時便會產(chǎn)生湍流,會得到一種相似噪聲的激勵,對應(yīng)的則是摩擦音;聲道完全閉合并建立起相應(yīng)的氣壓,突然進(jìn)行釋放就是爆破音。(2)語音信號線性預(yù)測倒譜系數(shù)。被廣泛應(yīng)用的特征參數(shù)提取技術(shù)的就是線性預(yù)測分析技術(shù),很多成功的應(yīng)用系統(tǒng)都是選用基于線性預(yù)測技術(shù)進(jìn)而提取的LPC倒譜系數(shù)作為應(yīng)用系統(tǒng)的特征。LPC倒譜就是復(fù)倒譜。復(fù)倒譜就是信號通過z進(jìn)行變換以后再取其對數(shù),求反z變換所得到的譜。線性預(yù)測分析方法其實就是一種譜的估計方法,所以其聲道模型系統(tǒng)函數(shù)H(z)反映的就是聲道頻率激勵和信號的譜包絡(luò),對IHg(z)作反z變換就可以得出其復(fù)倒譜系數(shù)。改復(fù)倒譜系數(shù)是依據(jù)線性預(yù)測模型直接獲得的,而又被稱為LPC倒譜系數(shù)(LPCC)。
2.基于聽覺模型的語音特征。(1)聽覺系統(tǒng)模型。一是人類的聽覺系統(tǒng)對于聲音頻率高低和聲波實際的頻率高低不是線性的關(guān)系,它對不同聲音頻率信號的敏感度是不一樣的,也可看成是對數(shù)關(guān)系。二是關(guān)于掩蔽效應(yīng)指的就是聲音A感知的閉值因為另外的身影的出現(xiàn)出現(xiàn)增大的現(xiàn)象。其生理依據(jù)主要是頻率群,對頻率群進(jìn)行劃分會出現(xiàn)許多的很小的部分,每一個部分都會對應(yīng)一個頻率群,掩蔽效應(yīng)就發(fā)生在這些部分過程中。所以在進(jìn)行相應(yīng)的聲學(xué)測量時,頻率刻度一般取非線性刻度。語音識別方面,主要的非線性頻率刻度有Mel刻度、對數(shù)刻度和Kon~nig刻度。其中Mel刻度被廣泛的應(yīng)用,其是最合理的頻率刻度。(2)語音信號Mcl頻率倒譜系數(shù)。Mel頻率倒譜系數(shù)利用人們耳朵的聽覺特性,在頻域?qū)㈩l率軸變換為Mcl頻率刻度,再變換到倒譜域得到倒譜系數(shù)。MFCC參數(shù)的計算過程:
篇3
【中圖分類號】TP311 【文獻(xiàn)標(biāo)識碼】A
【論文編號】1671-7384(2014)02-0069-03
引 言
計算機如今如此普及,計算機發(fā)展速度完全超乎想象。但目前為止,真正具備與人交流功能的電腦還不存在。有這樣一個圖靈測試——讓測試員與被測試者和一臺機器在隔開的情況下,通過一些裝置向被測試者隨意提問。問過一些問題后,如果測試人不能確認(rèn)被測試者30%的答復(fù)哪個是人、哪個是機器的回答,那么這臺機器就通過了測試。可惜的是,如今情況下最好的成績是由俄羅斯專家設(shè)計的“葉甫根尼”電腦程序,也只是達(dá)到了29.2%。
語音,是人與人交流的一種手段,也是人類交流和交換信息中最便捷的工具。退而求其次,要做到通過圖靈測試,不如先讓電腦通過語音作為引信來幫人類做事情。為了充分闡述語音識別這套系統(tǒng)的原理,本文將小范圍重現(xiàn)語音識別原理。
對于語音識別之后,讓計算機去理解人的意思,不可缺少的就是將文字信息轉(zhuǎn)化為計算機能理解的內(nèi)容。把計算機比作一個人手中拿著一本象形文字對照手冊,身處上文說的圖靈測試的房子中。而另一人則在房間外向此房間發(fā)送象形文字問題。房間內(nèi)的人只需按照對照手冊,返回手冊上的象形文字答案即可。畢竟只需要讓計算機懂得我們的意思,并非讓計算機來幫我們?nèi)ニ伎肌R虼耍灰o予足夠多的“稿紙、筆”以及足夠大的“詞典”即可。
這次我們對系統(tǒng)的研究使用的是C語言,由于并沒有采用面向?qū)ο蠡恼Z言來編程,大部分程序使用的編程并沒有向“類”里面填充“方法”的概念。這套系統(tǒng)硬件開發(fā)、硬件編程采用的是51單片機來實現(xiàn),后期的處理則是在上位機通過鉤掛系統(tǒng)鉤子讀取內(nèi)存來實現(xiàn)。下面,我們將一步一步講述構(gòu)建這個系統(tǒng)的過程。
平臺構(gòu)建
如今,國外已經(jīng)有很多成品語音識別系統(tǒng),中文的語音識別控制系統(tǒng)也有很多的企業(yè)、教育科研機構(gòu)在做相關(guān)的項目。不過這些研究卻依然停留在初級階段。因為中文是世界上最難學(xué)的語言,人來學(xué)習(xí)尚且如此,更何況人來教給機器去識別。
雖然如此,做語音識別首先要有一個平臺來去搭建中文語音識別系統(tǒng)。第一步要做的便是將聲音訊號轉(zhuǎn)化為電訊號。這里采用一個高阻抗麥克風(fēng),作為音源進(jìn)行聲電轉(zhuǎn)化。通常的麥克風(fēng)是三個端子輸出,分別是兩個信號源和一個接地端。大部分的麥克風(fēng)兩個端讀入的是相同信號,少部分高品質(zhì)的則讀入的是差分信號。
麥克風(fēng)的輸入是毫伏級別,類似空氣聲、干擾波都會使得輸入的信號有噪波。因此,輸入的兩個端分別進(jìn)行旁路電容濾波等操作,去除雜波。無源麥克風(fēng)的輸入電壓過低,之后要將信號接入放大器,放大后的信號才能使得后續(xù)的操作中,模擬—數(shù)字信號轉(zhuǎn)換器獲得足夠被感應(yīng)的信號強度。
理論上講,音頻信號可以看作周期信號,按照傅立葉級數(shù)定理可知,任何周期函數(shù)都可以用正弦函數(shù)和余弦函數(shù)構(gòu)成的無窮級數(shù)來表示。因此,通過將音頻信號進(jìn)行傅立葉級數(shù)展開,去除雜波頻段的波形即可得到優(yōu)質(zhì)波形。
而實踐中,通過硬件操作步驟較為煩瑣,軟件分析需要時間較長,出于經(jīng)濟等方面因素考慮,本系統(tǒng)不采用傅立葉變換來實現(xiàn)識別音頻特性,而采用比較法取波形相似度等方式進(jìn)行識別。
語音識別
上文中的信號經(jīng)過模擬—數(shù)字轉(zhuǎn)換器轉(zhuǎn)換成為了數(shù)字信號,接入處理器的IO接口線程中,此時,讀入的信號會通過地址總線和IO端口讀入。因此在硬件上,我們使用中斷程序來進(jìn)行信號預(yù)處理。
軟件方面中斷程序部分,僅需要將讀入的IO數(shù)據(jù)以數(shù)組形式存放入內(nèi)存即可。
聲音有三要素:音高、響度、音色。讀入的信號即每個時間點的聲音感受器震動位置,我們可以通過電流接入到壓片陶瓷上來還原聲音,而如果我們要去分析音頻則需要對照三要素下手。
響度即聲波數(shù)組中的數(shù)值高低,為了讓聲波數(shù)組中的響度和預(yù)存的響度相同,我們通過統(tǒng)計整段中有效波形能量數(shù)值和與預(yù)存數(shù)組的能量數(shù)值做比例處理,使得響度和預(yù)存數(shù)組相近。
音高即聲音的頻率,頻率的定義是:單位時間內(nèi)完成振動的次數(shù),是描述振動物體往復(fù)運動頻繁程度的量。通過聲波數(shù)組尋找相鄰兩點是否為相反數(shù),即可尋找到過0點次數(shù)得到頻率。這時,時間段的頻率即可求出,間接可得到整段聲音的頻率。
我們發(fā)現(xiàn),對音高進(jìn)行頻率化處理,同樣也需要對預(yù)存數(shù)組進(jìn)行頻率化處理。因此,盡管我們可以去頻率化處理提高識別精度,但相比對音頻直接做響度匹配,所謂黑盒操作更易于分析和匹配。
漢語是由聲母和韻母組成的,通過五聲韻母和聲母匹配,即可收集有限個聲源。用這些聲源和預(yù)處理的聲音進(jìn)行匹配,即可得出每個字的讀音。
上述的程序段只是匹配所需要的函數(shù),在外部需要循環(huán)來賦給數(shù)組對應(yīng)指針位置才能實現(xiàn),在對比中,如何確定開頭是一個難點。因此需要對音頻數(shù)據(jù)的開頭做識別。在本系統(tǒng)中,采用讀取5個相鄰數(shù)據(jù),如果連續(xù)的峰值高于30且持續(xù)了超過25毫秒以上,則判定這個時間點為數(shù)據(jù)的開始。
在系統(tǒng)中,雖然我們采用了去除抖動的算法,但聲音音響處理過后,也會丟失一些精度,此處的算法若提高精度,則需要在前期處理做根據(jù)香農(nóng)采樣定理計算低通信道的最高大碼元傳輸速率,進(jìn)而做精確的采樣以及還原,同時濾波采用更先進(jìn)的算法來實現(xiàn),這里只實現(xiàn)采樣而不做精細(xì)討論。
人工分詞
中文,全世界有近20億的人在使用。然而,中文的語法是世界上無章可循的語法之一。古人云:“句讀之不知,惑之不解”,想要用中文交流,就必須知道如何斷句。這樣,才能正常地和人交流,才能清晰地理解對方的意思。
欲斷句,先斷詞。讓計算機來執(zhí)行控制,而計算機處理的卻是整個詞組。前面步驟已經(jīng)講述了如何將語音識別成一個個的單字,識別成一個個句子。但是中文并不像英文,說“我是一個學(xué)生”這句話的時候不會像“Iam a student”這樣中間有空格從而判斷詞組。這就需要我們對句子做一個特殊的處理——人工分詞。
以“我是一個學(xué)生”為例,人類來理解這句話,他的意思就是“‘我’的職業(yè)屬性是學(xué)生”。從這個例子可以看出,提取“是”這個動詞為關(guān)鍵字,便可以將前后轉(zhuǎn)變?yōu)橘x值表達(dá)式的形式“我->職業(yè)=學(xué)生”。
優(yōu)先提取出一句話的動詞,是分詞處理的關(guān)鍵。但并非每個動詞都可以這樣來操作,例如,“他鞠躬下臺”,很明顯“鞠躬”是個動詞,“下臺”也是一個動詞;如果按照上文中所述,“他->鞠躬=下臺”就會出問題。為了處理這個問題,我們引入現(xiàn)代漢語中及物動詞和不及物動詞的概念。將“鞠躬”、“下臺”這種不及物動詞和“打”、“吃”這樣的及物動詞分開。
當(dāng)然,這需要字典來處理,借助現(xiàn)代科技的發(fā)展,一本電子版的現(xiàn)代漢語詞典就可以解決這個問題,通過詞庫來查詢每個詞語的意思,從而抽離出動詞。我們只需要設(shè)計不及物動詞代表動作即可,這樣就可以將信息存儲成“他->動作=鞠躬&下臺”。
若是英文,如此做便可以了。但上文說過,中文語法是世界上無章可循的語法之一。英文中設(shè)置了動詞字典基本上就處理了大部分問題。可中文中會出現(xiàn)如下句子:“今天的比賽在大學(xué)生活動中心召開。”
人工模擬電腦來理解,副詞可以修飾形容詞、修飾動詞,用副詞來修飾試探:比賽可以“不比賽”不能“很比賽”,因此它不是形容詞,而是動詞,“我比賽你”這句話不通,因此是不及物動詞;“活動”和“召開”也是同理,是不及物動詞。因此這句話要理解成“今天->動作=比賽&活動&召開”。
但不能說“今天->動作=比賽&活動&召開”,很顯然這句話真正的意思是“比賽->地點=大學(xué)生活動中心”。出現(xiàn)這個問題,核心原因就是計算機沒有把“大學(xué)生活動中心”當(dāng)作一個詞,任何一本字典都不會去收錄“大學(xué)生活動中心”這個詞。
在中文分詞中, 中科天璣出品了一套中文分詞系統(tǒng)架構(gòu),加載頭文件"ICTCLAS50.h"可以用頭文件定義的命令#pragma comment讀取它所提供的數(shù)據(jù)庫(lib,"ICTCLAS50.lib")
執(zhí)行過該程序段后,會將分詞結(jié)果以test.txt的形式保存在硬盤中。
結(jié) 語
做完人工分詞,基本上也就實現(xiàn)了讀取用戶所要達(dá)到的目的。這套系統(tǒng)貫穿底層到軟件層,如果有可能甚至需要設(shè)計到云端。雖然局部的測試沒有出現(xiàn)嚴(yán)重的錯誤,但由于時間原因,并沒有做綜合測試。
其中的一些理論和實踐銜接的地方還存在著不足,一些算法也存在著改進(jìn)的空間,但這些問題終將在以后得到解決。也希望這套系統(tǒng)能在最后的實踐和發(fā)展中真正用于生活,從而提供更好的生活體驗,為人們體驗生活、享受人生做出貢獻(xiàn)。
基金項目: 本文系北京市自然科學(xué)基金項目(4132009);北京市屬高等學(xué)校高層次人才引進(jìn)與培養(yǎng)計劃項目(CIT&TCD201304120);北京市教委科技計劃項目(KM201211232008)的研究成果。
參考文獻(xiàn)
何嘉. 基于遺傳算法優(yōu)化的中文分詞研究[D].電子科技大學(xué),2012.
趙培. 中文語音識別結(jié)果文本分類的研究與實現(xiàn)[D].大連理工大學(xué),2008.
曹衛(wèi)峰. 中文分詞關(guān)鍵技術(shù)研究[D].南京理工大學(xué),2009.
龍樹全,趙正文,唐華. 中文分詞算法概述[J]. 電腦知識與技術(shù),2009,10:2605-2607.
剛. 圖靈測試:哲學(xué)爭論及歷史地位[J]. 科學(xué)文化評論,2011,06:42-57.
譚超. 學(xué)習(xí)型中文語音識別系統(tǒng)研究及實現(xiàn)[J]. 電腦開發(fā)與應(yīng)用,2012,04:35-37.
胡寶潔,趙忠文,曾巒,張永繼. 圖靈機和圖靈測試[J]. 電腦知識與技術(shù),2006,23:132-133.
陳淑芳. 基于51單片機的教學(xué)實驗系統(tǒng)的設(shè)計與開發(fā)[D].中國海洋大學(xué),2011.
張文國. 中文語音識別技術(shù)的發(fā)展現(xiàn)狀與展望[J].上海微型計算機,1998,35:46.
篇4
隱馬爾可夫模型;神經(jīng)網(wǎng)絡(luò);語音識別;遺傳算法
隨著語音識別技術(shù)的發(fā)展,人們對語音識別的技術(shù)要求越來越高,隱形馬可夫模型(HiddenMarkovModel,簡稱HMM),在語音識別中已經(jīng)廣泛得到應(yīng)用.但是,其自適應(yīng)能力差,抗噪性也不是十分理想,僅靠單一的HMM進(jìn)行語音識別存在諸多困難[1,2].而現(xiàn)在廣泛應(yīng)用的人工神經(jīng)網(wǎng)絡(luò)(ArtificalNeuralNet-work,簡稱ANN)[3,4],在自適應(yīng)、抗噪性方面具有良好的特性,克服了HMM中存在的不足.反向傳播神經(jīng)網(wǎng)絡(luò)(BP)雖然已經(jīng)是神經(jīng)網(wǎng)絡(luò)中前向神經(jīng)網(wǎng)絡(luò)的核心部分,并且得到了廣泛的應(yīng)用[5].然而,BP神經(jīng)網(wǎng)絡(luò)也存在諸多缺點,比如學(xué)習(xí)收斂速度太慢,使其只能解決小規(guī)模的問題,也不能保證收斂到全局最小點,使得訓(xùn)練結(jié)果達(dá)不到全局最優(yōu)性.遺傳算法優(yōu)化后的反向傳播神經(jīng)網(wǎng)絡(luò)(GA-BP)[6-9]的混合模型語音識別方法,有效地保證訓(xùn)練結(jié)果的全局最優(yōu)性,在語音識別的速度方面也有大幅度的提高,但在噪聲環(huán)境下,遺傳算法優(yōu)化后的反響傳播神經(jīng)網(wǎng)絡(luò)噪聲魯棒性并不是十分理想,因此也對語音識別系統(tǒng)的性能帶來了影響[10].本文運用小波神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)簡單、收斂速度快的優(yōu)點,對MFCC系數(shù)進(jìn)行訓(xùn)練,從而得到新的MFCC系數(shù),再進(jìn)行特征提取后作為遺傳算法優(yōu)化后的輸入.然后利用優(yōu)化后的遺傳神經(jīng)網(wǎng)絡(luò)獲得語音的分類識別信息進(jìn)行語音識別.實驗結(jié)果表明,基于HMM與遺傳神經(jīng)網(wǎng)絡(luò)改進(jìn)的語音識別系統(tǒng)進(jìn)一步提高了語音識別系統(tǒng)的自適應(yīng)性和噪聲魯棒性.
1隱馬爾可夫模型語音識別原理
隱馬爾可夫模型是一種利用相關(guān)參數(shù)來表示,并用于描述隨機過程中統(tǒng)計特性的概率模型[11].它的本質(zhì)是一種基于統(tǒng)計分布一致性的聚類分析,每個隱含的狀態(tài)就是一個聚類,對HMM進(jìn)行訓(xùn)練的過程就是尋找每個聚類之間的相關(guān)聯(lián)的過程.它由兩部分組成:一個是隱含的馬爾可夫鏈,即為隱含層;另一個是實際的觀測量,即為觀測層.HMM基于參數(shù)統(tǒng)計理論,利用概率密度函數(shù)計算出語音參數(shù)對模型的輸出概率,找到最佳狀態(tài)序列以后,用最大后驗概率為準(zhǔn)則進(jìn)行識別.語音參數(shù)和隱馬爾可夫模型關(guān)系如下圖圖1所示.
2基于遺傳算法的神經(jīng)網(wǎng)絡(luò)優(yōu)化算法
BP神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)中應(yīng)用最為廣泛的算法,但在廣泛運用的同時,也逐漸出現(xiàn)一些不足之處,比如收斂速度慢、不能保證收斂到全局最小點等等.另外,網(wǎng)絡(luò)結(jié)構(gòu),初始連接權(quán)值與閾值的選取對網(wǎng)絡(luò)訓(xùn)練帶來的影響也非常大,但是又無法準(zhǔn)確獲得.針對這些特點可以采用遺傳算法對神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化.
2.1傳統(tǒng)遺傳算法傳統(tǒng)遺傳算法實現(xiàn)步驟如下:1)隨機產(chǎn)生一定數(shù)量的初始個體,這些隨機產(chǎn)生的初始個體總體數(shù)目組成一個種群.2)用評價函數(shù)來評價每個個體的優(yōu)劣,每個個體的適應(yīng)程度(稱為適應(yīng)度)作為遺傳操作的依據(jù).3)從現(xiàn)有的種群中選取一定的個體作為新一代的個體,個體適應(yīng)程度越高,被選擇的機會越大.4)對于新生成的種群進(jìn)行交叉、交異操作.
2.2用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)權(quán)值的學(xué)習(xí)過程遺傳算法(GeneticAlgorithm,GA)是模擬著名天文學(xué)家達(dá)爾文的遺傳選擇和生物進(jìn)化的計算模型,具有很強的宏觀搜索能力和良好的全局優(yōu)化性能[12,13].因此采取遺傳算法與BP神經(jīng)網(wǎng)路相結(jié)合,訓(xùn)練時先用遺傳算法對神經(jīng)網(wǎng)絡(luò)的權(quán)值進(jìn)行尋找,將搜索范圍縮小后,再利用BP網(wǎng)絡(luò)來進(jìn)行精確求解,可以達(dá)到全局尋找和快速高效的目的,并且避免局部最小問題.算法結(jié)束后,由群體中最優(yōu)個體解碼即可得到優(yōu)化后的網(wǎng)絡(luò)連接權(quán)值系數(shù).
3基于HMM與遺傳神經(jīng)網(wǎng)絡(luò)改進(jìn)的語音識別系統(tǒng)設(shè)計
現(xiàn)有的語音識別系統(tǒng)只能處理平穩(wěn)信號,而人說話的語言頻率不一樣使得語音信號是一個準(zhǔn)穩(wěn)態(tài)信號,這時就要把語音劃分成若干幀以達(dá)到信號穩(wěn)定的要求.但這存在的不足之處就是并沒有考慮到語音信號的動態(tài)特性,根據(jù)神經(jīng)網(wǎng)絡(luò)在非線性映射方面有比較好的效果,同時神經(jīng)網(wǎng)絡(luò)也具有小波多分辨分析的性能,從而可以從樣本中提取出來新的特征信息.本文采用基于HMM與遺傳神經(jīng)網(wǎng)絡(luò)改進(jìn)的語音識別系統(tǒng),對輸入語音信號進(jìn)行預(yù)處理后,利用小波神經(jīng)網(wǎng)絡(luò)訓(xùn)練MFCC系數(shù),然后根據(jù)HMM參數(shù)庫進(jìn)行Viterbi譯碼,歸一化處理以后作為優(yōu)化后遺傳神經(jīng)網(wǎng)絡(luò)的輸入,即將HMM中全部狀態(tài)累計概率作為優(yōu)化后的遺傳神經(jīng)網(wǎng)絡(luò)特征輸入,再根據(jù)神經(jīng)網(wǎng)絡(luò)的非線性映射能力對語音信號識別出所需要的結(jié)果.改進(jìn)后的語音識別系統(tǒng)流程圖如圖3所示.
4仿真實驗及結(jié)果分析
實驗語音文件從十個人中采集,一個文件有中文數(shù)字1-9組成.每個人錄了四次,其中三個用于培訓(xùn)和一個用于測試.記錄格式的采樣頻率8kHz,單通道16位采樣點,采取的幀長為256點.記錄后,點檢測去除無聲段,其次是預(yù)加重.然后,語音段劃分為20個幀,從每一幀中提取的特征參數(shù).一個幀有10個特征.因此,每一個數(shù)字都會有200特點.實驗訓(xùn)練集采取100個不同人員的凈語音樣本;在不同的信噪比下取50個不同人員的語音信息;在不同的環(huán)境下,采用的語音數(shù)據(jù)的信噪比分別為40、35、30、25、20、15、5和0dB.實驗時,為了驗證改進(jìn)的語音識別系統(tǒng)的有效性,在Matlab7.0上分別對HMM,HMM與優(yōu)化后的遺傳神經(jīng)網(wǎng)絡(luò)和本文改進(jìn)后的混合語音識別模型算法做對比.實驗分為兩次實驗過程,第一次在加性高斯噪聲下;第二次在學(xué)校餐廳學(xué)生就餐時人聲為噪聲背景.實驗分別得出語音在加性高斯噪聲下識別率如表1和圖4;在學(xué)校餐廳時實驗結(jié)果如表2和圖5所示.由表1和表2中的實驗數(shù)據(jù)可以看出,改進(jìn)以后的混合算法相比單一的HMM和優(yōu)化的遺傳神經(jīng)網(wǎng)絡(luò)相比具有更好的識別效果,尤其對那些容易混淆的詞語識別率也有所提高.對于識別系統(tǒng)的信噪魯棒性方面也有了明顯的改變,提高了語音識別系統(tǒng)的自適應(yīng)能力.神經(jīng)網(wǎng)絡(luò)的收斂速度是衡量語音識別的一個重要標(biāo)準(zhǔn),因此遺傳神經(jīng)優(yōu)化算法與BP算法收斂速度作了如圖6、圖7的比較,實驗結(jié)果表明,優(yōu)化算法收斂速度得到明顯改善.
5結(jié)論
本文提出了基于隱馬爾可夫HMM與遺傳算法的神經(jīng)網(wǎng)絡(luò)改進(jìn)的語音識別系統(tǒng),在隱馬爾可夫模型與遺傳網(wǎng)絡(luò)算法優(yōu)化的基礎(chǔ)上,引入小波神經(jīng)網(wǎng)絡(luò)訓(xùn)練MFCC系數(shù),充分利用了隱馬爾可夫模型強大的時間建模能力與遺傳算法優(yōu)化后的收斂速度快、分類識別能力強的優(yōu)點.小波神經(jīng)網(wǎng)絡(luò)訓(xùn)練出的MFCC新系數(shù)應(yīng)用到優(yōu)化后的神經(jīng)網(wǎng)絡(luò)具有更高的識別率,提高了識別系統(tǒng)的自適應(yīng)能力.
參考文獻(xiàn)
1呂軍,曹效英,徐寶國.基于語音識別的漢語發(fā)音自動評分系統(tǒng)的設(shè)計與實現(xiàn).計算機工程與設(shè)計,2007,28(5):1232–1235.
2郭超,張雪英,劉曉峰.支持向量機在低信噪比語音識別中的應(yīng)用.計算機工程與應(yīng)用,2013,49(5):213–215.
3SemanN,BakarZA,BakarNA.TheoptimizationofArtificialNeuralNetworksconnectionweightsusinggeneticalgorithmsforisolatedspokenMalayparliamentaryspeeches.2010InternationalConferenceonComputerandInformationApplication(ICCIA).IEEE.2010.162–166.
4LanML,PanST,LaiCC.Usinggeneticalgorithmtoimprovetheperformanceofspeechrecognitionbasedonartificialneuralnetwork.FirstInternationalConferenceonInnovativeComputing,InformationandControl(ICICIC’06).IEEE.2006,2.527–530.
5王曉東,薛宏智,馬盈倉.基于自適應(yīng)遺傳算法的神經(jīng)網(wǎng)絡(luò)字符識別.西安工程大學(xué)學(xué)報,2008,22(2):210–213.
6鐘林,劉潤生.新神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及其在數(shù)碼語音識別中的應(yīng)用.清華大學(xué)學(xué)報(自然科學(xué)版),2000,40(3):104–108.
7包亞萍,鄭駿,武曉光.基于HMM和遺傳神經(jīng)網(wǎng)絡(luò)的語音識別系統(tǒng).計算機工程與科學(xué),2011,33(4):139–144.
8馮宏偉,薛蕾.基于HMM和新型前饋型神經(jīng)網(wǎng)絡(luò)的語音識別研究.計算機工程與設(shè)計,2010,(24):5324–5327.
9肖勇,覃愛娜.改進(jìn)的HMM和小波神經(jīng)網(wǎng)絡(luò)的抗噪語音識別.計算機工程與應(yīng)用,2010,(22):162–164.
10PanST,WuCH,LaiCC.Theapplicationofimprovedgeneticalgorithmonthetrainingofneuralnetworkforspeechrecognition.SecondInternationalConferenceonInnovativeComputing,InformationandControl(ICICIC’07).IEEE,2007.168–168.
11AggarwalRK,DaveM.ApplicationofgeneticallyoptimizedneuralnetworksforHindispeechrecognitionsystem.2011WorldCongressonInformationandCommunicationTechnologies(WICT).IEEE.2011.512–517.
篇5
中圖分類號:TP319 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2013)01-01-02
Design of hardware of speech recognition system in humanized robot
Liu Renping, Hou Ruizhen, Fang Yinglan, Han Xianfeng
(North China of Technology, Beijing 100144, China)
Abstract: In order to improve the reliability and efficiency of the speech recognition, a speech recognition system based on double CPU of the "MCU+DSP" is designed. The calculations are done by the main processor which takes the digital signal processor (DSP) as the hardware platform. DSP operation is assisted by Micro control unit(MCU), which controls all parts of the robot. Its performance can meet real-time processing's needs.
Key words: humanoid robot; double CPU; speech recognition system; hardware design
0 引言
隨著超大規(guī)模集成電路和數(shù)字信號處理器(DSP)的快速發(fā)展,DSP的應(yīng)用越來越廣泛,涉及到各個領(lǐng)域如語音處理,圖像處理等方面。現(xiàn)在語音識別中許多復(fù)雜算法已經(jīng)能夠在硬件上實現(xiàn)。最近十多年來,已研發(fā)出不少應(yīng)用于不同領(lǐng)域的便攜式語音識別系統(tǒng)。DSP處理速度快、靈活、精確,滿足了對信號快速、實時、精確處理的要求,所以很適用于語音識別。
1 擬人機器人語音識別方法概述
語音信號分析是語音識別的前提和基礎(chǔ),只有分析出可表示語音信號本質(zhì)特征的參數(shù),才可能利用這些參數(shù)進(jìn)行高效的語音通信,才能建立用于識別的模板或知識庫。語音識別率的高低取決于對語音信號分析的準(zhǔn)確性和精確性,雖然語音信號具有時變特性,但在一個短時間范圍內(nèi)其特性相對穩(wěn)定,因而可以將其看作是一個短時平穩(wěn)過程。任何對語音的分析和處理均建立在“短時”的基礎(chǔ)上,一般認(rèn)為語音信號在10-30ms的短時間內(nèi)是相對平穩(wěn)的。
擬人機器人語音識別方法如圖1所示,采集到的語音信號輸入后,首先對語音信號進(jìn)行預(yù)處理,預(yù)處理主要包括:語音信號電壓放大采樣、反混疊失真濾波、預(yù)加重、自動增益控制、分幀、加窗、語音增強、端點檢測以及A/D轉(zhuǎn)換等環(huán)節(jié);然后是信號特征量的提取(本文對信號的特征量進(jìn)行Mel頻率倒譜系數(shù)[2](Mel-Frequency Cestrum Coefficients)處理);最后對建立好的參數(shù)模板進(jìn)行對比,測試的依據(jù)是失真度最小準(zhǔn)則,如本文用到的動態(tài)時間規(guī)整DTW[3](Dynamic Time Warping)。
2 系統(tǒng)硬件設(shè)計
通過針對擬人機器人的特點,對系統(tǒng)進(jìn)行分析和方案設(shè)計,最終確定本系統(tǒng)的框圖如圖2所示。本系統(tǒng)的硬件基于一個以DSP(TMS320VC5416)為主處理器的硬件平臺,硬件平臺主要包括:語音輸入輸出模塊、主處理器DSP模塊、存儲器模塊、單片機MCU模塊、485串口通信模塊。其中語音輸入輸出模塊實現(xiàn)了語音信號的采集和輸出;主處理器DSP模塊(TMS320VC5416)主要完成語音識別所需的計算,其性能能夠達(dá)到實時處理的要求;存儲器模塊包括一片F(xiàn)LASH和兩片SRAM,用FLASH作為DSP的可編程存儲器,SRAM分別作為DSP的數(shù)據(jù)和程序存儲器;單片機MCU模塊完成對擬人機器人的運動控制;485串口通信模塊實現(xiàn)單片機MCU和PC機之間的通信。
2.1 主處理器DSP模塊介紹
TMS320VC5416(簡稱VC5416)是TI公司的C54X家族的成員之一,它是基于先進(jìn)的改進(jìn)哈佛結(jié)構(gòu)的16位定點DSP。它具有C54X的共同特點,高性能低功耗,具有高達(dá)160MHz的主頻,核心電壓1.5V,運行于此頻率時功耗僅為90mW;擁有一條程序總線和三條數(shù)據(jù)總線,片內(nèi)集成有高度并行性的算術(shù)邏輯單元(ALU)、專有硬件邏輯、片內(nèi)存儲器和片內(nèi)外設(shè)等。
篇6
隨著人們對人機交流技術(shù)的要求越來越高,語音識別技術(shù)應(yīng)運而生。語音識別是將語音信號轉(zhuǎn)換成相應(yīng)文本的高技術(shù),是一種重要的人機交互技術(shù)[1]。在近二十年,越來越多高水平的研究機構(gòu)和企業(yè)加入到語音識別的研究領(lǐng)域,并開始向市場上提品。其中具有代表性的產(chǎn)品有微軟的Whisper系統(tǒng),Google的Word Search系統(tǒng),蘋果的Siri系統(tǒng)等。
語音識別最重要的性能指標(biāo)就是識別率,而識別率十分依賴特征參數(shù)的訓(xùn)練和識別模型。常用的模式匹配和模型訓(xùn)練技術(shù)主要有動態(tài)時間歸整算法和隱馬爾可夫算法。文中就這兩種算法特點進(jìn)行了分析和改進(jìn),對基于改進(jìn)后的算法建立的語音識別系統(tǒng)進(jìn)行了性能評估和對比。
一、語音識別算法
(一)動態(tài)時間歸整算法
發(fā)音具有隨機性,同一個人在不同時間,不同場合對同一個字的發(fā)音長度都不是完全一樣的。在語音識別的模版匹配中,這些長度不一的發(fā)音將降低系統(tǒng)的識別率。為了解決這一問題,我們引入動態(tài)時間歸整算法(Dynamic Time Warping,DTW)。在語音識別中,DTW算法是較早出現(xiàn),較為經(jīng)典的算法,它是基于動態(tài)規(guī)劃(DP)的[2]。
提取參考語音信號的特征參數(shù)存入特征模板庫建立參考模板,提取待識別語音號的特征參數(shù)建立測試模板。DTW算法就是計算參考模板和測試模板各幀矢量之間的距離之和,總距離越小說明相似度越高,最后選取最小的總距離作為匹配結(jié)果。
這種識別算法雖然較為簡單、有效,但是計算量大,存儲空間占用多,響應(yīng)時間長。因此,文中對該算法進(jìn)行改進(jìn),以避免以上缺點。
改進(jìn)后的DTW算法將歸整函數(shù)限制在一個平行四邊形中(其中兩條邊的斜率為1/2,另外兩條邊的斜率為2)。在計算總距離時只需計算平行四邊形之內(nèi)各交點的匹配距離和累積距離,這樣減少了計算量,提高了系統(tǒng)的反應(yīng)速度,節(jié)省了存儲空間。
(二)隱馬爾可夫算法
隱馬爾可夫模型是在馬爾可夫鏈基礎(chǔ)上發(fā)展起來的一種語音信號統(tǒng)計模型,自從用來描述語音信號后,該模型迅速發(fā)展,使得HMM理論逐漸成為語音研究中的熱點,語音識別的主流技術(shù)。
隱馬爾可夫模型HMM是一個雙重隨機過程,一重是可直接觀測的馬爾可夫鏈,用于描述狀態(tài)的轉(zhuǎn)移;另一重是隱含在觀察序列中的隨機過程,用于描述狀態(tài)和觀察值之間的統(tǒng)計對應(yīng)關(guān)系。
將HMM用于語音識別系統(tǒng)前,必須解決三個基本問題[3]:
1.模型評估
已知一個觀察序列和一個HMM模型,如何計算由此模型產(chǎn)生此觀察符號序列的輸出概率。
2.最優(yōu)狀態(tài)序列搜索
已知一個觀察序列和一個HMM模型,如何確定一個最佳狀態(tài)序列,使之產(chǎn)生的觀察序列的概率最大。
3.模型訓(xùn)練
已知一個觀察序列和一個HMM模型,如何根據(jù)觀察序列來確定模型的參數(shù)。
針對以上三個問題,可分別用前向-后向算法,Viterbi算法和Baum-Welch算法改進(jìn),改進(jìn)后的HMM算法較傳統(tǒng)算法在識別率方面有了明顯的提高。
(三)算法比較
基于模版匹配技術(shù)的DTW算法和基于隨機過程理論的HMM算法是比較有代表性的孤立詞識別算法。DTW算法應(yīng)用動態(tài)規(guī)劃的方法解決了語音信號特征參數(shù)序列時間對準(zhǔn)問題,克服了語速的差異。DTW算法適用于訓(xùn)練樣本較少的情況下,訓(xùn)練過程簡單,識別過程較復(fù)雜,多用于特定人孤立詞語音識別系統(tǒng)。
HMM算法HMM運用狀態(tài)序列描述觀測向量的時間邏輯,通過多變量混合高斯分布表現(xiàn)觀測向量序列的空間分布[4]。為了獲得高識別率,HMM算法需要大量的訓(xùn)練樣本和存儲量,訓(xùn)練過程要耗費較多時間,識別過程較簡單,多用于連續(xù)大詞匯量語音識別系統(tǒng)。
二、系統(tǒng)設(shè)計實現(xiàn)
語音識別系統(tǒng)由預(yù)處理、特征提取、模型庫和模式匹配等四個基本單元構(gòu)成。系統(tǒng)的基本結(jié)構(gòu)如圖1所示:
(一)預(yù)處理
通過話筒將語音信號變成電信號輸入到語音識別系統(tǒng)中。首先對信號進(jìn)行一系列的預(yù)處理,包括采樣、量化、加窗、端點檢測、預(yù)加重等。
采樣和量化就是將離散信號分別在時間上和幅度上轉(zhuǎn)化成離散形式。為了濾除低頻干擾,提升信號高頻部分,對信號進(jìn)行預(yù)加重處理。由于系統(tǒng)對信號的處理都是以短時為前提的,這就要將信號分割成許多語音段,即對語音信號分幀、加窗處理。原始語音信號往往包含無音段和有音段,端點檢測就是運用數(shù)字處理技術(shù)來判斷各語音段的起點和終點,從而找到有用的語音成分。文中使用基于短時能量和短時平均過零率的檢測方法判定語音信號的起始點和終止點,即雙門限比較法。
(二)提取特征參數(shù)
經(jīng)過預(yù)處理的語音信號中并不是所有信息都是有用的,這就需要將語音信號經(jīng)過一次變換,去掉冗余部分,提取代表語音本質(zhì)的特征參數(shù)。文中采用近年來運用比較廣泛的Mel頻率倒譜參數(shù),先將頻譜轉(zhuǎn)變?yōu)槊罓栴l標(biāo)的非線性頻譜,接著再轉(zhuǎn)換到倒譜域上[6]。MFCC參數(shù)充分考慮了人耳的聽覺特性,有很高的穩(wěn)健性和抗噪性能。
篇7
篇8
一、課題背景
學(xué)校常會組織我們到貴陽市盲聾啞學(xué)校送愛心,與殘障孩子親密互動,今年也不例外。那些殘章的孩子來到這個世界,只能用他們僅存的方式去感知世界萬物,在他們的世界里只有一種顏色,那就是黑色。我不禁想,在學(xué)校還有老師的照拂,可他們總有一日要長大,要開啟自己的人生旅程。要是我能為他們做哪怕一點點事,就算只是為他們的家庭生活提供一些幫助也是好的。我想,如果能利用我在機器人社中學(xué)到的傳感器、電子電路、單片機等專業(yè)知識,對家庭電路進(jìn)行智能化改造,讓家庭的電路“聰明”起來,使他們能夠聽得懂主人的指令而進(jìn)行相應(yīng)的操作,那就可以對有殘障的人和對一些不良于行的病人或老人的家庭生活都能提供很大的便利。于是,有了我的這個設(shè)計――基于LD3320的語音識別系統(tǒng)在家庭電路中的模擬應(yīng)用。
二、模型設(shè)計
(一)模塊功能
(二)模型組成
(三)主要電子元件工作原理與功能說明
1、LD3320語音識別芯片
LD3320語音識別芯片采用的是ASR(Auto Speech Recognitio)技術(shù),是YS-LD語音識別模塊的核心。它是對大量的語音數(shù)據(jù)經(jīng)語言學(xué)家語音模型分析,建立數(shù)學(xué)模型,并經(jīng)過反復(fù)訓(xùn)練提取基元語音的細(xì)節(jié)特征,以及提取各基元間的特征差異,得到在統(tǒng)計概率最優(yōu)化意義上的各個基元語音特征,最后才由資深工程師將算法以及語音模型轉(zhuǎn)換成硬件芯片并應(yīng)用在嵌入式系統(tǒng)中。
LD3320有兩種使用模式,即“觸發(fā)識別模式”和“循環(huán)識別模式”。可以通過編程,設(shè)置兩種不同的使用模式。
觸發(fā)識別模式:系統(tǒng)的主控MCU在接收到外界一個觸發(fā)后,啟動LD3320芯片的一個定時識別過程,在這個定時過程中說出要識別的語音關(guān)鍵詞語。這個過程結(jié)束后,需要再次觸發(fā)才能再次啟動一個識別過程。
循環(huán)識別模式:系統(tǒng)的主控MCU反復(fù)啟動識別過程。如果沒有人說話就沒有識別結(jié)果,則每次識別過程的定時到時后再啟動一個識別過程;如果有識別結(jié)果,則根據(jù)識別作相應(yīng)處理后再啟動一個識別過程。
根據(jù)本案模型的設(shè)計特點,采用語音觸發(fā)識別模式。LD3320芯片最多支持50個識別條目,每個識別條目是標(biāo)準(zhǔn)普通話的漢語拼音(小寫),每2個字(漢語拼音)之間用1個空格間隔。例如表1,只需要把識別的關(guān)鍵詞語以漢語拼音字符串的形式傳送進(jìn)芯片,該芯片已封裝了基于標(biāo)準(zhǔn)普通話的語音模型數(shù)據(jù)和語音識別算法,無需進(jìn)行任何語音訓(xùn)練即可投入開發(fā)應(yīng)用。
2、STM32單片機控制單元
本案模擬系統(tǒng)主控單元采用意法半導(dǎo)體ARM-Cortex架構(gòu)的STM32F1系列超低功耗單片機作為控制核心。
該單元完成幾大功能:
向LD3320模塊提供時鐘振蕩信號,以驅(qū)動片上DSP(數(shù)字信號處理器 )工作;
通過SPI(串行外設(shè)接口)串行通信方式向LD3320模塊寫入預(yù)定義的控制命令拼音串,并讀取語音模塊返回的識別結(jié)果編碼;
根據(jù)識別結(jié)果驅(qū)動負(fù)載電路(LED單元(發(fā)光二極管)、繼電器單元)的動作。
當(dāng)LD3320模塊完成一次識別過程后,通過中斷請求方式通知主控單元處理,主控單元獲知中斷請求后會暫時中止當(dāng)前的任務(wù)執(zhí)行,轉(zhuǎn)而跳轉(zhuǎn)到中斷服務(wù)例程(ISR Route),在該例程中通過SPI總線從LD3320模塊讀取識別編碼,根據(jù)識別編碼的不同執(zhí)行對應(yīng)控制功能。通過點亮、熄滅指令對應(yīng)發(fā)光二極管或驅(qū)動繼電器接通主回路得到運行結(jié)果。
3、LED顯示單元
本案模擬系統(tǒng)用六個共陽極發(fā)光二極管(LED)來模擬家庭中廚房、工作間、臥室、走廊、衛(wèi)生間、陽臺的燈泡開關(guān)狀況,工作時主控單片機則根據(jù)語音命令,采用輸出低電平方式進(jìn)行驅(qū)動點亮。
4、繼電器輸出單元
繼電器輸出單元可接收主控單片機的高低電平控制信號以接通或斷開主回路。主回路根據(jù)實際需求可以用于大電壓,交、直流供電的負(fù)載驅(qū)動。本案模擬系統(tǒng)用繼電器單元實現(xiàn)家庭電扇的通斷控制。
(四)系統(tǒng)軟件開發(fā)環(huán)境
本案模擬系統(tǒng)的軟件開發(fā)只針對STM32F103主控單元進(jìn)行,軟件代碼完成以下功能:
LD3320底層驅(qū)動(對其內(nèi)部寄存器的讀寫、時序的控制);
STM32F103硬件單元和用戶變量的初始化;
用戶語音命令拼音串的寫入;
中斷服務(wù)ISR(完成負(fù)載電路的驅(qū)動控制)。
軟件開發(fā)基于ARM公司的Keil開發(fā)環(huán)境,完成從代碼編輯到編譯、調(diào)試、燒寫一系列過程。
(五)設(shè)備成本
三、設(shè)備實測
(一)控制命令
LD3320語音識別芯片中最多可以寫入50條語音控制指令,可以根據(jù)用戶需要定制個性化的語音控制功能。本案設(shè)備的設(shè)計初衷是為了探索LD3320語音識別芯片在家庭電路中的模擬應(yīng)用,故只寫入了比較基本的18條指令。
(二)設(shè)備測試
在寫入程序,完成硬件連線并加電復(fù)位后,系統(tǒng)即進(jìn)入運行狀態(tài)。向系統(tǒng)說出控制命令(盡可能用普通話, 不過實測時對貴陽本地方言還是有較高識別率),比如說“廚房打開”、“走廊關(guān)閉”、“電扇啟動”、“運行流水燈”等命令后,系統(tǒng)會根據(jù)識別結(jié)果執(zhí)行對應(yīng)動作,點亮/熄滅LED或者通/斷電扇運行。
為了更好的檢測語音識別效果,實驗中選擇多個不同音色的人在家庭(比較安靜)環(huán)境下分別進(jìn)行測試,每個詞語測試50遍。部分非特定人的語音命令測試的正確識別數(shù)據(jù)比例見表4:由上表可知,在家庭(比較安靜)環(huán)境下,對于語音命令的平均識別率可達(dá)到90%以上。
四、設(shè)備優(yōu)勢與應(yīng)用展望
(一)設(shè)備優(yōu)勢
1、本案設(shè)備成本低、語音辨識率高、響應(yīng)快速,可以直接安裝于家庭電路中實現(xiàn)語音智能控制。
2、由于LD3320 可以動態(tài)編輯的識別關(guān)鍵詞語列表,因此其可以應(yīng)用的范圍大大超過了那些不可以改變識別列表的芯片。
3、可以根據(jù)用戶的需求進(jìn)行控制命令寫入,實現(xiàn)可定制、個性化的智能控制。
(二)應(yīng)用展望
1、應(yīng)對家庭生活突發(fā)狀況
在本語音識別系統(tǒng)中只是初步嘗試了對用電器通、斷電控制,而在現(xiàn)在社會中有很多的空巢老人,他們獨自生活,如果在家中出現(xiàn)意外或突發(fā)疾病,隨時都有可能危及生命。如果在本案系統(tǒng)中可以添加“緊急呼叫”的語音控制,當(dāng)出現(xiàn)突發(fā)狀況時可以使用該功能觸發(fā)電話自動撥打物管、救護(hù)車、親屬等重要聯(lián)系人。或者該控制與小區(qū)物管相連,每當(dāng)有人有緊急呼叫時,物管的終端緊急呼叫燈亮起,并觸發(fā)揚聲器發(fā)出警報聲,使物管人員迅速到場解決問題。
2、實現(xiàn)家用電器的語音控制
(1)電磁爐/微波爐/智能家電操作
在現(xiàn)在的家電中,各種各樣的設(shè)置越來越繁復(fù)。用戶在使用過程中,還要不斷地對家電進(jìn)行功能切換。在引入LD3320 芯片后,可以用語音直接控制這些家電。比如用語音來控制電磁爐把火力調(diào)整到“煎炸”或者是“慢燉”。
(2)數(shù)碼像框
數(shù)碼像框中存放了許多的照片和視頻,同時又具有多種播放的方式。一般是通過按鍵或者遙控器的方式來對其進(jìn)行操作,但是這樣的操作并不方便。在引入了LD3320 提供的語音識別功能后,用戶可以最自然地用語音去點播想要顯示的照片,或者改變數(shù)碼像框的顯示方式。使得這樣的數(shù)碼產(chǎn)品更加具有人性化的操作界面。
3、機頂盒/彩電遙控器
隨著數(shù)字電視的普及,家庭中可以收看到的電視節(jié)目也越來越豐富。大家也就苦于在眾多的頻道中迅速選擇到自己想要看的頻道。在把LD3320 語音識別芯片集成進(jìn)機頂盒/彩電遙控器后,用戶只需要對著遙控器說出想要看的電視頻道的名字,就可以快速地選擇。比如用戶可以說出“奧運體育”,就可以轉(zhuǎn)到體育頻道來觀看精彩的體育比賽了。
4、智能玩具/對話玩具
在電視購物中曾經(jīng)出現(xiàn)過可以人機對話的玩具,比如金福豬,金福狗等。這些玩具采用的語音識別只能支持固定的10 條左右的語音命令,比如“你好”,“我想聽歌”等等。采用LD3320 芯片,可以利用其動態(tài)編輯識別關(guān)鍵詞語列表的性能,讓玩具實現(xiàn)及其復(fù)雜的對話腳本。避免了玩具的嚴(yán)重同質(zhì)化。
(三)公共服務(wù)設(shè)施的語音控制
1、自動售貨機、地鐵自動售票機等銷售型服務(wù)設(shè)施
在自動售貨機、地鐵自動售票機等銷售型服務(wù)設(shè)施中安裝語音操作模塊。人們可以對著售貨機說出要買的商品,比如“可口可樂”或者“面巾紙”投幣后商品就自動售出。在北京、上海等大都市中,外地旅客較多,對地鐵線路不熟悉導(dǎo)致買票時不知道票價也不知道如何購買。有了語音操作界面后,只需要對著售票機說出要去的地方或者想要到達(dá)的站點,根據(jù)屏幕提示放入紙幣,就可以方便地買到車票。
2、公共照明系統(tǒng)、輔助設(shè)施的語音控制
在公共場合幫助殘疾人士、行動不便的老人或小孩非接觸地去控制公共照明系統(tǒng)或輔助設(shè)施(地下通道輪椅臺等)的運行。
3、樓宇電視的廣告點播
目前分眾傳媒等公司的樓宇廣告設(shè)施,遍布幾乎所有的寫字樓,也在廣告投放上取得了良好的效果。但是目前用戶在接受廣告時,都是被動地去接受信息。對于其中感興趣的廣告,只能是等待下次再看到時進(jìn)行仔細(xì)地了解,沒有辦法進(jìn)行主動式地廣告查詢。
引入LD3320 語音識別芯片后,用戶可以用語音去方便地查詢想要了解的廣告信息。比如操作樓宇廣告“重新播放”“上一條”來重新觀看一條廣告。或者“汽車”來點播想要看的汽車廣告。
這樣的語音操作,不需要增加額外的鍵盤輸入和觸摸屏輸入,又可以讓用戶與廣告充分互動,取得更佳的效果。
五、結(jié)語
使用LD3320 芯片可以在一定程度上完成這樣的語音控制系統(tǒng),給人們的生活帶來更便利的語音交互界面。作為一種新的人機交互界面,會逐步地走入人們的日常生活,在適合用語音控制的地方給人們提供更多的便利。
參考文獻(xiàn):
篇9
新一代特種車輛的車載顯控系統(tǒng)對復(fù)雜噪聲環(huán)境下的語音控制(語音識別與語音合成)組件提出了新的需求,當(dāng)前的車載顯控系統(tǒng)需要具備語音采集、識別和合成輸出的功能,而特種車輛在任務(wù)中的復(fù)雜噪聲的污染會使許多語音處理系統(tǒng)性能急劇惡化。由于特種車輛的車載強噪聲環(huán)境的特殊性,現(xiàn)有的商用語音識別模塊產(chǎn)品均難以滿足其環(huán)境的使用要求。
本文基于特種車輛對語音控制設(shè)計需求,針對特種車輛座艙(以下簡稱車載座艙)殊的噪聲環(huán)境,進(jìn)行車載座艙噪聲環(huán)境下語音降噪組件設(shè)計,實現(xiàn)了語音信號的降噪處理,并采用商用的語音識別模塊進(jìn)行測試驗證。測試結(jié)果表明,此方案在車載座艙環(huán)境下具有很好的降噪效果。
2 系統(tǒng)構(gòu)成及工作原理
2.1 系統(tǒng)構(gòu)成
車載座艙語音降噪系統(tǒng)由硬件平臺和語音降噪軟件兩部分組成,具體如下:
2.1.1 硬件組成
基于Freescalei.MX6 Dual SOC平臺的語音降噪模塊、XFV5310語音識別與合成模塊;
2.1.2 軟件組成
OS為Linux,內(nèi)核為3.14.52,嵌入式語音降噪軟件。
2.2 工作原理
車載座艙語音降噪識別系統(tǒng)的工作原理為:當(dāng)駕駛員啟動語音控制功能時,i.MX6D語音降噪模塊向XFV5310語音識別模塊發(fā)送語音識別啟動命令,音頻采集模塊開始采集駕駛員說出的帶噪語音指令,經(jīng)由語音降噪模塊實時處理后,將降噪后的語音指令傳送給語音識別模塊,根據(jù)識別結(jié)果進(jìn)行相應(yīng)指令的操作響應(yīng),從而執(zhí)行駕駛員下達(dá)的語音指令。圖1所示為車載座艙語音降噪系統(tǒng)的工作原理框圖。
如圖1所示,車載座艙語音降噪識別系統(tǒng)的工作原理如下:
(1)帶噪語音源獲取有兩種方式:
1.由音箱播放特種車輛真實任務(wù)過程中的車內(nèi)環(huán)境噪聲文件來模擬車載噪聲環(huán)境,噪聲強度通過分貝測試儀的讀數(shù)控制;通過MIC說出語音指令;
2.讀取事先錄制的并按照特定信噪比疊加的.wav格式帶噪語音指令文件。
(2)通過音頻編解碼芯片STGL5000將輸入的模擬帶噪音頻進(jìn)行PCM編碼,并將數(shù)字帶噪音頻輸出給語音降噪軟件;
(3)語音降噪軟件對數(shù)字帶噪音頻進(jìn)行降噪處理,生成數(shù)字降噪音頻。
(4)降噪音頻存儲文件和播放輸出:
1.數(shù)字降噪音頻輸出給STGL5000進(jìn)行PCM解碼和DA轉(zhuǎn)換,生成模擬降噪音頻,通過2.0音箱播放并輸入給XFV5310模塊進(jìn)行語音識別;
2.數(shù)字降噪音頻數(shù)據(jù)存儲為wav格式音頻文件。
(5)語音降噪軟件的串口通訊:
1.通過RS232調(diào)試串口控制車載座艙語音降噪組件的工作狀態(tài):開始工作、錄音模式(開始錄音、停止錄音)、讀取wav文件模式、停止工作,并實時顯示組件的工作狀態(tài)和語音識別結(jié)果;
2.通過RS232通訊串口,根據(jù)XFV5310串口通訊協(xié)議,控制XFV5310模塊的工作狀態(tài)(初始化、開始識別、停止)并接收回傳的狀態(tài)信息和語音識別結(jié)果。
3 系統(tǒng)軟件算法設(shè)計
車載座艙語音降噪識別軟件(以下簡稱CSE軟件)運行在嵌入式Linux操作系統(tǒng)下,用于采集模擬帶噪語音信號,對采集的數(shù)字帶噪音頻信號進(jìn)行降噪處理,并將降噪語音信號發(fā)送給語音識別與合成模塊進(jìn)行語音識別,最后處理識別模塊返回的識別結(jié)果。CSE軟件主要完成初始化功能、語音錄音功能、WAV文件讀取功能、WAV文件存儲功能、語音播放功能、語音降噪功能以及RS232串口通訊功能。CSE軟件執(zhí)行流程圖如圖2所示。
初始化模塊主要完成RS232串口初始化、錄音配置、語音播放配置及信號量初始化。
錄音模塊主要完成音頻采集。由于規(guī)定語音指令長度最大為5S,在錄音時判斷錄音時間是否達(dá)到5S或是否收到結(jié)束信號,如兩者均未發(fā)生,則采集一個周期音頻樣本,并保存至帶噪音頻數(shù)組中,如此循環(huán),直至收到錄音結(jié)束控制信號或錄音時間達(dá)到5S。
WAV文件存儲模塊實現(xiàn)將音頻文件以.WAV格式存儲。首先存儲WAV文件頭,主要完成WAV文件文件頭數(shù)據(jù)初始化,并檢查文件頭每個字節(jié)的合法性,最后將檢測合格的WAV文件文件頭存儲在.wav文件中,WAV文件頭存儲后將音頻數(shù)據(jù)寫在WAV文件頭數(shù)據(jù)后。
WAV文件讀取模塊實現(xiàn)讀取WAV文件文件頭,對文件頭進(jìn)行解析,并讀取WAV文件的音頻數(shù)據(jù)。
音頻播放模塊主要實現(xiàn)將降噪處理后的音頻數(shù)據(jù)實時地通過聲卡播放出來,以做識別處理。由于在ALSA音頻驅(qū)動中,對音頻設(shè)備的數(shù)據(jù)訪問以及音頻數(shù)據(jù)的存儲都是以周期為單位進(jìn)行操作,所以在播放時要判斷已經(jīng)降噪處理但未播放的音頻數(shù)據(jù)是否達(dá)到周期樣本數(shù),如達(dá)到則播放音頻數(shù)據(jù),其次還要判斷錄音是否已經(jīng)結(jié)束,如果結(jié)束,判斷是否還有音頻數(shù)據(jù)未播放,如有則播放剩余的音頻數(shù)據(jù)。
語音降噪模塊對采集或從文件中讀取的帶噪語音進(jìn)行降噪處理。首先采用可移動的有限長度窗口實現(xiàn)對帶噪語音分幀加窗,分幀加窗結(jié)束后,將每一幀帶噪語音分別進(jìn)行短時快速傅里葉變換,然后實現(xiàn)帶噪音頻的降噪。實現(xiàn)SMSS降噪算法的基本思想是基于統(tǒng)計模型更新信噪比和當(dāng)前幀噪聲功率譜,根據(jù)帶噪語音頻譜中不同頻帶的信噪比,確定噪聲的譜減因子,然后用帶噪語音減去噪聲和譜減因子的乘積,得到降噪后的語音。在信噪比更新方面,主要采取由先驗信噪比和后驗信噪比決定SNR的方法,在噪聲譜估計方面基于統(tǒng)計模型的VAD方法。降噪處理后再進(jìn)行短時快速傅里葉反變換(ISFFT),得到時域的降噪語音信號數(shù)據(jù),按幀續(xù)進(jìn)行逆分幀重排后得到降噪后的語音信號,最后進(jìn)行存儲為.WAV格式文件或者直接播放輸出。
串口通訊模塊主要實現(xiàn)發(fā)送識別請求,獲取識別請求響應(yīng)結(jié)果以及對識別結(jié)果解析。在語音播放之前,需要啟動XFV5310開發(fā)板的識別功能,由識別啟動模塊發(fā)送語音識別啟動命令,開發(fā)板收到命令幀后會判斷此命令幀正確與否,并回傳結(jié)果,識別啟動模塊接收回傳數(shù)據(jù)。發(fā)送識別啟動命令后,如果識別啟動模塊在5.5S內(nèi)未收到XFV5310開發(fā)板回傳,則默認(rèn)識別開發(fā)板無反應(yīng),識別啟動模塊將退出等待。當(dāng)語音識別啟動后,XFV5310開發(fā)板將會在識別處理結(jié)束后將相應(yīng)的識別結(jié)果回傳給CSE軟件。回傳的數(shù)據(jù)以“幀”的方式封裝后傳輸。識別結(jié)果解析功能是當(dāng)語音降噪軟件接收到XFV5310開發(fā)板的回傳的識別結(jié)果,根據(jù)通訊協(xié)議對XFV5310開發(fā)板發(fā)來的識別結(jié)果解碼。
4 系統(tǒng)測試驗證
4.1 測試環(huán)境
車載座艙語音降噪組件的測試驗證試驗中,各模塊間的交聯(lián)關(guān)系如圖3所示。
4.2 測試方法及結(jié)果
在車載復(fù)雜噪聲環(huán)境下,特定信噪比(-5dB、0dB、5dB)的語音指令,未經(jīng)降噪前語音質(zhì)量差,指令模糊,商用XFV5310語音識別與合成模塊對指令識別率低于65%。經(jīng)過本文設(shè)計的車載座艙語音降噪軟件處理后,系統(tǒng)的測試結(jié)果如表1所示。
4.3 測試結(jié)果分析
車載座艙語音降噪識別系統(tǒng)功能完整,語音錄音、播放、WAV文件讀取、存儲、語音降噪處理等功能都能符合需方的功能要求;特定信噪比(-5dB、0dB、5dB)下的語音指令識別率能夠滿足需方規(guī)定的指標(biāo)要求;語音降噪算法、降噪與識別的總耗時穩(wěn)定,不會隨著語音指令的增長而增加耗時,能夠滿足需方規(guī)定的指標(biāo)要求。
5 結(jié)束語
特種車輛工作環(huán)境下的帶噪語音經(jīng)車載座艙語音降噪識別系統(tǒng)處理后的語音聽感清晰,無明顯失真,無明顯噪聲殘留,且運行總耗時較少,能夠滿足車載環(huán)境下語音降噪需求,配合商用的語音識別與合成模塊XFV5310組成的系統(tǒng)能夠滿足特種車輛在惡劣工作環(huán)境下的語音控制功能,將該系統(tǒng)與車載顯控模塊集成,滿足需方的功能與性能指標(biāo)要求,經(jīng)過實際裝車使用測試,證明本文設(shè)計的車載座艙語音降噪識別系統(tǒng)功能性、穩(wěn)定性和可靠性均能滿足特種車輛的使用要求。
參考文獻(xiàn)
[1]Loizou P,Speech enhancement:theory and practice[M].1st ed.CRC Taylor and Francis,2007:6-7.
[2]宋知用.MATLAB在語音信號分析與合成中的應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2013.
[3]易克初,田斌,付強.語音信號處理[M]. 北京:國防工業(yè)出版社,2003.
[4] Israel Cohen and Baruch Berdugo: Speech enhancement for non-stationary noise environments,[J].Signal Process.,vol.81,no.11,pp. 2403-2418,Nov.2001.
[5] Israel Cohen:Noise Estimation by Minima Controlled Recursive Averaging for Robust Speech Enhancement,[J].IEEE Signal processing letters,vol. 9,no.1,January 2002.
[6] Israel Cohen.“Noise Spectrum Estimation in Adverse Environments: Improved Minima Controlled Recursive Averaging”[J].IEEE Transactions on speech and audio processing,vol.11, no.5,Sep,2003.
[7] Israel Cohen:Relaxed statistical model for speech enhancement and a priori SNR estimation [J].IEEE Trans. Speech Audio Process.,vol.13, no.5,pt.2,pp.870-881,Sep,2005.
[8]張雄偉,陳亮,楊吉斌.現(xiàn)代語音處理技術(shù)及應(yīng)用[M].北京:機械工業(yè)出版社,2003.
[9]程塔,郭雷,趙天云,賀勝.非平穩(wěn)噪聲環(huán)境下的語音增強算法[J].西北工業(yè)大學(xué)學(xué)報,2010,28(5):664-668.
[10]蔣海霞,成立新,陳顯治.一種改進(jìn)的譜相減語音增強方法[J].理工大學(xué)學(xué)報,2001,2(l):41-44.
[11]孫楊,原猛,馮海泓.一種基于統(tǒng)計模型的改進(jìn)譜減降噪算法[J].聲學(xué)技術(shù),2013,32(2):115-118.
作者簡介
篇10
由于生活節(jié)奏的加快,汽車已經(jīng)成為了人們生活中重要的工具,人們在車內(nèi)的時間也更多。同時也希望能夠在車內(nèi)接收到外界的信息繼續(xù)進(jìn)行工作,還要求汽車有娛樂功能,因此促進(jìn)了車載多媒體的發(fā)展。而車載多媒體傳統(tǒng)的人機交互方式會增加潛在的駕駛危險,為此將語音識別應(yīng)用于車載多媒體系統(tǒng)中,將會是車載多媒體發(fā)展的重要方向。端點檢測、特征參數(shù)提取以及識別是語音識別的主要內(nèi)容,本文也將從這三個方向?qū)囋诙嗝襟w系統(tǒng)的語音識別進(jìn)行研究。
1、端點檢測
在進(jìn)行語音識別時,首先需要通過端點檢測來對語音信號中的無聲片段和有聲片段進(jìn)行分割。目前,語音端點識別已經(jīng)從開始的單一門限發(fā)展到了基于模糊理論的判決。但是對于車載多媒體而言,計算量較大、識別響應(yīng)時間較長端點檢測的方法顯然不使用,所以主要采用基于短平均過零率和短時間平均幅度的方法來進(jìn)行語音端點檢測,這種方法利用短時間內(nèi)幅度的檢測和過零率來作為語音端點的檢測。
首先,利用短時幅度可以有效判斷語音端點,同時語音的濁音部分平均幅度會明顯大于噪聲的平均幅度,然后同時再輔以短時過零率的方法來判斷語音開始的濁音,從而進(jìn)一步對端點檢測進(jìn)行校準(zhǔn),兩者的結(jié)合能夠更加精確的判斷語音端點,并且兩種算法都較為簡單,能夠滿足車在多媒體的需求。
2、特征參數(shù)提取
在完成語音的端點檢測之后,需要提取語音的特征參數(shù),然后進(jìn)行語音識別。目前用于語音特征參數(shù)提取的算法主要有LPCC(線性預(yù)測倒譜系數(shù))和MFCC(Mel頻率倒譜),由于MFCC具有更強的抗干擾能力等特點,更適合與噪聲較多、司機不能離輸入設(shè)備很近的車載環(huán)境。
分析MFCC的語音特征參數(shù)提取可以分成預(yù)加重、加窗、FFT(快速傅里葉變換)、濾波、自然對數(shù)提取、自然對數(shù)DCT計算這六個步驟。由于MFCC其計算精度以及計算量都較大,因此,使用MFCC作為車載系統(tǒng)的語音特征參數(shù)提取時,需要進(jìn)行相應(yīng)的改進(jìn):
(1)在MFCC實現(xiàn)的六個步驟中,例如加窗等步驟就可以實現(xiàn)進(jìn)行計算,然后存儲在數(shù)組中,在使用時進(jìn)行查表提取,從而避免每一次語音識別時重復(fù)計算,從而加快了計算速度。
(2)FFT需要花費大量的時間(據(jù)統(tǒng)計,F(xiàn)FT需要花費MFCC56.32%的時間[2]),由于FFT算法是對復(fù)數(shù)進(jìn)行處理,而語音信號的處理只涉及到實數(shù)部分,其虛數(shù)部分為零,因此增加了運算時間,因此可以利用文獻(xiàn)3所提出的FFT運算方法,將長度為N的FFT預(yù)算降低到長度為N/2的FFT運算,從而提高了語音特征參數(shù)提取效率。
3、識別模式
語音識別的原理是模式匹配,通過計算現(xiàn)有語音模式與語音模板庫中的模板的距離,來獲得最佳的匹配模式。匹配的方法主要有DTW(動態(tài)時間規(guī)整)、HMM(隱馬爾科夫模型)和ANN(人工神經(jīng)元網(wǎng)絡(luò))。由于ANN計算量較大,因此不適合用于車載多媒體系統(tǒng)中,HMM需要繁雜的程序結(jié)構(gòu),包含眾多功能模塊,需要大量的計算。因此, DTW模式更適合用于車載多媒體系統(tǒng)中。能夠滿足車載系統(tǒng)孤立詞、小詞匯量的語音識別。
為了更好的在車在多媒體系統(tǒng)中的嵌入式平臺上實現(xiàn)DTW,對DTW進(jìn)行進(jìn)一步的改進(jìn):
(1)由于在語音識別匯總,對音頭和音尾的判斷存在一定的誤差,因此,使用傳統(tǒng)DTW方法在進(jìn)行固定端點匹配時會存在一定的誤差,從而降低了語音匹配成功率。為此,可以采用放寬端點限制的方法來使用DTW進(jìn)行語音識別。其主要的思路是取消傳統(tǒng)DTW中對音頭和音尾嚴(yán)格對其的限制。從而,只要兩次語音在開始的W幀內(nèi)能夠匹配成功,同時在結(jié)束的W幀內(nèi)匹配成功,即認(rèn)為兩次語音匹配成功。在降低了對端點檢測的精度要求,符合車載系統(tǒng)小詞匯量的特點,不會降低車載系統(tǒng)語音識別效率。
(2)在使用DTW進(jìn)行語音模板匹配時,需要計算兩個模板各幀的距離來計算模板之間的距離。加入模板庫中的某個模板T有N幀,待識別的語音R有M幀,那么通常需要申請M×N長度的空間,再根據(jù)兩個模板所有幀間距離計算整體長度。但是在實際的應(yīng)用中,只需要M長度的空間來存放模板T第n-1幀與模板R中M幀之間的距離,在計算完第n幀與模板R中M幀之間的距離對M長度空間的數(shù)據(jù)進(jìn)行替換,從而進(jìn)行模板T第n+1幀與模板R中M幀之間的距離,從而節(jié)省了(N-1)×M的存儲空間,這對車載系統(tǒng)有限存儲空間的系統(tǒng)中有著非常重要的意義。
4、結(jié)語
相比于傳統(tǒng)的按鈕式、觸摸屏式人機交互系統(tǒng),語音識別對于車載多媒體系統(tǒng)有著非常重要的意義,將是車載多媒體系統(tǒng)重要的發(fā)展方向,本文針對車載多媒體系統(tǒng)對低CPU運算時間和地存儲空間的特點,對語音識別中的端點檢測、語音特征參數(shù)提取以及識別模式的實現(xiàn)和優(yōu)化進(jìn)行了研究。
參考文獻(xiàn)
[1]方敏,浦劍濤,李成榮.嵌入式語音識別系統(tǒng)的研究和實現(xiàn)[J].中國信息學(xué)報,2004,(6):73~78.
[2]萬春,黃杰圣,曹煦暉.基于DTW的孤立詞語音識別研究和算法改進(jìn)[J].計算機與現(xiàn)代化,2005,(13):4~6.
篇11
嵌入式設(shè)備通常針對特定應(yīng)用而設(shè)計,只需要對幾十個詞的命令進(jìn)行識別,屬于小詞匯量語音識別系統(tǒng)。因此在語音識別技術(shù)的要求不在于大詞匯量和連續(xù)語音識別,而在于識別的準(zhǔn)確性與穩(wěn)健性。
對于嵌入式系統(tǒng)而言,還有許多其它因素需要考慮。首先是成本,由于成本的限制,一般使用定點DSP,有時甚至只能考慮使用MPU,這意味著算法的復(fù)雜度受到限制;其次,嵌入式系統(tǒng)對體積有嚴(yán)格的限制,這就需要一個高度集成的硬件平臺,因此,SoC(System on Chip)開始在語音識別領(lǐng)域嶄露頭角。SoC結(jié)構(gòu)的嵌入式系統(tǒng)大大減少了芯片數(shù)量,能夠提供高集成度和相對低成本的解決方案,同時也使得系統(tǒng)的可靠性大為提高。
語音識別片上系統(tǒng)是系統(tǒng)級的集成芯片。它不只是把功能復(fù)雜的若干個數(shù)字邏輯電路放入同一個芯片,做成一個完整的單片數(shù)字系統(tǒng),而且在芯片中還應(yīng)包括其它類型的電子功能器件,如模擬器件(如ADC/DAC)和存儲器。
筆者使用SoC芯片實現(xiàn)了一個穩(wěn)定、可靠、高性能的嵌入式語音識別系統(tǒng)。包括一套全定點的DHMM和CHMM嵌入式語音識別算法和硬件系統(tǒng)。
1 硬件平臺
本識別系統(tǒng)是在與Infineon公司合作開發(fā)的芯片UniSpeech上實現(xiàn)的。UniSpeech芯片是為語音信號處理開發(fā)的專用芯片,采用0.18μm工藝生產(chǎn)。它將雙核(DSP+MCU)、存儲器、模擬處理單元(ADC與DAC)集成在一個芯片中,構(gòu)成了一種語音處理SoC芯片。這種芯片的設(shè)計思想主要是為語音識別和語音壓縮編碼領(lǐng)域提供一個低成本、高可靠性的硬件平臺。
該芯片為語音識別算法提供了相應(yīng)的存儲量和運算能力。包括一個內(nèi)存控制單元MMU(Memory Management Unit)和104KB的片上RAM。其DSP核為16位定點DSP,運算速度可達(dá)到約100MIPS.MCU核是8位增強型8051,每兩個時鐘周期為一個指令周期,其時鐘頻率可達(dá)到50MHz。
UniSpeech芯片集成了2路8kHz采樣12bit精度的ADC和2路8kHz采樣11bit的DAC,采樣后的數(shù)據(jù)在芯片內(nèi)部均按16bit格式保存和處理。對于語音識別領(lǐng)域,這樣精度的ADC/DAC已經(jīng)可以滿足應(yīng)用。ADC/DAC既可以由MCU核控制,也可以由DSP核控制。
2 嵌入式語音識別系統(tǒng)比較
以下就目前基于整詞模型的語音識別的主要技術(shù)作一比較。
(1)基于DTW(Dynamic Time Warping)和模擬匹配技術(shù)的語音識別系統(tǒng)。目前,許多移動電話可以提供簡單的語音識別功能,幾乎都是甚至DTM和模板匹配技術(shù)。
DTW和模板匹配技術(shù)直接利用提取的語音特征作為模板,能較好地實現(xiàn)孤立詞識別。由于DTW模版匹配的運算量不大,并且限于小詞表,一般的應(yīng)用領(lǐng)域孤立數(shù)碼、簡單命令集、地名或人名集的語音識別。為減少運算量大多數(shù)使用的特征是LPCC(Linear Predictive Cepstrum Coefficient)運算。
DTW和模板匹配技術(shù)的缺點是只對特定人語音識別有較好的識別性能,并且在使用前需要對所有詞條進(jìn)行訓(xùn)練。這一應(yīng)用從20世紀(jì)90年代就進(jìn)入成熟期。目前的努力方向是進(jìn)一步降低成本、提高穩(wěn)健性(采用雙模板)和抗噪性能。
(2)基于隱含馬爾科夫模型HMM(Hidden Markov Model)的識別算法。這是Rabiner等人在20世紀(jì)80年代引入語音識別領(lǐng)域的一種語音識別算法。該算法通過對大量語音數(shù)據(jù)進(jìn)行數(shù)據(jù)統(tǒng)計,建立識別條的統(tǒng)計模型,然后從待識別語音中提取特征,與這些模型匹配,通過比較匹配分?jǐn)?shù)以獲得識別結(jié)果。通過大量的語音,就能夠獲得一個穩(wěn)健的統(tǒng)計模型,能夠適應(yīng)實際語音中的各種突況。因此,HMM算法具有良好的識別性能和抗噪性能。
基于HMM技術(shù)的識別系統(tǒng)可用于非特定人,不需要用戶事先訓(xùn)練。它的缺點在于統(tǒng)計模型的建立需要依賴一個較大的語音庫。這在實際工作中占有很大的工作量。且模型所需要的存儲量和匹配計算(包括特征矢量的輸出概率計算)的運算量相對較大,通常需要具有一定容量SRAM的DSP才能完成。
在嵌入式語音識別系統(tǒng)中,由于成本和算法復(fù)雜度的限制,HMM算法特別CHMM(Continuous density HMM)算法尚未得到廣泛的應(yīng)用。
(3)人工神經(jīng)網(wǎng)絡(luò)ANN(Artificial Neural Network)。ANN在語音識別領(lǐng)域的應(yīng)用是在20世紀(jì)80年代中后期發(fā)展起來的。其思想是用大量簡單的處理單元并行連接構(gòu)成一種信息處理系統(tǒng)。這種系統(tǒng)可以進(jìn)行自我更新,且有高度的并行處理及容錯能力,因而在認(rèn)知任務(wù)中非常吸引人。但是ANN相對于模式匹配而言,在反映語音的動態(tài)特性上存在重大缺陷。單獨使用ANN的系統(tǒng)識別性能不高,所以目前ANN通常在多階段識別中與HMM算法配合使用。
3 基于HMM的語音識別系統(tǒng)
下面詳細(xì)介紹基于HMM的語音識別系統(tǒng)。首先在UniSpeech芯片上實現(xiàn)了基于DHMM的識別系統(tǒng),然后又在同一平臺上實現(xiàn)了基于CHMM的識別系統(tǒng)。
3.1 前端處理
語音的前端處理主要包括對語音的采樣、A/D變換、分幀、特片提取和端點檢測。
模擬語音信號的數(shù)字化由A/D變換器實現(xiàn)。ADC集成在片內(nèi),它的采樣頻率固定為8kHz。
特征提取基于語音幀,即將語音信號分為有重疊的若干幀,對每一幀提取一次語音特片。由于語音特征的短時平穩(wěn)性,幀長一般選取20ms左右。在分幀時,前一幀和后一幀的一部分是重疊的,用來體現(xiàn)相鄰兩幀數(shù)據(jù)之間的相關(guān)性,通常幀移為幀長的1/2。對于本片上系統(tǒng),為了方便做FFT,采用的幀長為256點(32ms),幀移為128點(16ms)。
特征的選擇需要綜合考慮存儲量的限制和識別性能的要求。在DHMM系統(tǒng)中,使用24維特征矢量,包括12維MFCC(Mel Frequency Cepstrum Coefficient)和12維一階差分MFCC;在CHMM系統(tǒng)中,在DHMM系統(tǒng)的基礎(chǔ)上增加了歸一化能量、一階差分能量和二階差分能量3維特征,構(gòu)成27維特征矢量。對MFCC和能量分別使用了倒譜均值減CMS(Cepstrum Mean Subtraction)和能量歸一化ENM(Energy Normalization)的處理方法提高特征的穩(wěn)健性。
3.2 聲學(xué)模型
在HMM模型中,首先定義了一系列有限的狀態(tài)S1…SN,系統(tǒng)在每一個離散時刻n只能處在這些狀態(tài)當(dāng)中的某一個Xn。在時間起點n=0時刻,系統(tǒng)依初始概率矢量π處在某一個狀態(tài)中,即:
πi=P{X0=Si},i=1..N
以后的每一個時刻n,系統(tǒng)所處的狀態(tài)Xn僅與前一時刻系統(tǒng)的狀態(tài)有關(guān),并且依轉(zhuǎn)移概率矩陣A跳轉(zhuǎn),即:
系統(tǒng)在任何時刻n所處的狀態(tài)Xn隱藏在系統(tǒng)內(nèi)部,并不為外界所見,外界只能得到系統(tǒng)在該狀態(tài)下提供的一個Rq空間隨機觀察矢量On。On的分布B稱為輸出概率矩陣,只取決于Xn所處狀態(tài):
Pxn=Si{On}=P{On|Si}
因為該系統(tǒng)的狀態(tài)不為外界所見,因此稱之為“穩(wěn)含馬爾科夫模型”,簡稱HMM。
在識別中使用的隨機觀察矢量就是從信號中提取的特征矢量。按照隨機矢量Qn的概率分布形時,其概率密度函數(shù)一般使用混合高斯分布擬合。
其中,M為使用的混合高斯分布的階數(shù),Cm為各階高期分布的加權(quán)系數(shù)。此時的HMM模型為連續(xù)HMM模型(Continuous density HMM),簡稱CHMM模型。在本識別系統(tǒng)中,采用整詞模型,每個詞條7個狀態(tài)同,包括首尾各一個靜音狀態(tài);每個狀態(tài)使用7階混合高斯分布擬合。CHMM識別流程如圖1所示。
由于CHMM模型的復(fù)雜性,也可以假定On的分布是離散的。通常采用分裂式K-Mean算法得到碼本,然后對提取的特征矢量根據(jù)碼本做一次矢量量化VQ(Vector Quantization)。這樣特征矢量的概率分布上就簡化為一個離散的概率分布矩陣,此時的HMM模型稱為離散HMM模型(Discrete density HMM),簡稱DHMM模型。本DHMM識別系統(tǒng)使用的碼本大小為128。DHMM識別流程如圖2所示。
DHMM雖然增加了矢量量化這一步驟,但是由于簡化了模型的復(fù)雜度,從而減少了占用計算量最大的匹配計算。當(dāng)然,這是以犧牲一定的識別性能為代價。
筆者先后自己的硬件平臺上完成了基于DHMM和CHMM的識別系統(tǒng)。通過比較發(fā)現(xiàn),對于嵌入式平臺而言,實現(xiàn)CHMM識別系統(tǒng)的關(guān)鍵在于芯片有足夠運算太多的增加。因為詞條模型存儲在ROM中,在匹配計算時是按條讀取的。
3.3 識別性能
筆者使用自己的識別算法分別對11詞的漢語數(shù)碼和一個59詞的命令詞集作了實際識別測試,識別率非常令人滿意,如表1所示。
表1 漢語數(shù)碼識別率
DHMMCHMM特征矢量維數(shù)2427識別率93.40%98.28%識別速度(11詞)10ms50ms模型大小(1個詞條)1.5KB<5.5KB碼本6KB無對于59詞命令詞集的識別,還增加了靜音模型。由于基線的識別率已經(jīng)很高,所以靜音模型的加入對于識別率的進(jìn)一步提高作用不大,如表2所示。但靜音模型的加入可以降低對端點判斷的依賴。這在實際使用中對系統(tǒng)的穩(wěn)健性有很大的提高。
表2 59詞命令詞集識別率
篇12
The Design of Embedded Voice Recognition System Based on HTK in Pigs
YUAN Rui-lin ,ZHANG Qi-ming,WANG Feng,F(xiàn)AN Fan
(1.College of Information Engineering, Taiyuan University of Technology, Jinzhong 030600,China)
Abstract: In order to detect the abnormal state of pigs, this paper designs a pig voice recognition system based on embedded platform, the system uses S3C2440 chip microprocessor, the Linux operating system, using QT as the display interface, and through transplantation based on Hidden Markov model algorithm for speech recognition toolbox HTK, realizes the automatic identification of pigs in different states sound. The experimental results show that the system achieves the desired experimental results.
Key words: voice recognition; S3C2440; HMM; HTK; embedded
現(xiàn)代集約化的養(yǎng)豬場規(guī)模越來越大,自動化和無人值守的水平日益提高,對豬場的狀態(tài)監(jiān)測提出了很高的要求,而豬的聲音信息可以很好地反映豬的狀態(tài),為飼養(yǎng)員判斷豬只的狀態(tài)提供參考。聲音識別作為模式識別的重要研究內(nèi)容,近二十年來發(fā)展迅速,語音技術(shù)的應(yīng)用已經(jīng)成為一個具有競爭性的新興高技術(shù)產(chǎn)業(yè)。隨著計算機技術(shù)與電子技術(shù)的發(fā)展,嵌入式系統(tǒng)的應(yīng)用領(lǐng)域越來越廣,基于嵌入式平臺的聲音識別技術(shù)發(fā)展備受關(guān)注。由英國劍橋大學(xué)工程系開發(fā)的、由眾多函數(shù)庫和工具組成的聲音識別工具箱HTK(Hidden Markov Model Toolkit),經(jīng)過不斷地發(fā)展和改進(jìn),得到了廣泛使用,在嵌入式平臺上移植開源的HTK可以縮短開發(fā)周期,節(jié)約成本。本文主要介紹了一種通過移植HTK應(yīng)用于檢測和識別豬只不同狀態(tài)聲音的嵌入式系統(tǒng)實現(xiàn)的整個過程。
1 實現(xiàn)原理
1.1 聲音識別基本原理
關(guān)于豬只聲音識別的算法,我們主要采用目前在聲音信號處理的各個領(lǐng)域使用最為廣泛的隱馬爾可夫模型(HMM)算法。HMM算法是一種屬于模板匹配類型的模式識別方法,即按照一定的相似度測度準(zhǔn)則,使未知的聲音模型與參考模型庫作比較,以最大輸出概率的一個模型作為識別結(jié)果。
在語音識別系統(tǒng)設(shè)計中,將每一種豬只狀態(tài)作為一個基本元,并建立對應(yīng)的HMM。HMM是一個輸出符號序列的雙重隨機過程,假設(shè)具有N種狀態(tài)S1,S2,S2,…,SN,在一定時間從某一個狀態(tài)轉(zhuǎn)移到另一個狀態(tài)并且會輸出一個符號序列。狀態(tài)轉(zhuǎn)移結(jié)果由初始狀態(tài)概率π和狀態(tài)轉(zhuǎn)移概率矩陣A決定,輸出的符號序列由觀察值概率矩陣B決定。
在本文中,我們設(shè)定了具有6個轉(zhuǎn)移狀態(tài)的HMM模型,如圖1所示。其中,S1和S6分別稱為開始狀態(tài)和結(jié)束狀態(tài),它們無觀察函數(shù),稱為非發(fā)散狀態(tài);S2至S5這4個狀態(tài)稱為活動狀態(tài)。HMM的狀態(tài)轉(zhuǎn)換圖如下所示,其中aij為從狀態(tài)i到狀態(tài)j的轉(zhuǎn)移概率,bi為狀態(tài)i轉(zhuǎn)移時的輸出概率。
1.2 硬件組成
本嵌入式系統(tǒng)硬件采用Samsung公司推出的S3C2440芯片為核心,它是基于ARM920T的32位RISC微處理器,其主頻為400MHZ,并且具有低功耗、高性能、高集成度等優(yōu)點。豬只聲音通過克風(fēng)聲音傳感器采集回來,再經(jīng)過數(shù)字音頻編譯碼器進(jìn)行處理。嵌入式音頻系統(tǒng)的CODEC采用Philips公司生產(chǎn)的UDA1341芯片,它提供標(biāo)準(zhǔn)的IIS接口,可與S3C2440內(nèi)置的IIS接口直接相連。音頻驅(qū)動程序采用ALSA體系,由它提供的音頻編程API接口,可以對聲卡進(jìn)行控制,設(shè)置采樣頻率、聲道數(shù)目等參數(shù),并完成對聲卡的讀出數(shù)據(jù)及寫入數(shù)據(jù)等操作。系統(tǒng)的其他模塊還有64M的SDRAM、256M的Nand Flash、MIC輸入接口、耳機輸出接口、電源模塊等。
圖 2 硬件結(jié)構(gòu)圖
1.3 軟件設(shè)計
在軟件設(shè)計部分,首先采用自行編寫的錄音程序?qū)⒇i只聲音保存為WAVE波形文件格式。再利用HTK所提供的數(shù)據(jù)準(zhǔn)備工具、HMM模型訓(xùn)練工具、識別工具和結(jié)果分析工具來實現(xiàn)豬只聲音信號的特征提取、訓(xùn)練、識別等過程。軟件結(jié)構(gòu)如下圖所示:
圖 3 軟件設(shè)計結(jié)構(gòu)圖
2 嵌入式系統(tǒng)設(shè)計
以Linux為內(nèi)核的嵌入式操作系統(tǒng)的設(shè)計,分為引導(dǎo)程序Bootloader的移植、內(nèi)核的移植、文件系統(tǒng)(包含應(yīng)用程序)的移植三大部分。本設(shè)計中Bootloader采用開發(fā)板自帶的Uboot,故本文重點介紹內(nèi)核的移植及文件系統(tǒng)和應(yīng)用程序的移植。
2.1 交叉編譯平臺搭建
2.1.1 交叉編譯簡介
由于嵌入式平臺處理能力及存儲空間等資源的限制,需要在PC上利用交叉編譯工具鏈對需要下載到ARM平臺的文件進(jìn)行交叉編譯。本設(shè)計以ARM-Linux平臺作為運行環(huán)境,故所選交叉編譯工具鏈為arm-linux-gcc。
2.1.2 交叉編譯工具安裝過程
在PC主機上安裝交叉編譯工具鏈的主要步驟為:
① 下載交叉編譯工具鏈arm-linux-gcc-4.3.2.tgz,并在/usr/local下建立arm文件夾:#mkdir /usr/local/arm。
② 將文件解壓縮:#tar xzvf arm-linux-gcc-4.3.2.tgz -C /usr/local/arm。
③ 添加環(huán)境變量,在profile文件中添加:export PATH=/usr/local/arm/4.3.2/bin:$PATH。
2.2 內(nèi)核的移植
2.2.1 內(nèi)核簡介
內(nèi)核是嵌入式操作系統(tǒng)的核心,內(nèi)核主要由進(jìn)程調(diào)度、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡(luò)接口和通訊進(jìn)程等組成。Linux內(nèi)核具有代碼開源、體積小、效率高、易裁剪等優(yōu)點。本文中我們采用嵌入式Linux 2.6.31版本內(nèi)核作為移植對象,并結(jié)合聲音識別平臺硬件的需要進(jìn)行相應(yīng)的配置。
2.2.2 內(nèi)核安裝過程
內(nèi)核移植的主要步驟為:
①在官網(wǎng)上下載linux-2.6.31.tar.bz2內(nèi)核源碼。
②修改編譯配置文件Makefile,指定系統(tǒng)硬件框架及交叉編譯工具:
ARCH ? = arm
CROSS_COMPILE ?= arm-linux-
③在PC上Linux操作系統(tǒng)下進(jìn)入圖4所示的圖形化配置界面,打開S3C2440的默認(rèn)配置文件后,再進(jìn)入"System Type"選項單,配置選中以下幾項:
2.3 文件系統(tǒng)的設(shè)計
文件系統(tǒng)是操作系統(tǒng)的重要組成部分, Linux文件系統(tǒng)具有一些固定格式和功能的目錄。文件系統(tǒng)制作的主要過程是創(chuàng)建系統(tǒng)的各個目錄以及在這些目錄下添加各種文件,由于創(chuàng)建目錄部分無特別之處,故在下文中我們重點介紹在文件系統(tǒng)中如何添加本設(shè)計中所需要的應(yīng)用程序。
2.3.1 HTK的編譯
由于嵌入式平臺資源的限制,在ARM平臺主要完成豬只聲音的識別工作,而聲音模型的建立,即訓(xùn)練過程需要在PC平成。因此整個系統(tǒng)搭建分為PC平臺和ARM平臺兩大部分。由于針對于宿主機的編譯過程和針對ARM-Linux平臺的類似,這里只介紹過程相對復(fù)雜的交叉編譯過程,主要步驟如下:
①在HTK官網(wǎng):http://htk.eng.cam.ac.uk/download.shtml下載HTK-3.4.1.tar.gz源碼包。
②Linux下運行解壓后文件夾下configure程序,生成Makefile文件:
./configure - prefix=/home/yrl/HTK1。
③修改源碼包下HTKLib文件夾中的編譯配置Makefile文件使其針對ARM平臺,并移除一些嵌入式平臺不需要的庫文件,修改如下:
CC = gcc
CFLAGS := $(CFLAGS) -ansi -D_SVID_SOURCE -DOSS_AUDIO -D'ARCH="i686"' -Wall -Wno-switch -g -O2 -
RANLIB = ranlib
objects = HGraf.o esig_asc.o \
lvobjects = $(basename HGraf.o).lv.o esig_asc.lv.o \
修改為:
CC = arm-linux-gcc
CFLAGS := $(CFLAGS) -ansi -D_SVID_SOURCE -DOSS_AUDIO -D'ARCH="arm"' -Wall -Wno-switch -g -O2 -
RANLIB =arm-linux-ranlib
objects = esig_asc.o \
lvobjects = esig_asc.lv.o \
修改完成后保存,運行:make。
④與第③步類似,修改HTKTools文件夾下的Makefile文件,修改完保存退出。
Linux下運行:make
make install。
⑤編譯完成后,將在HTKTools文件夾下生成所有可執(zhí)行程序中的用于提取MFCC特征的工具HCopy和用于識別的工具HVite添加到文件系統(tǒng)的/usr/bin目錄下即可。
2.3.2 HTK的應(yīng)用
在采集豬只聲音后,使用HTK所提供的與聲音識別相關(guān)的工具集構(gòu)建系統(tǒng)時,根據(jù)圖3中所示的軟件工具完成聲音數(shù)據(jù)的標(biāo)記并提取MFCC特征,使用基于前向后向算法的工具HInit和Hcompv及基于Baum-Welch算法的HRest完成聲學(xué)模型的訓(xùn)練。在識別時,使用HVite將提取好的測試數(shù)據(jù)的MFCC特征與聲學(xué)模型比較,得出識別結(jié)果。構(gòu)建好豬只聲音系統(tǒng)后,利用HResults對本系統(tǒng)進(jìn)行性能評估,可得到測評結(jié)果及相關(guān)信息。
2.3.3 QT程序的設(shè)計
為了便于在ARM上顯示結(jié)果并且方便測試,我們設(shè)計了Qt程序,并將編寫好的程序利用Qt Embedded編譯器編譯成ARM-Linux平臺的可執(zhí)行程序,添加到文件系統(tǒng)中。在Qt程序中,嵌入編譯好的聲音識別可執(zhí)行程序,同時為了方便單次測試,在界面中加入了QPushButton部件,當(dāng)按鈕被點擊時,根據(jù)設(shè)計的“信號與槽”機制便會觸發(fā)聲音采集程序,進(jìn)行識別。進(jìn)行一次測試后,Qt識別界面如下圖所示:
3 結(jié)束語
本設(shè)計通過移植較為成熟的開源工具箱HTK,并且合理地進(jìn)行軟硬件裁剪,成功實現(xiàn)了豬只異常聲音在嵌入式平臺的檢測和識別。經(jīng)過實驗驗證,準(zhǔn)確率和處理速度均較為理想,具有很好的推廣價值。
參考文獻(xiàn):
[1] 韋東山. 嵌入式 Linux應(yīng)用開發(fā)完全手冊[M].北京: 人民郵電出版社,2008.
[2] 張懿. 構(gòu)造廉價的ARM9開發(fā)平臺[J].單片機與嵌入式系統(tǒng)應(yīng)用,2007(5):70-75.
[3] 布蘭切特,薩默菲爾德.C++ GUI Qt4 編程[M].閆鋒欣,曾泉人,張志強,譯.2版.北京:電子工業(yè)出版社,2013.
[4] 楊成.嵌入式語音識別平臺及優(yōu)化研究[D].華南理工大學(xué),2010.
[5] 胡航.語音信號處理[M].哈爾濱工業(yè)大學(xué)出版社,2000.
篇13
1.引言
非法語音業(yè)務(wù)的出現(xiàn),不僅擠占了正常帶寬,導(dǎo)致語音業(yè)務(wù)收入大幅度降低,同時通信質(zhì)量也得不到有效保證,影響了用戶的利益。基于上述原因,語音系統(tǒng)的信息過濾與分析就具有十分重要的意義,迫切需要一種能有效識別應(yīng)用和跟蹤的方案。本系統(tǒng)是根據(jù)網(wǎng)絡(luò)正常行為而進(jìn)行設(shè)計的,可有效監(jiān)測到語音信號的通信,在保障網(wǎng)絡(luò)安全上起到了重要的作用。論文參考網(wǎng)。
2. 系統(tǒng)開發(fā)平臺
此系統(tǒng)是在Linux操作系統(tǒng)下進(jìn)行開發(fā),主要用到Linux2.6內(nèi)核版本[1]操作系統(tǒng)本身所帶的Netfilter防火墻框架[2]。由于Linux操作系統(tǒng)具有穩(wěn)定、靈活的特點以及其提供的優(yōu)秀防火墻框架,用戶可以根據(jù)自己的實際需要,將防火墻設(shè)計的一般理論和方法與自己系統(tǒng)的具體情況相結(jié)合,設(shè)計出新的可實用的安全防護(hù)系統(tǒng)。
3. 采用方法
在眾多的網(wǎng)絡(luò)安全技術(shù)中,防火墻使用最為廣泛,其中最為關(guān)鍵的技術(shù)包括數(shù)據(jù)包的捕獲、數(shù)據(jù)包的過濾、歷史記錄的存儲。隨著技術(shù)的發(fā)展和要求的提高,防火墻在被大眾接受的同時也顯露出不足。近幾年來,深度包檢測技術(shù)和協(xié)議分析技術(shù)的出現(xiàn)使得網(wǎng)絡(luò)分析更加準(zhǔn)確、有效。
3.1深度包檢測技術(shù)
深度包檢測技術(shù)[3]是包過濾技術(shù)的深入,所謂深度是和普通的報文解析技術(shù)比較而言的,普通報文檢測僅能分析出數(shù)據(jù)包中簡單的信息,而它除了對前面的層次進(jìn)行分析外,還增加了應(yīng)用層分析,能夠識別各種應(yīng)用及其內(nèi)容,具有漏檢率低、防御能力強的特點。
3.2協(xié)議分析技術(shù)
協(xié)議分析技術(shù)[4]需要對每一種協(xié)議(主要是應(yīng)用層協(xié)議)編寫一段協(xié)議檢測的代碼,例如HTTP協(xié)議分析模塊主要對HTTP進(jìn)行解碼分析,并檢測對WEB服務(wù)器的攻擊。雖然不同的協(xié)議有不同的分析代碼,但它們都遵照相同的檢測思路——將報文分解成域,然后對每一個域進(jìn)行檢查,與預(yù)期的值進(jìn)行比較,若有異常則發(fā)出警報。
下面通過一個具體的例子闡述基于協(xié)議分析的系統(tǒng)是如何進(jìn)行入侵檢測的,假設(shè)系統(tǒng)要檢測一個HTTP協(xié)議包中是否包含/hidden/admin/,如果存在則認(rèn)為是一次入侵攻擊,檢測過程如下:
(1)解碼IP包頭文件,確定IP包有效負(fù)載所包含的協(xié)議;
(2)如果是TCP包,則解碼TCP頭文件,尋找TCP的目的端口;
(3)如果端口為80,即這是一個HTTP協(xié)議包,則根據(jù)HTTP協(xié)議規(guī)則分析HTTP包中所有的成分,從中提取出URL路徑;
(4)對URL路徑進(jìn)行處理,避免路徑欺騙;
(5)查找是否存在與 “/hidden/admin/”一致的路徑,如果存在則向系統(tǒng)發(fā)出警報。
從上面可以看出,運用字符串特征識別,就能很準(zhǔn)確地判斷出數(shù)據(jù)包是否滿足我們所設(shè)定的條件,如果是,則按照預(yù)先設(shè)定的規(guī)則進(jìn)行處理。
4. 系統(tǒng)研究及設(shè)計
識別和跟蹤系統(tǒng)的設(shè)計主要分成三部分,首先是對語音類應(yīng)用的協(xié)議進(jìn)行分析,歸納出協(xié)議中的特征字,編寫出能識別該協(xié)議的正則表達(dá)式[5],使用Netfilter中的L7-filter模塊,運用正則表達(dá)式對協(xié)議進(jìn)行識別,并通過數(shù)據(jù)包過濾情況進(jìn)行驗證;使用iptables的ULOG日志記錄、MySql數(shù)據(jù)庫,通過監(jiān)測數(shù)據(jù)流的狀態(tài),對應(yīng)用行為的過程進(jìn)行跟蹤;通過分析數(shù)據(jù)庫中的日志記錄,可以對應(yīng)用行為進(jìn)行統(tǒng)計和控制。論文參考網(wǎng)。
4.1語音聊天識別模塊設(shè)計
語音聊天時會在數(shù)據(jù)包中表現(xiàn)出一些特定的規(guī)則,這些規(guī)則可以由正則表達(dá)式進(jìn)行描述。安裝L7-filter并編譯內(nèi)核[6],使用iptables工具進(jìn)行添加、刪除、編輯過濾規(guī)則,利用規(guī)則操作數(shù)據(jù)包并將過濾包的詳細(xì)信息記錄到系統(tǒng)日志文件中,日志記錄在/var/log/messenges中。由于該框架運行在服務(wù)器網(wǎng)關(guān),服務(wù)器需要對流經(jīng)系統(tǒng)的所有數(shù)據(jù)包進(jìn)行檢測,這樣將規(guī)則定義在PREROUTING鏈上最為合適,識別模塊的流程如圖1所示:
圖1 語音聊天識別模塊設(shè)計流程
我們以語音聊天工具qq為例,具體的實現(xiàn)命令如下:
iptables–F //清空所有鏈表
iptables –tmangle –I PREROUTING –m layer7 –l7proto qqtalk -j LOG --log–prefix“qqtalk” //允許符合正則表達(dá)式qqtalk的數(shù)據(jù)包進(jìn)入系統(tǒng)并在日志文件中以“qqtalk” 標(biāo)識
iptables –tmangle –L –v //查看數(shù)據(jù)包匹配情況
日志文件messages中記錄了iptables匹配數(shù)據(jù)包的結(jié)果,通過查看日志文件,可以清楚的看到所匹配數(shù)據(jù)包的記錄情況。
4.2語音聊天跟蹤模塊設(shè)計
協(xié)議跟蹤就是跟蹤應(yīng)用中關(guān)鍵事件動作的發(fā)生,通過數(shù)據(jù)庫顯示出來,Netfilter本身自帶了五個鏈用于存儲規(guī)則,但我們可以創(chuàng)建新的單獨鏈對各種協(xié)議進(jìn)行處理,這樣做可以更具有針對性,而且也不復(fù)雜。我們以語音聊天工具qq為例,新建一條qqtalk規(guī)則鏈的命令為:
iptables –Nqqtalkchain
將匹配qqtalk正則表達(dá)式的數(shù)據(jù)包轉(zhuǎn)發(fā)到新建的qqtalkchain規(guī)則鏈:
iptables –IFORWARD –m layer7 –l7proto qqtalk –j qqtalkchain
研究應(yīng)用通信過程可以看到,在關(guān)鍵事件發(fā)生時,一般都伴隨著某些特征字的出現(xiàn),例如qq發(fā)起語音聊天時出現(xiàn)的“INVITE”,取消時出現(xiàn)的“CANCEL”等,這就需要用到iptables中的string模塊,使用字符串匹配的命令為:
iptables –tmangle –m string -algo kmp --string “CANCEL” -j ULOG --ulog –prefix “cancel”
5. 實驗環(huán)境搭建及測試
5.1實驗環(huán)境搭建
本實驗將語音類應(yīng)用識別與跟蹤系統(tǒng)部署在雙網(wǎng)卡服務(wù)器上,該主機用eth0作為外部網(wǎng)絡(luò)接口,與學(xué)校網(wǎng)絡(luò)相連;用eth1作為本地局域網(wǎng)的網(wǎng)關(guān)地址。客戶機運行語音聊天軟件和抓包軟件Wireshark。服務(wù)器和客戶機的環(huán)境配置見表1: