中文字幕日韩人妻|人人草人人草97|看一二三区毛片网|日韩av无码高清|阿v 国产 三区|欧洲视频1久久久|久久精品影院日日

語音識別系統(tǒng)匯總十篇

時間:2023-03-07 14:56:53

序論:好文章的創(chuàng)作是一個不斷探索和完善的過程,我們?yōu)槟扑]十篇語音識別系統(tǒng)范例,希望它們能助您一臂之力,提升您的閱讀品質(zhì),帶來更深刻的閱讀感受。

語音識別系統(tǒng)

篇(1)

一、引言

根據(jù)語音識別系統(tǒng)所使用的環(huán)境和平臺不同,語音識別技術(shù)朝著兩個方向發(fā)展:一個方向是大詞匯量的連續(xù)語音識別,該方向所處理的語音較為復(fù)雜;另一個方向就是向著中小詞匯量的孤立詞匯語音識別,該方向所處理的語音相對較為簡單,應(yīng)用范圍也有一定的限制,如玩具、語音導(dǎo)航等。雖然簡單語音識別系統(tǒng)對于能識別的詞匯量沒有太高的要求,但是目前的一些簡單語音識別系統(tǒng)的識別速度慢、識別率較低,導(dǎo)致用戶體驗較差。

二、語音識別系統(tǒng)原理

語音識別在本質(zhì)上屬于模式識別的范疇,其系統(tǒng)結(jié)構(gòu)與模式識別具有相似之處:根據(jù)相關(guān)的識別算法對語音信號進(jìn)行特征參數(shù)的提取,然后先進(jìn)行學(xué)習(xí)后再對語音信號進(jìn)行識別。在學(xué)習(xí)階段,通過給出的訓(xùn)練數(shù)據(jù)建立起參考模板庫;在識別階段,將待識別語音信號的特征參數(shù)與參考模板庫中的參數(shù)進(jìn)行對比,得到與待識別語音信號最接近的模板,輸出該模板作為語音識別的結(jié)果。

三、簡單語音識別系統(tǒng)的改進(jìn)與實現(xiàn)

DTW在簡單語音識別中已經(jīng)可以達(dá)到較高的識別率,因此本文選擇DTW作為語音識別的模式匹配算法,并對端點檢測進(jìn)行一定的改進(jìn)來實現(xiàn)語音識別系統(tǒng)的設(shè)計。

3.1端點檢測的改進(jìn)

在進(jìn)行端點檢測前,為短時平均能量和短時過零率設(shè)定兩個門限值。在靜音段,當(dāng)短時平均能量或短時過零率大于低門限值,則開始準(zhǔn)備標(biāo)記語音起點,由此進(jìn)入過渡段。但是在過渡段中并不能確定是否真正進(jìn)入語音段,當(dāng)短時平均能量和短時過零率都小于低門限值時認(rèn)為是噪音,并不記錄語音起點,恢復(fù)為靜音段;當(dāng)短時平均能量或短時過零率大于高門限值,則認(rèn)為是真正的語音片段,將狀態(tài)進(jìn)入語音段。進(jìn)入語音段后還要記錄語音段持續(xù)時間,若該段時間較短則認(rèn)為是噪聲,繼續(xù)檢測后面的語音,如果滿足一定的時間長度則標(biāo)記語音起點并將其記錄為一段語音。

3.2DTW的改進(jìn)

DTW的核心思想是進(jìn)行動態(tài)規(guī)劃,從而解決了語音識別中的發(fā)音長度不一致的匹配問題。在進(jìn)行DTW時,通過動態(tài)匹配找到一個最佳路徑,把語音信號的特征參數(shù)通過這條最佳路徑映射到參考模板庫中,這條最佳路徑要求語音信號和參考模板之間的累積距離最小。

經(jīng)典的DTW算法規(guī)定待識別語音信號和模板中信號的首尾必須完全一致,但是端點檢測確定的首尾與實際存在一定的誤差,造成識別率有所下降。為此,可以對DTW的端點的限制適當(dāng)放寬。即允許起點在(0,0)、(0,m)或者(n,0)上,終點在(N,M)、(N,J)或者(I,M)上。端點要求放寬后對端點檢測精度的要求就降低了,提高了識別的速度和精度。

雖然語音的速度不同,但是語序是確定不變的,因此路徑中每一點的斜率必然大于0。而為了防止過度搜素浪費資源,可以對搜索路徑的斜率加以限制,由于語音信號的擴(kuò)壓是有限的,因此可以舍去那些向X軸或者Y軸過度傾斜的路徑。具體做法是:將搜索路徑中每個點的最大斜率設(shè)為2,最小斜率設(shè)為0.5,這樣就可以大大降低搜索范圍,減少了計算量,提高了識別速度。

另外,還可以在進(jìn)行相似度匹配時設(shè)定一個合理的閾值,如果計算出的某一部分的相似度與該閾值相差太遠(yuǎn),則立即認(rèn)為待識別語音與當(dāng)前模板不匹配,轉(zhuǎn)而進(jìn)入與下一個模板的相似度計算,這樣就可以減少大量的計算量,從而提高簡單語音識別的速度。

3.3實驗及數(shù)據(jù)

在實驗室較安靜的環(huán)境下對男女聲識別進(jìn)行了測試。發(fā)音內(nèi)容為0~9的數(shù)字,采樣率為24KHz,幀長20ms,幀移10ms,識別正確率達(dá)到了95%以上,原DTW算法的孤立字識別時間是6~7s,而采用本文改進(jìn)算法的識別時間減少到2~5s。因此,本文方法可以實現(xiàn)快速準(zhǔn)確的簡單語音識別。

四、結(jié)束語

采用本文方法可以有效提高端點檢測的精度、語音識別的正確率和識別速度,該方法完全滿足簡單語音識別系統(tǒng)的應(yīng)用。

參考文獻(xiàn)

篇(2)

1 引言

語音識別按不同的角度有以下幾種分類方法:從所要識別的單位,有孤立詞識別、音素識別、音節(jié)識別、孤立句識別、連續(xù)語音識別和理解。目前已進(jìn)入識別的語音識別系統(tǒng)是單詞識別。以幾百個單詞為限定識別對象。從識別的詞匯量來分。有小詞匯(10-50個)、中詞匯(50-200個)、大詞匯(200以上)等。從講話人的范圍來分。有單個特定講話人、多講話人和與講話者者無關(guān)。特定講話人比較簡單,能夠得到較高的識別率。后兩者難度較大,不容易得到高的識別率。 從識別的方法分。有模塊匹配法、隨機模型法和概率語法分析法。這三種都屬于統(tǒng)計模式識別方法。

2 系統(tǒng)硬件及組成

2.1 系統(tǒng)概述

語音識別系統(tǒng)的典型實現(xiàn)方案如圖1所示。輸入的模擬語音信號首先要進(jìn)行預(yù)處理,語音信號經(jīng)過預(yù)處理后,接下來重要的一環(huán)就是特征參數(shù)提取,其目的是從語音波形中提取出隨時間變化的語音特征序列。然后建立聲學(xué)模型,在識別的時候?qū)⑤斎氲恼Z音特征同聲學(xué)模型進(jìn)行比較,得到最佳的識別結(jié)果。

2.2 硬件構(gòu)成

本文采用DSP芯片為核心(圖2所示),系統(tǒng)包括直接雙訪問快速SRAM、一路ADC/一路DAC及相應(yīng)的模擬信號放大器和抗混疊濾波器。外部只需擴(kuò)展FLASH存儲器、電源模塊等少量電路即可構(gòu)成完整系統(tǒng)應(yīng)用。

2.3 系統(tǒng)主要功能模塊構(gòu)成

語音處理模塊采用TI TMS320VC5402, TMS320VC5402含4 KB的片內(nèi)ROM和16 KB的雙存取RAM,一個HPI(HostPortInterface)接口,二個多通道緩沖單口MCBSP(Multi-Channel Buffered SerialPort),單周期指令執(zhí)行時間10 ns,帶有符合IEEE1149.1標(biāo)準(zhǔn)的JTAG邊界掃描仿真邏輯。語音輸入、輸出的模擬前端采用TI公司的TLC320ADSOC,它是一款集成ADC和DAC于一體的模擬接口電路,并且與DSP接口簡單,性能高、功耗低,已成為當(dāng)前語音處理的主流產(chǎn)品。16位數(shù)據(jù)結(jié)構(gòu),音頻采樣頻率為2~22.05 kHz,內(nèi)含抗混疊濾波器和重構(gòu)濾波器的模擬接口芯片,還有一個能與許多DSP芯片相連的同步串行通信接口。TLC320AD50C片內(nèi)還包括一個定時器(調(diào)整采樣率和幀同步延時)和控制器(調(diào)整編程放大增益、鎖相環(huán)PLL、主從模式)。TLC320AD50C與TMS320VC5402的硬件連接,如圖3所示。

3 結(jié)論

本文以TMS320VC5402芯片為核心的系統(tǒng)硬件設(shè)計迸行了研究,通過TLC320AD50C對語音信號進(jìn)行A/D轉(zhuǎn)換,通過TMS320VC5402對語音信號“0”、“1”、“2”進(jìn)行訓(xùn)練和識別,并由對于燈LED0、LED1、LED2亮來顯示結(jié)果是否正確;該系統(tǒng)核心識別算法采用動態(tài)時間規(guī)整(DTW)算法,主要流程包括預(yù)處理、端點檢測、提取特征值、模式匹配和模板訓(xùn)練,取得了很好的識別效果。

參考文獻(xiàn)

[1] 朱銘鋯, 趙勇, 甘泉. DSP應(yīng)用系統(tǒng)設(shè)計 [M].北京:電子工業(yè)出版社,2002.

[2] 郭華. 自適應(yīng)濾波算法及應(yīng)用研究[D].蘭州:西北師范大學(xué),2007.

[3] 張雄偉..DSP芯片的原理與開發(fā)應(yīng)用[M].北京:電子工業(yè)出版社,2009.

[4] 張德豐. 數(shù)字圖象處理(MATLAB版)[M].北京:人民郵電出版社,2009.

作者簡介

篇(3)

關(guān)鍵詞 語音識別;中文識別;人工分詞;控制系統(tǒng)

【中圖分類號】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)ニ伎?。因此,只要給予足夠多的“稿紙、筆”以及足夠大的“詞典”即可。

這次我們對系統(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)濟(jì)等方面因素考慮,本系統(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è)置了動詞字典基本上就處理了大部分問題??芍形闹袝霈F(xiàn)如下句子:“今天的比賽在大學(xué)生活動中心召開?!?/p>

人工模擬電腦來理解,副詞可以修飾形容詞、修飾動詞,用副詞來修飾試探:比賽可以“不比賽”不能“很比賽”,因此它不是形容詞,而是動詞,“我比賽你”這句話不通,因此是不及物動詞;“活動”和“召開”也是同理,是不及物動詞。因此這句話要理解成“今天->動作=比賽&活動&召開”。

但不能說“今天->動作=比賽&活動&召開”,很顯然這句話真正的意思是“比賽->地點=大學(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)

1.引言

隨著汽車工業(yè)的發(fā)展以及電子市場的成熟,車載智能終端逐漸成為汽車重要的配套設(shè)備,另外,近年來,經(jīng)濟(jì)的繁榮也促使國內(nèi)各地汽車數(shù)量急劇增加,人們的出行習(xí)慣也隨之發(fā)生變化,人車共處的時間越來越長,因此,車載智能終端的功能從簡單的行車導(dǎo)航多功能轉(zhuǎn)變,但駕駛?cè)藛T在行車過程中,面對繁復(fù)的界面進(jìn)行功能選擇操作,易造成安全隱患,因此本文提出基于ARM的車載語音識別系統(tǒng)設(shè)計方案,旨在讓駕駛?cè)送ㄟ^語音指令,操作智能終端,實現(xiàn)基本的導(dǎo)航、語音通信等功能,為安全駕駛提供保障。

2.語音識別過程

語音識別過程是首先將采集到的語音數(shù)據(jù)進(jìn)行預(yù)處理,以提高自然語言的識別率,并降低處理器對數(shù)據(jù)進(jìn)行密集運算的處理量,然后再進(jìn)行端點檢測、語音特征提取,完成從采集到的語音數(shù)據(jù)波型中,分析并提取以時間為參照的語音特征序列,隨后轉(zhuǎn)換為可對比的信號參數(shù),與系統(tǒng)語音模型庫進(jìn)行語言匹配,即可得出識別結(jié)果。

3.系統(tǒng)整體設(shè)計

本系統(tǒng)由硬件、軟件兩部分構(gòu)成,操作系統(tǒng)采用嵌入式Linux,為語音識別指令操作實現(xiàn)、車載智能終端功能實現(xiàn)提供基本的軟件平臺,硬件系統(tǒng)由語音識別部分、核心處理部分、電子設(shè)備部分構(gòu)成,語音識別階段由LD3320專用芯片在51級單片機的控制下完成,獲取語音特征后,指令識別程序進(jìn)行指令的對比識別,并通過指令操作系統(tǒng)程序調(diào)用諸如定位、導(dǎo)航、媒體播放、視頻監(jiān)控等應(yīng)用程序,系統(tǒng)結(jié)構(gòu)如下圖1所示。

4.硬件系統(tǒng)設(shè)計

硬件系統(tǒng)主要包括系統(tǒng)主板、核心處理器、語音采拾器、語音識別芯片、語音控制單片機、存儲器、電源等部分構(gòu)成,詳細(xì)介紹如下:

4.1 核心處理模塊

系統(tǒng)中,核心處理器既做語音指令識別、指令下達(dá)的核心部件,還是車載智能終端的核心,考慮車載智能終端的多功能性,例如定位導(dǎo)航、媒體播放、遠(yuǎn)程視頻監(jiān)控等,系統(tǒng)核心處理器采用飛思卡爾推出的iMX27芯片,利用其H.264硬件編解碼模塊可在車載智能終端上實現(xiàn)MPEG4、H.263及H.264視頻流的高效處理,在能夠支持語音識別功能的同時,還使智能終端產(chǎn)品達(dá)到D1(DVD畫面質(zhì)量,720×480的屏幕分辨率)分辨率。

iMX27在處理H.264的同時占用極少的CPU的資源并提高了視頻處理的性能,使核心有更多資源進(jìn)行其它的應(yīng)用,例如本系統(tǒng)的語音識別功能,另外,iMX27還具備非常靈活和豐富的標(biāo)準(zhǔn)接口、串行端口和擴(kuò)展端口,實現(xiàn)與多種外部設(shè)備的連接,包括攝像頭、顯示器,還可以使用Wi-Fi、藍(lán)牙實現(xiàn)即插即用及無線互連的功能,通過增加適當(dāng)?shù)哪K,即可實現(xiàn)GPS定位、GPRS通信等應(yīng)用。

4.2 語音識別模塊

目前語音識別方案,有針對特定人的語音識別技術(shù),但用戶無法自行修定識別內(nèi)容,還有基于ARM的軟件識別技術(shù),即將采集到的語音數(shù)據(jù),直接交由ARM平臺上運行的軟件進(jìn)行處理、比對、識別,這種方案優(yōu)點是可以附帶龐大的語音模型庫,適應(yīng)范圍較廣,但對ARM硬件平臺要求較高,軟件設(shè)計也相對復(fù)雜,本系統(tǒng)根據(jù)設(shè)計目的,提出的解決方案是,采用專用的語音識別芯片LD3320完成語音識別功能,將識別后的少量數(shù)據(jù)通過串行通信接口傳送給ARM處理器,再由軟件執(zhí)行判斷并執(zhí)行相應(yīng)的功能,一方面僅需求少量的電子器件,即可完成非特定人、非特定人、孤立詞、小詞匯量的語音識別功能,另一方面也可減少對ARM硬件的需求,空余更多的資源用于處理其它功能項目,而且軟件設(shè)計也可以相對簡化。

LD3320是由ICRoute公司生產(chǎn)的一種基于非特定人語音識別技術(shù)的專用芯片,內(nèi)置語音搜索引擎以及語音識別模型特征庫,另外還包含一些外部電路,例如AD、DA轉(zhuǎn)換器、音頻輸入輸出接口等,不再需要存儲器等器件,也不需要預(yù)置語音訓(xùn)練,將MIC接入LD3320的AD引腳上,再通過51級的MCU進(jìn)行控制,就可以進(jìn)行語音識別,經(jīng)過實踐,LD3320的語音識別穩(wěn)定性較好,準(zhǔn)確性基本保持在96%左右。

51MCU主控制器采用Atmel公司生產(chǎn)的ATMEGA128芯片,其具備先進(jìn)的RISC指令系統(tǒng),包含133條指令,并且大多指令可以一個時鐘周期內(nèi)完成,執(zhí)行效率高,內(nèi)置128K字節(jié)的可編程Flash,4K字節(jié)的EEPROM,以及多達(dá)64K字節(jié)的優(yōu)化的外部存儲器空間,足以滿足語音識別的控制需求。

主控制器主要完成需識別關(guān)鍵詞語的拼音串通過設(shè)置寄存器的方式傳入芯片內(nèi)部,從而實現(xiàn)識別列表的動態(tài)編輯,每次可以設(shè)置50項候選識別句,每個識別句可以是單字,詞組或短句。

4.3 存儲器模塊

為存儲更多的語音數(shù)據(jù),可通過存儲芯片來擴(kuò)展系統(tǒng)的存儲空間,本系統(tǒng)采用意法半導(dǎo)體推出的M25P16-VMF6P芯片,該芯片是16-Mbit(2M x 8)串行閃存,具有先進(jìn)的寫保護(hù)機制,支持速度高達(dá)50MHz的SPI兼容總線的存取操作。存儲器主要用于保存聲音素材。

5.軟件系統(tǒng)設(shè)計

軟件系統(tǒng)由兩大部分構(gòu)成,一個是基于ARM平臺的嵌入式Linux操作系統(tǒng),主要為系統(tǒng)的實現(xiàn)提供基本的軟件平臺,另一部分是語音識別程序以及應(yīng)用程序,主要完成語音的識別以及系統(tǒng)應(yīng)用。

5.1 操作系統(tǒng)

本文采用可以支持ARM CPU,具有MMU功能的Linux操作系統(tǒng),通過內(nèi)核精簡和裁減,并在實時性方面進(jìn)行加強,以適應(yīng)車載環(huán)境的應(yīng)用需求。

5.2 語音識別程序

語音識別程序的設(shè)計,主要基于LD3320系列產(chǎn)品開發(fā)手冊,主要工作流程分為以下幾個步驟:系統(tǒng)初始化、識別列表輸入、語音識別、中斷響應(yīng)等。

(1)系統(tǒng)初始化分為兩個子步驟,分別通用初始化以及設(shè)備初始化,時鐘頻率、模式等參數(shù)在這一環(huán)節(jié)中進(jìn)行設(shè)定。

(2)識別列表輸入,首先對需要識別的語音指令進(jìn)行編碼,按不同編號區(qū)分不同的條目,編號范圍可以1-256之間選擇,每個條目采用標(biāo)準(zhǔn)普通化拼音作為語音參考模型,2個標(biāo)準(zhǔn)字漢語之間以空格進(jìn)行填充。

(3)語音識別,通過設(shè)置特定寄存器的值,系統(tǒng)即可開始進(jìn)行語音識別,語音識別的準(zhǔn)確率與MIC的靈敏度設(shè)置有直接關(guān)系,根據(jù)實際環(huán)境條件,設(shè)置在40H~6FH可達(dá)到較好的效果。

(4)中斷響應(yīng),設(shè)置系統(tǒng)捕捉到MIC有信號產(chǎn)生,即產(chǎn)生中斷,中斷處理程序則根據(jù)LD3320寄存器的值對識別結(jié)果進(jìn)行判斷,以C5寄存器的值作為參考的正確結(jié)果。

5.3 指令執(zhí)行程序

指令執(zhí)行程序運行的ARM平臺上,負(fù)責(zé)監(jiān)聽ATMEGA128的串口數(shù)據(jù),當(dāng)接收到識別結(jié)果時,把該結(jié)果以二進(jìn)制形式讀出,通過預(yù)先設(shè)定的識別結(jié)果-執(zhí)行指令對照表,查詢應(yīng)當(dāng)執(zhí)行的指令,并根據(jù)指令完成相應(yīng)的操作。

6.結(jié)論

本文從整體、硬件、軟件等幾方面,深入討論了基于ARM的嵌入式語音識別系統(tǒng)的設(shè)計和實現(xiàn),并對各個組成模塊的硬件電路及軟件實現(xiàn)進(jìn)行了詳細(xì)的介紹。經(jīng)實踐,本文設(shè)計的語音識別系統(tǒng)在穩(wěn)定性、識別率方面有較好表現(xiàn),配合車載智能移動終端,有較強的實用性。

參考文獻(xiàn)

[1]張戟,楊騰飛.車載自動語音識別系統(tǒng)設(shè)計[J].佳木斯大學(xué)學(xué)報(自然科學(xué)版),2011,29(2):201-205.

[2]劉建臣,趙建光,龐煒等.基于ARM9+linux的智能小區(qū)語音識別系統(tǒng)研究[J].河北建筑工程學(xué)院學(xué)報,2009,27(1):119-121.

篇(5)

中圖分類號:TP319 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2012)09-0014-02

Design of voice recognition system based on TMS320C6713

XU Fei-yan1, CHEN Tao2, SUN Xu3, FANG Zong-liang1, LI Li-rong1

(1. Department 2, Anti-Chemical Institute, Beijing 102205, China;

2. Beijing Research & Development Center of Xiamen Jiuhua Communications Equipment Factory, Beijing 100083, China;

3. Chengdu University of Technology, Chengdu 610059,China)

Abstract: Taking the TMS320C6713DSP with floating-point functions produced by Texas Instruments chip as the system core processor and the MSP430 microcontroller as a peripheral controller, a real-time speech recognition system is designed in the paper. The kernel algorithm for the system uses Mel-frequency cepstral coefficients as feature parameters for feature extraction and dynamic time warping (DTW) algorithm for pattern matching. Programming and debugging of the system indicate that the system has good flexibility and real-time capability and improves the performance in noise immunity, robustness and recognition rates. In many areas, it has a practical reference value.

Keywords: speech recognition; digital signal processing; Mel-frequency cepstral coefficients; dynamic time warping

0 引 言

語音識別[1]是一種最為理想的人機通信方式。隨著計算機技術(shù)的進(jìn)步,語音識別技術(shù)已經(jīng)逐漸應(yīng)用于控制、通信、消費等行業(yè)[2]。但是,語音識別系統(tǒng)在商品化的進(jìn)程中還存在著諸如識別速度、系統(tǒng)魯棒性以及更高的識別率等具體問題。如何提高語音識別系統(tǒng)的這些性能,使系統(tǒng)更快、更穩(wěn)定地工作是目前研究的重點。本文正是基于這種思想,通過選用德州儀器公司帶浮點功能的DSP芯片TMS320C6713(主頻為200 MHz)作為語音信號處理的核心處理器,同時結(jié)合MSP430單片機作為控制器共同構(gòu)建硬件系統(tǒng), 以美爾頻率倒譜系數(shù)作為語音信號特征參數(shù),結(jié)合動態(tài)時間規(guī)整孤立詞識別算法進(jìn)行模式匹配,設(shè)計了一種具有良好實時性和高識別率及魯棒性的語音識別系統(tǒng)。

1 系統(tǒng)硬件設(shè)計

本設(shè)計的整個硬件系統(tǒng)是以DSP為核心電路對語音信號進(jìn)行采集和處理,再經(jīng)過A/D轉(zhuǎn)換電路把模擬語音信號轉(zhuǎn)換成數(shù)字語音信號,然后送入DSP芯片進(jìn)行匹配識別,最后將識別后的結(jié)果通過單片機控制模塊外接的兩個紅綠顏色的二極管進(jìn)行處理表示,其中紅色表示拒絕命令,綠色表示接受命令。系統(tǒng)的硬件平臺主要由DSP系統(tǒng)核心處理模塊、語音信號采集模塊、單片機控制模塊、外擴(kuò)存儲器模塊和電路等幾個模塊構(gòu)成。系統(tǒng)的硬件設(shè)計總體方案框圖如圖1所示。

1.1 DSP系統(tǒng)核心處理模塊

作為系統(tǒng)的核心模塊DSP芯片采用TMS320C6713,該芯片的主頻可達(dá)200 MHz。這是TI公司推出的一種新型的浮點DSP芯片,是繼定點DSP芯片TMS320C62X系列后開發(fā)的。該芯片的內(nèi)部結(jié)構(gòu)在TMS320C62X的基礎(chǔ)上進(jìn)行了改進(jìn),內(nèi)部同樣集成了多個功能單元,可同時執(zhí)行8條指令,其運算能力可達(dá)1G FLOPS。片內(nèi)具有豐富的外設(shè),如EDMA、EMIF、McBSP、HPI、GPIO等[4]。

篇(6)

中圖分類號:TN912.34 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 11-0000-02

隨著人們對人機交流技術(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)

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)07-0154-02

目前主流的語音識別算法田有隱馬爾科夫模型12’和深度神經(jīng)網(wǎng)絡(luò) 。對于建模單元統(tǒng)計概率模型描述,主要采用混合高斯模型(GMM),HMM-GMM模型在很長一段時間是語音識別聲學(xué)建模的主流模型。2011年微軟在深度神經(jīng)網(wǎng)絡(luò)領(lǐng)域取得突破并成功應(yīng)用于語音識別,深度神經(jīng)網(wǎng)絡(luò)因具有更加優(yōu)異的特征學(xué)習(xí)和特征表達(dá)能力成為研究的前沿。深度學(xué)習(xí)在語音識別中取得了較好的效果,但其需要的海量數(shù)據(jù)訓(xùn)練以及大規(guī)模并行運算無法在嵌入式平臺上實現(xiàn)。

本文在嵌入式平臺上搭建一個機器人的控制命令小詞匯量漢語語音識別系統(tǒng),通過收集錄制控制命令的訓(xùn)練和測試語音數(shù)據(jù),設(shè)計訓(xùn)練過程需要用到的腳本,本文完成了控制命令的聲學(xué)模型和語言模型訓(xùn)練,最終使用訓(xùn)練好的模型文件構(gòu)建了一個以Sphinx為識別引擎的機器人語音識別系統(tǒng)。

1基于HMM的語音識別算法

一個典型的語音識別系統(tǒng)結(jié)構(gòu)如圖1所示,包括預(yù)處理單元、特征提取單元、模式匹配單元、模型庫建立單元四個部分。

HMM模型可表示為λ=(A,B,π),A為狀態(tài)轉(zhuǎn)移矩陣,B為觀察值概率矩陣,π為初始狀態(tài)概率分布,N表示馬爾可夫鏈狀態(tài)數(shù)目,M表示觀察值個數(shù)。在本文應(yīng)用中,主要運用HMM模型解決控制命令的識別問題和聲學(xué)模型訓(xùn)練問題。

1.1語音識別算法識別問題

識別問題:給定觀測序列o={o1,o2,…,oT)和模型λ=(A,B,π),確定產(chǎn)生最優(yōu)O的狀態(tài)序列。識別問題主要用于識別過程中解碼,識別問題的基本算法為Viterbi算法,具體過程由以下公式迭代計算:

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

1.2語音識別算法訓(xùn)練問題

訓(xùn)練問題;給定觀測序列O={o1,o2,…,oT)和模型λ=(A,B,π),如何得到一個最優(yōu)的HMM模型,即通過訓(xùn)練模型中各個參數(shù)使得P{O|λ)取最大值。語音識別中用于聲學(xué)模型的訓(xùn)練基本算法有Baum-Welch算法,實現(xiàn)過程如下:

(9)

(10)

將ξ(i,j)對#從1到T求和可求得狀態(tài)Si到Sj的轉(zhuǎn)移期望值,將γt(i)對t求和可求得從其他狀態(tài)訪問狀態(tài)Si的期望值,這兩個過程就是Baum-Welch算法基本思想。

2基于sphinx的機器人語音識別系統(tǒng)構(gòu)建

2.1實驗系統(tǒng)與設(shè)置

機器人語音識別系統(tǒng)設(shè)計如圖2所示:

嵌入式主控平臺主要負(fù)責(zé)語音識別,識別麥克風(fēng)傳人的語音控制命令,再通過無線模塊與機器人通信,最終實現(xiàn)了語音命令控制機器人的效果。選擇的命令包括“前進(jìn)”、“后退”、“左轉(zhuǎn)”、“右轉(zhuǎn)”、“停止”、“啟動”、“開燈”、“關(guān)燈”、“開電源”、“關(guān)電源”。

2.2數(shù)據(jù)準(zhǔn)備

數(shù)據(jù)準(zhǔn)備主要分為語言模型數(shù)據(jù)和聲學(xué)模型數(shù)據(jù)兩大部分,下面分別介紹。

2.2.1語言模型數(shù)據(jù)準(zhǔn)備

本文使用CMUClmtk工具進(jìn)行語言模型訓(xùn)練,CMUClmtk將統(tǒng)計控制命令文本數(shù)據(jù)產(chǎn)生以單個詞建立的N_Gram模型。N-Gram模型的基本思想是,當(dāng)前詞的出現(xiàn)只與該詞前面出現(xiàn)的所有詞有關(guān),各個詞出現(xiàn)概率的乘積就是整個句子出現(xiàn)的概率。從語料中統(tǒng)計每個詞同時出現(xiàn)的次數(shù)可得到各個詞的概率,準(zhǔn)備好用于語言模型訓(xùn)練的語言數(shù)據(jù)之后,CMUClmtk將統(tǒng)計文本文件中每個詞出現(xiàn)的次數(shù)和詞的總數(shù),然后列舉文本中出現(xiàn)的每一個詞的n元語法,最終轉(zhuǎn)換為Sphinx需要的二進(jìn)制格式(DMP)語言模型。

2.2.2聲學(xué)模型數(shù)據(jù)準(zhǔn)備

聲學(xué)模型數(shù)據(jù)準(zhǔn)備首先需要錄制用于訓(xùn)練和測試的原始語音文件,然后準(zhǔn)備字典文件,字典文件包括主字典文件和補充字典文件,主字典文件中包含了需要進(jìn)行訓(xùn)練的控制命令以及與控制命令相對應(yīng)的音素集,補充字典主要列舉了非語音單詞,它包括靜音,背景噪聲等。下一步將字典文件通過命令腳本生成音素文件,音素文件包含所有訓(xùn)練的音素集。

2.3模型訓(xùn)練

首先對訓(xùn)練的語音信號提取特征向量,Sphinxtrain采用提取梅爾頻率倒譜系數(shù)(MFCC)作為特征向量。下面分別為字典中每個音素建立上下文無關(guān)模型(CI-modds),并為音素關(guān)聯(lián)狀態(tài)建立上下文有關(guān)模型(CD-unfied models)以及建立決策樹,可以通過決策樹聚類的方法來減少參數(shù)數(shù)量。下一步將為音素訓(xùn)練最終聚類后的CD模型(CD-tied models),刪除插值是一個為了減少過度擬合的一個迭代過程,最終得到由均值文件、方差文件、混合權(quán)重文件和轉(zhuǎn)移矩陣文件組成的控制命令聲學(xué)模型。

2.4語音識別

在完成以上聲學(xué)模型訓(xùn)練過程之后,系統(tǒng)會使用測試語音對訓(xùn)練好的聲學(xué)模型進(jìn)行解碼。使用Viterbi算法計算概率最大路徑的輸出概率得到識別結(jié)果,系統(tǒng)會統(tǒng)計解碼器對測試語音的錯詞率作為識別結(jié)果。

3結(jié)果及分析

本實驗系統(tǒng)環(huán)境為Ubuntul2.04系統(tǒng),在實驗室環(huán)境錄制了20名同學(xué)的語音,其中男10名,女10名,在無噪聲環(huán)境下采用近距離麥克風(fēng)錄制,數(shù)據(jù)采樣率為16kHz,16位量化編碼,每位同學(xué)將以正常說話語速將10個命令錄制10次,將10位男生和10位女生前5次錄音作為訓(xùn)練數(shù)據(jù),后5次錄音作為測試數(shù)據(jù),對訓(xùn)練好的聲學(xué)模型進(jìn)行測試,采用錯詞率(WER)作為標(biāo)準(zhǔn)來統(tǒng)計結(jié)果,假設(shè)有一個N個單詞長度的原始文本和識別出來的文本。I代表入的單詞個數(shù),D代表被刪除的單詞個數(shù),S代表被替換的單詞個數(shù),那么錯詞率就定義為:

WER=(I+D+S)/N (11)

系統(tǒng)的識別結(jié)果如表1所示:

篇(8)

1.引言

在小詞匯量的語音識別系統(tǒng)中,主要分為孤立詞識別和基于詞網(wǎng)模型的連續(xù)語音識別。前者通過詞發(fā)音端點分割算法,把每個詞的發(fā)音從整段語音中分割出來,然后再到模型集中去尋找最佳的匹配作為識別結(jié)果。XML同HTML一樣,都來自SGML(標(biāo)準(zhǔn)通用標(biāo)記語言)。SGML是一種在Web發(fā)明之前就早已存在的用標(biāo)記來描述文檔資料的通用語言。但SGML十分龐大且難于學(xué)習(xí)和使用。鑒于此,人們提出了XML 語言,它具有可擴(kuò)展性、靈活性、自描述性、簡明性的優(yōu)點。

在MYASR系統(tǒng)中有多個功能模塊,每個功能模塊都有各自的參數(shù),采用XML語言對這些參數(shù)進(jìn)行描述更加直觀,可讀性更強。例如,MYASR中MFCC編碼的XML描述如下:

<mfcc_params>

 <type_mask>  MFCC_0_D_A  </type_mask>

 <sample_rate> 16000 </sample_rate>

 <win_size>  400 </win_size>

 <win_shift> 160 </win_shift>

 <fft_size>  512 </fft_size>

 <low_freq>  200  </low_freq>

 <high_freq> 7000  </high_freq>

 <pre_enphasis> 0.97 </pre_enphasis>

 <mel_num>  26  </mel_num>

 <cep_num>  12  </cep_num>

 <cep_lifter>  10  </cep_lifter>

</mfcc_params>

MYASR通過XML解析器將XML元素中的參數(shù)提取出來,然后再傳遞給各個功能模塊。當(dāng)需要增加參數(shù)時,只要在XML文件中適當(dāng)位置增加一個元素(Element)即可,具有良好的可擴(kuò)展性。

3.系統(tǒng)開發(fā)

MYASR系統(tǒng)的模塊結(jié)構(gòu)如下所示:

3.1前端處理

MYASR的前端處理包括以下功能模塊:自動增益控制(AGC)、噪音消除、預(yù)加重處理。其相應(yīng)的XML描述如下:

<preprocess_bat workdir="d:worktmp">

 <params>

  <frame_ts> 20 </frame_ts>       //幀長

  <agc>

   <level> 0.5 </level>  

   <max_gain> 2.0 </max_gain>  //最大增幅

   <min_gain> 1.0 </min_gain>   //最小增幅

  <agc>

  <pre_enphasis> 0.97 </pre_enphasis>//預(yù)加重系數(shù)

  <denoise>1</denoise>    //噪音消除

 </params>

 <transcrip> pretrans.scp </transcrip>

</preprocess_bat>

其中屬性"workdir"表示當(dāng)前的工作目錄,元素<agc>表示自動增益控制參數(shù),元素<pre_enphasis>表示預(yù)加重參數(shù),元素<denoise>表示是否對語音進(jìn)行噪音消除。元素<transcrip>表示批處理文件,此文件中描述了目標(biāo)文件名及處理后的文件名,內(nèi)容如下:

"speech1.wav"  "speech1_dn.wav"

"speech2.wav"  "speech2_dn.wav"

"speech3.wav"  "speech3_dn.wav"

.........

3.2端點分割

在MYASR系統(tǒng)中,實現(xiàn)兩種類型的端點分割:句子端點檢測,詞端點檢測。采用的靜音檢測方法有【2】:基于短時能量、基于短時平均過零率、和基于GMM模型。其XML描述如下:

 <endpoint>

  <endpoint_method> SENT_CUT </endpoint_method>

  <vad_method> GMM_VAD </vad_method>

  <sil_interval> 500 </sil_interval>            //單位為毫秒

</endpoint>

元素<endpoint_method>表示端點分割方法:設(shè)置SENT_CUT表示句子端點分割,設(shè)置WORD_CUT表示詞端點分割。元素<vad_method>表示靜音檢測的方法:設(shè)置GMM_VAD 表示采用基于GMM模型,PW_VAD表示基于短時能量,COS_VAD表示基于短時平均過零率。<sil_interval>元素表示檢測對象之間允許的停頓時間,超過停頓時間意味著出現(xiàn)新的句子或詞。

3.3特征提取

MYASR系統(tǒng)中目前采用MFCC結(jié)合動態(tài)差分參數(shù)作為特征矢量。將語音文件轉(zhuǎn)換為MFCC編碼的XML描述文件如下所示:

 <wav2mfcc workdir = "d:myworkdir">

  <params_xml>mfccparams.xml</params_xml>

  <transcrip> trans.scp </transcrip>

</wav2mfcc>

其中mfccparams.xml是MFC C特征參數(shù)的描述文件,內(nèi)容如下:

<mfcc_params>

 <type_mask>  MFCC_0_D_A  </type_mask>//類型

 <sample_rate> 16000 </sample_rate>  //采樣率

       <win_size>  400  </win_size> //幀長

 <win_shift> 160   </win_shift>    //幀移

 <fft_size>  512   </fft_size>   //FFT的窗長

 <low_freq>  200  </low_freq>   //截止的最低頻率

 <high_freq>  7000 </high_freq>   //截止的最高頻率

 <mel_num>  26  </mel_num>   //MEL濾波器數(shù)

 <cep_num>  12  </cep_num>   //MFCC維數(shù)

 <cep_lifter>  10  </cep_lifter>   //參數(shù)提升系數(shù)

</mfcc_params>

其中<type_mask>元素表示特征矢量標(biāo)志,有6種類型:

表3-1  MYASR中MFCC編碼類型

標(biāo)志

含義

MFCC

MFCC參數(shù)

MFCC_0

MFCC參數(shù)加對數(shù)能量

MFCC_D

MFCC參數(shù)及其一階差分

MFCC_0_D

MFCC參數(shù)加對數(shù)能量,及一階差分

MFCC_D_A

MFCC參數(shù)及其一階、二階差分

MFCC_0_D_A

MFCC參數(shù)加對數(shù)能量,及一階、二階差分

<transcrip>元素中的trans.tsp文件描述了語音源文件及轉(zhuǎn)換成MFCC的目標(biāo)文件,內(nèi)容如下:

"speech1.wav"  "speech1.mfc"

"speech2.wav"  "speech2.mfc"

"speech3.wav"  "speech3.mfc"

.........

3.4模型訓(xùn)練

MYASR采用了連續(xù)概率密度的HMM模型,模型參數(shù)初始化采用了"K-均值分割"算法,參數(shù)重估采用"Baum-Welch"算法。其XML描述文件如下:

<hmm_train workdir="d:worktmpmytimit">

 <label_scrip> phones.lst </label_scrip>    

 <featlep_scrip> trainmfcclabep.scp </featlep_scrip>  

 <hmm_params>

  <state_num>3</ state_num >      //HMM狀態(tài)數(shù)

  <mixture>4</mixture>       //高斯分量個數(shù)

  <veclen>39</veclen>       //特征矢量維數(shù)

  <cluster>GMM_EM</cluster>     //聚類算法

  <feat_flag>MFCC_0_D_A</feat_flag>   //特征矢量標(biāo)志

 </hmm_params>

 <model_file>modelhmmmodelEM4.xml</model_file> //輸出文件

</ hmm _train>

其中,<label_scrip>元素中的文件phones.lst表示要訓(xùn)練的那些詞或音子。

<featlep_scrip>元素中的文件trainmfcclabep.scp描述了特征矢量文件及其標(biāo)注文件,內(nèi)容如下:

"mfcspeech1.mfc"  "labspeech1.lab"

"mfcspeech2.mfc"  "labspeech2.lab"

"mfcspeech3.mfc"  "labspeech3.lab"

.........

標(biāo)注文件".lab"中注明了每個單元的發(fā)音起點和終點,MYASR將根據(jù)標(biāo)注文件從特征文件中讀取特征矢量進(jìn)行HMM模型的訓(xùn)練。標(biāo)注文件內(nèi)容如下:

0    191   sil

191  285   sh

285  358   ix

358  415   hh

415  548   eh

548  646   jh

646  720   ih

720  790   d

790  920   ah

....

其中時間單位為毫秒。

<cluster>元素表示"K-均值分割"算法中對B參數(shù)進(jìn)行重估所采用的算法,有兩種選項:GMM_EM表示EM算法,K_MEANS表示"K-means"算法。實驗結(jié)果顯示,EM算法比"K-means"算法具有更好的性能。

<model_file>表示訓(xùn)練輸出的HMM模型文件,內(nèi)容如下:

<hmm_set>

 <params>

  <feat_mask>MFCC_0_D_A</feat_ mask >

  <state_num>3</state_num>

  <mixture>4</mixture>

  <vec_len>39</vec_len>

 </params>

 <hmm >

  <state>

 <mixture> 1.906841e+001 1.900540e-001 ......</mixture> //均值

<var>     2.945649e+001 1.096035e+002......</var>    //方差

<weight>  2.212352e-001 </weight>  

 //權(quán)重

           </state>

           ......

</hmm>

......

</hmm_ set >

3.5詞網(wǎng)構(gòu)建

3.5.1 詞網(wǎng)模型的雙層結(jié)構(gòu)

MYASR中的詞網(wǎng)模型分為兩層:一層是描述層,主要用于描述詞網(wǎng)的結(jié)構(gòu),包括上下文無關(guān)文法和有限狀態(tài)圖;另一層是模型層,這一層由HMM模型構(gòu)成的搜索網(wǎng)絡(luò),是搜索算法的輸入。首先由用戶定義語法規(guī)則,然后轉(zhuǎn)換成有限狀態(tài)圖,最后結(jié)合HMM模型集和發(fā)音字典將其轉(zhuǎn)化成搜索算法可以處理的模型層搜索網(wǎng)絡(luò)。

3.5.2 描述層到模型層的轉(zhuǎn)換

在模型層搜索網(wǎng)絡(luò)中,按節(jié)點是否有詞輸出分為兩類:空節(jié)點和詞節(jié)點。空節(jié)點中不含有HMM模型,而只是作為詞網(wǎng)中的一個過度節(jié)點,如起始節(jié)點(#START),終止節(jié)點(#END),中轉(zhuǎn)節(jié)點(#L)都是沒有詞輸出的節(jié)點。而詞節(jié)點則包含了構(gòu)成這個詞的HMM模型。

詞網(wǎng)模型的有限狀態(tài)圖轉(zhuǎn)換成模型層搜索網(wǎng)絡(luò)的過程為:當(dāng)遇到空節(jié)點時,不作處理;當(dāng)遇到詞結(jié)點時,在字典哈希表找到這個詞,并保存word_id,word_id是這個詞在字典哈希表的索引,當(dāng)搜索結(jié)束后,回溯時就是根據(jù)這個word_id找到哈希表中對應(yīng)的詞;同時根據(jù)這個詞的發(fā)音,到HMM哈希表中查找子詞的HMM模型,然后在這個詞結(jié)點中創(chuàng)建指向子詞HMM模型的指針。轉(zhuǎn)換后的模型層搜索網(wǎng)絡(luò)如圖3-4所示。

    模型層搜索網(wǎng)絡(luò)構(gòu)建后,就可以用Token-Passing算法進(jìn)行搜索。

4 總結(jié)

篇(9)

1 前言

新一代特種車輛的車載顯控系統(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)

中圖分類號:TN912.34 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2016)11-00-03

0 引 言

智能家居(smart home)的概念很早就被提出來,但是一直沒有在現(xiàn)實中被具體實踐,直到1984年出現(xiàn)的首棟智能型建筑拉開了全人類爭相構(gòu)建智能家居的帷幕。智能家居不是某一項家庭電器的智能化,而是以住宅為平臺,為實現(xiàn)家居安全舒適、科學(xué)環(huán)保、健康節(jié)能的家居生活環(huán)境,依賴綜合布線和網(wǎng)絡(luò)通信技術(shù),將家電設(shè)備聯(lián)系起來,構(gòu)建高效、流暢的家居設(shè)備管理系統(tǒng),方便人們對家用設(shè)備進(jìn)行操作與管理,為人類提供智能、舒適的生活方式。

1 語音識別的發(fā)展歷史及應(yīng)用領(lǐng)域

從工業(yè)革命開始,人類逐漸受益于高速的機器生產(chǎn),但隨著科技的發(fā)展,人類開始夢想著與機器進(jìn)行交流溝通,讓機器明白人類的命令,然后給予回應(yīng),真正實現(xiàn)用機器代替人類進(jìn)行繁重勞動的目標(biāo)。語音識別技術(shù)為該目標(biāo)的實現(xiàn)提供了可能,該技術(shù)將其接收到的音頻信號轉(zhuǎn)換為機器可識別的文本或命令后進(jìn)行進(jìn)一步處理?,F(xiàn)如今,經(jīng)歷半個多世紀(jì)的探索與創(chuàng)新,語音識別技術(shù)在各領(lǐng)域都實現(xiàn)了應(yīng)用,小到兒童玩具、個人家庭電器、電子產(chǎn)品,大到醫(yī)療、工業(yè)生產(chǎn)等,語音識別系統(tǒng)都發(fā)揮著不可替代的作用。從世界上第一個能識別10個英文數(shù)字發(fā)音的語音識別系統(tǒng)到如今廣泛應(yīng)用在各行各業(yè)的語音識別系統(tǒng),我們希望語音識別技術(shù)在未來取得更大的發(fā)展。

語音識別技術(shù)的發(fā)展離不開研究者們的卓越貢獻(xiàn),由一開始特定人、小詞匯的識別到如今非特定人、連續(xù)發(fā)音、大量詞匯的識別,這其中各種技術(shù)的更新發(fā)展必不可少。廣泛使用的計算機網(wǎng)絡(luò)和普遍使用的手機、ipad等提供了大量文本和語音方面的材料資源,多渠道的資源為語音識別中的語言模型和聲學(xué)模型的訓(xùn)練提供了有力支持。語音識別的未來發(fā)展令人期待。

2 智能家居聲控系統(tǒng)的方案設(shè)計

2.1 系統(tǒng)總體結(jié)構(gòu)圖

圖1所示為系統(tǒng)總體設(shè)計結(jié)構(gòu)框圖。該系統(tǒng)的硬件部分包括電源、LD3320芯片、單片機、繼電器等。語音識別由LD3320芯片實現(xiàn),系統(tǒng)整體控制由MCS-51單片機實現(xiàn),包括對LD3320芯片的初始化等。用戶語音指令經(jīng)麥克風(fēng)送給LD3320語音識別模塊,LD3320識別處理后,把識別結(jié)果傳送給單片機,單片機將根據(jù)識別結(jié)果對外設(shè)進(jìn)行相應(yīng)控制。若語音指令無法識別,則由單片機控制LD3320語音模塊重新進(jìn)入新的識別處理過程。

2.2 LD3320語音識別模塊

LD3320芯片是一個專用于語音識別的芯片,該芯片在設(shè)計時注重高效與節(jié)能,無需外接任何輔助芯片,直接集成了語音識別處理模塊和外部電路,如麥克風(fēng)接口、語音輸出接口、AD/DA轉(zhuǎn)換器等,使其可以實現(xiàn)語音識別、聲音控制及人機對話等功能。

2.2.1 主要特征

完成非特定人的語音識別命令。在語音識別技術(shù)發(fā)展之初,只能由特定的人進(jìn)行語音命令來完成任務(wù),且需要錄音和練習(xí)等,而現(xiàn)在只需用戶使用相同的語言就可以進(jìn)行識別,且識別效率大大提高,識別率高達(dá)95%,無需外接輔助,實現(xiàn)了單芯片語音識別。

由于用戶的語音命令有多種可能,如意思相同但語音命令不同或受到口音語氣的影響等,LD3320芯片中的識別語句是動態(tài)可編輯,可修改的,在設(shè)計時可根據(jù)具體情況考慮多種可能,如設(shè)置50條識別語句留作用戶語音命令的候選語音,以提高系統(tǒng)的整體水平。不過設(shè)置時需注意識別語句的長度,如果設(shè)置漢字則不能超過10個,設(shè)置拼音串則不能超過79個。支持串行接口和并行接口,也可設(shè)置為休眠狀態(tài),方便激活。

2.2.2 LD3320語音口令識別處理過程

LD3320芯片的語音口令識別處理過程如圖2所示。

2.2.3 LD3320語音識別模塊使用技巧

在一些特別的應(yīng)用場合,人們希望語音識別系統(tǒng)具有較高的識別精度。本系統(tǒng)設(shè)計采用“用戶口令觸發(fā)模式”以提高抗干擾能力,避免單片機對外設(shè)控制時產(chǎn)生錯誤動作。

程序設(shè)計中設(shè)置一個短句作為用戶命令的觸發(fā)口令。如定義“小明”作為用戶的觸發(fā)口令。在等待用戶觸發(fā)時,特別是有雜音、噪音的情況下,系統(tǒng)將啟動 “循環(huán)識別處理”模式,把觸發(fā)口令“小明”和其他幾十個用來吸收錯誤的詞匯設(shè)置進(jìn)LD3320語音識別芯片。如果LD3320芯片中程序檢測到用戶的觸發(fā)口令時,則開啟“觸發(fā)模式”,用戶給出一級口令,若檢測為正確口令,則芯片將給出指示,即提示燈開始閃爍(大約2 s)后,開啟二級口令的接收檢測即“識別模式”,LD3320識別到預(yù)設(shè)的二級口令后,如臥室開燈、臥室關(guān)燈等,將識別結(jié)果送給單片機,由單片機對外設(shè)進(jìn)行控制。在等待口令時,可能會進(jìn)行誤識別,即在其他聲音干擾下接收到相似的語音片段,程序可以專門對垃圾詞語進(jìn)行處理或不處理,然后進(jìn)入循環(huán)識別狀態(tài),用戶只需發(fā)出新的口令即可觸發(fā)。通過二級口令觸發(fā)模式,用戶可以更加方便的進(jìn)行語音操作,且準(zhǔn)確率較高。

2.2.3.1 巧妙運用關(guān)鍵詞語的ID,提高識別效率

由于用戶的發(fā)音習(xí)慣不同,可能同一個意思的不同語音命令無法被準(zhǔn)確執(zhí)行。我們將語音命令的關(guān)鍵詞語的拼音串設(shè)計在LD3320芯片內(nèi),例如一級口令“小明”,然后傳入一個ID代表這個詞語,一旦識別成功后,將這個ID作為識別的結(jié)果對外輸出。在 LD3320語音芯片中,同一個ID可以對應(yīng)不同的關(guān)鍵詞匯,而且ID不需要連續(xù),編程方式非常簡單。例如“中國”“華夏”,可以設(shè)置為同一個ID,之后再進(jìn)行其他處理步驟。

2.2.3.2 對于關(guān)鍵詞ID設(shè)置多個可能發(fā)音,充分利用50項候選可識別語句

有時用戶可能不會用同一個詞來發(fā)出命令,例如“開燈”,用戶可能會說“開大燈”“打開燈”“打開電燈”“把電燈打開”等,其說話的口音、語氣、情緒、習(xí)慣是不同的。因此需把用戶的這些發(fā)音習(xí)慣都考慮到程序設(shè)計中,完全利用LD3320芯片的特性,充分利用50條可動態(tài)編輯的關(guān)鍵識別條目,編輯不同的候選語句并設(shè)置到芯片中。這樣用戶在發(fā)出命令后,被準(zhǔn)確執(zhí)行的效率增加,完善了系統(tǒng)的功能。

2.2.3.3 用戶通過語音命令后得到語音識別結(jié)果的等待時間調(diào)節(jié)

在本系統(tǒng)中,用戶發(fā)出口令后芯片大約有12 s的反應(yīng)時間,然后才會給出識別反應(yīng)。通過語音識別芯片的檢測機制來判斷用戶的口令是否全部發(fā)出,如監(jiān)測出一段連續(xù)的噪音,就認(rèn)為用戶口令已發(fā)完,之后給出識別結(jié)果。

2.2.4 使用過程中應(yīng)注意的問題

在測試過程中發(fā)現(xiàn),LD3320模塊應(yīng)用時要注意以下問題:

(1)用戶使用時背景聲音(噪音、雜音等)會造成一定的干擾;

(2)設(shè)置語音模塊內(nèi)識別列表的內(nèi)容和50個可編輯的候選語句有關(guān);

(3)設(shè)置識別列表中各詞匯之間的相似程度;

(4)用戶的發(fā)音快慢、大小、口音以及發(fā)音是否清晰等;

(5)距離麥克風(fēng)的位置遠(yuǎn)近以及接收語音的外設(shè)(麥克風(fēng)等)質(zhì)量等。

3 智能家居聲控系統(tǒng)的軟件程序設(shè)計

智能家居聲控系統(tǒng)的程序處理過程主要包括單片機初始化;LD3320芯片的初始化;LD3320語音識別結(jié)果寄存器的讀取以及單片機對外設(shè)的控制等。

3.1 具體軟件功能模塊介紹

(1)單片機初始化函數(shù):void MCU_init()

名稱:void MCU_init()。

功能:單片機初始化。

(2)中斷處理函數(shù):void ExtInt0Handler(void) interrupt 0

名稱:中斷處理函數(shù)。

功能:對LD3320的中斷請求進(jìn)行處理。

其他說明:語音識別模塊接收到音頻信號后進(jìn)入函數(shù),判斷識別結(jié)果,若無結(jié)果則設(shè)置寄存器開始下次識別。

(3)用戶執(zhí)行函數(shù):void User_handle(uint8 dat)

名稱:用戶執(zhí)行函數(shù)。

功能:識別結(jié)果成功后,MUC進(jìn)行之后的處理。

(4)LD3320復(fù)位函數(shù):void LD_Reset()

功能描述:復(fù)位LD模塊。

(5)LD3320初始化函數(shù):void LD_Init_Common()

功能描述:LD模塊命令初始化。

其他說明:該函數(shù)一般不需要修改。

(6)LD3320ASR功能初始化函數(shù):void LD_Init_ASR()

功能描述:LD模塊ASR功能初始化。

其他說明:該函數(shù)一般不需要修改。

(7)運行ASR識別處理函數(shù)uint8 RunASR(void)

功能描述:運行ASR識別流程。

返回值:asrflag:1->啟動成功;0->啟動失敗。

其他說明:識別順序如下:

① RunASR()函數(shù)實現(xiàn)一次完整的ASR語音識別流程;

② LD_AsrStart()函數(shù)實現(xiàn)了ASR初始化;

③ LD_AsrAddFixed()函數(shù)添加關(guān)鍵詞語到LD3320中;

④ LD_AsrRun()函數(shù)啟動一次ASR語音識別流程。

任何一次ASR識別流程均從初始化開始,皆按照此順序進(jìn)行。

(8)語音命令添加函數(shù):uint8 LD_AsrAddFixed()

功能描述:向LD模塊添加關(guān)鍵詞。

返回值:flag:1->添加成功。

(9)識別結(jié)果獲取函數(shù):uint8 LD_GetResult()

功能描述:獲取識別結(jié)果。

返回值:LD_ReadReg(0xc5 ),讀取內(nèi)部寄存器返回的識別碼。

3.2 系統(tǒng)程序流程圖

聲控系統(tǒng)單片機程序流程圖如圖3所示。

4 系統(tǒng)測試

本系統(tǒng)以“小明”為一級指令口令,每次識別時必須先觸發(fā)一級口令,才能進(jìn)行二級口令,如臥室關(guān)燈、臥室開燈、客廳開燈、客廳關(guān)燈等。

系統(tǒng)加入電源后對麥克風(fēng)說“小明”一級口令,指示燈閃爍亮燈后,再對著麥克風(fēng)說:“臥室開燈”二級口令則繼電器控制臥室燈亮。目前該系統(tǒng)能識別的二級口令有5個,分別是“客廳開燈”“客廳關(guān)燈”“臥室開燈”“臥室關(guān)燈”和“close all”,實際可以根據(jù)具體布置需要增加控制節(jié)點及相應(yīng)識別口令。

5 結(jié) 語

智能家居聲控系統(tǒng)不僅能為大家?guī)硎孢m的居住環(huán)境,還具有系統(tǒng)可靠性高,誤識率低,方便適用的特點,具有廣大的應(yīng)用前景。

參考文獻(xiàn)

[1]王炳錫.實用語音識別基礎(chǔ)――21世紀(jì)高等院校技術(shù)優(yōu)秀教材[M].北京:國防工業(yè)出版社,2015.

[2]譚浩強.C程序設(shè)計教程[M].北京:清華大學(xué)出版社,2007.

[3]金鑫,田,闕大順.基于LD3320的語音控制系統(tǒng)設(shè)計實現(xiàn)[J].電腦與信息技術(shù),2011,19(6):22-25.

上一篇: 辦公室日常工作計劃 下一篇: 示范園匯報材料
相關(guān)精選
相關(guān)期刊