新聞中心

EEPW首頁 > 消費電子 > 設(shè)計應用 > 語音識別技術(shù)原理及實用系統(tǒng)設(shè)計匯總

語音識別技術(shù)原理及實用系統(tǒng)設(shè)計匯總

作者: 時間:2017-10-25 來源:網(wǎng)絡(luò) 收藏

  是以語音為研究對象,通過語音信號處理和模式識別讓機器自動識別和理解人類口述的語言。技術(shù)就是讓機器通過識別和理解過程把語 音信號轉(zhuǎn)變?yōu)橄鄳奈谋净蛎畹母呒夹g(shù)。是一門涉及面很廣的交叉學科,它與聲學、語音學、語言學、信息理論、模式識別理論以及神經(jīng)生物學等學科都 有非常密切的關(guān)系。語音識別技術(shù)正逐步成為計算機信息處理技術(shù)中的關(guān)鍵技術(shù),語音技術(shù)的應用已經(jīng)成為一個具有競爭性的新興高技術(shù)產(chǎn)業(yè)。

本文引用地址:http://www.butianyuan.cn/article/201710/368483.htm

  1、語音識別的基本原理

  語音識別系統(tǒng)本質(zhì)上是一種模式識別系統(tǒng),包括特征提取、模式匹配、參考模式庫等三個基本單元,它的基本結(jié)構(gòu)如下圖所示:

   未知語音經(jīng)過話筒變換成電信號后加在識別系統(tǒng)的輸入端,首先經(jīng)過預處理,再根據(jù)人的語音特點建立語音模型,對輸入的語音信號進行分析,并抽取所需的特 征,在此基礎(chǔ)上建立語音識別所需的模板。而計算機在識別過程中要根據(jù)語音識別的模型,將計算機中存放的語音模板與輸入的語音信號的特征進行比較,根據(jù)一定 的搜索和匹配策略,找出一系列最優(yōu)的與輸入語音匹配的模板。然后根據(jù)此模板的定義,通過查表就可以給出計算機的識別結(jié)果。顯然,這種最優(yōu)的結(jié)果與特征的選 擇、語音模型的好壞、模板是否準確都有直接的關(guān)系。

  2、語音識別技術(shù)的發(fā)展歷史及現(xiàn)狀

   1952年,ATTBell實驗室的Davis等人研制了第一個可十個英文數(shù)字的特定人語音增強系統(tǒng)一Audry系統(tǒng)1956年,美國普林斯 頓大學RCA實驗室的Olson和Belar等人研制出能10個單音節(jié)詞的系統(tǒng),該系統(tǒng)采用帶通濾波器組獲得的頻譜參數(shù)作為語音增強特征。1959 年,F(xiàn)ry和Denes等人嘗試構(gòu)建音素器來4個元音和9個輔音,并采用頻譜分析和模式匹配進行決策。這就大大提高了語音識別的效率和準確度。從此計算機 語音識別的受到了各國科研人員的重視并開始進入語音識別的研究。60年代,蘇聯(lián)的Matin等提出了語音結(jié)束點的端點檢測,使語音識別水平明顯上 升;Vintsyuk提出了動態(tài)編程,這一提法在以后的識別中不可或缺。60年代末、70年代初的重要成果是提出了信號線性預測編碼(LPC)技術(shù)和動態(tài) 時間規(guī)整(DTW)技術(shù),有效地解決了語音信號的特征提取和不等長語音匹配問題;同時提出了矢量量化(VQ)和隱馬爾可夫模型(HMM)理論。語音識別技 術(shù)與語音合成技術(shù)結(jié)合使人們能夠擺脫鍵盤的束縛,取而代之的是以語音輸入這樣便于使用的、自然的、人性化的輸入方式,它正逐步成為信息技術(shù)中人機接口的關(guān) 鍵技術(shù)。

  3、語音識別的方法

  目前具有代表性的語音識別方法主要有動態(tài)時間規(guī)整技術(shù)(DTW)、隱馬爾可夫模型(HMM)、矢量量化(VQ)、人工神經(jīng)網(wǎng)絡(luò)(ANN)、支持向量機(SVM)等方法。

   動態(tài)時間規(guī)整算法(Dynamic Time Warping,DTW)是在非特定人語音識別中一種簡單有效的方法,該算法基于動態(tài)規(guī)劃的思想,解決了發(fā)音長短不一的模板匹配問題,是語音識別技術(shù)中出 現(xiàn)較早、較常用的一種算法。在應用DTW算法進行語音識別時,就是將已經(jīng)預處理和分幀過的語音測試信號和參考語音模板進行比較以獲取他們之間的相似度,按 照某種距離測度得出兩模板間的相似程度并選擇最佳路徑。

  隱馬爾可夫模型(HMM)是語音信號處理中的一種統(tǒng)計模型,是由Markov鏈 演變來的,所以它是基于參數(shù)模型的統(tǒng)計識別方法。由于其模式庫是通過反復訓練形成的與訓練輸出信號吻合概率最大的最佳模型參數(shù)而不是預先儲存好的模式樣 本,且其識別過程中運用待識別語音序列與HMM參數(shù)之間的似然概率達到最大值所對應的最佳狀態(tài)序列作為識別輸出,因此是較理想的語音識別模型。

   矢量量化(Vector Quantization)是一種重要的信號壓縮方法。與HMM相比,矢量量化主要適用于小詞匯量、孤立詞的語音識別中。其過程是將若干個語音信號波形或 特征參數(shù)的標量數(shù)據(jù)組成一個矢量在多維空間進行整體量化。把矢量空間分成若干個小區(qū)域,每個小區(qū)域?qū)ふ乙粋€代表矢量,量化時落入小區(qū)域的矢量就用這個代表 矢量代替。矢量量化器的設(shè)計就是從大量信號樣本中訓練出好的碼書,從實際效果出發(fā)尋找到好的失真測度定義公式,設(shè)計出最佳的矢量量化系統(tǒng),用最少的搜索和 計算失真的運算量實現(xiàn)最大可能的平均信噪比。

  在實際的應用過程中,人們還研究了多種降低復雜度的方法,包括無記憶的矢量量化、有記憶的矢量量化和模糊矢量量化方法。

   人工神經(jīng)網(wǎng)絡(luò)(ANN)是20世紀80年代末期提出的一種新的語音識別方法。其本質(zhì)上是一個自適應非線性動力學系統(tǒng),模擬了人類神經(jīng)活動的原理,具有自 適應性、并行性、魯棒性、容錯性和學習特性,其強大的分類能力和輸入—輸出映射能力在語音識別中都很有吸引力。其方法是模擬人腦思維機制的工程模型,它與 HMM正好相反,其分類決策能力和對不確定信息的描述能力得到舉世公認,但它對動態(tài)時間信號的描述能力尚不盡如人意,通常MLP分類器只能解決靜態(tài)模式分 類問題,并不涉及時間序列的處理。盡管學者們提出了許多含反饋的結(jié)構(gòu),但它們?nèi)圆蛔阋钥坍嬛T如語音信號這種時間序列的動態(tài)特性。由于ANN不能很好地描述 語音信號的時間動態(tài)特性,所以常把ANN與傳統(tǒng)識別方法結(jié)合,分別利用各自優(yōu)點來進行語音識別而克服HMM和ANN各自的缺點。近年來結(jié)合神經(jīng)網(wǎng)絡(luò)和隱含 馬爾可夫模型的識別算法研究取得了顯著進展,其識別率已經(jīng)接近隱含馬爾可夫模型的識別系統(tǒng),進一步提高了語音識別的魯棒性和準確率。

  支 持向量機(Support vector machine)是應用統(tǒng)計學理論的一種新的學習機模型,采用結(jié)構(gòu)風險最小化原理(Structural Risk Minimization,SRM),有效克服了傳統(tǒng)經(jīng)驗風險最小化方法的缺點。兼顧訓練誤差和泛化能力,在解決小樣本、非線性及高維模式識別方面有許多 優(yōu)越的性能,已經(jīng)被廣泛地應用到模式識別領(lǐng)域。

  4、語音識別系統(tǒng)的分類

  語音識別 系統(tǒng)可以根據(jù)對輸入語音的限制加以分類。如果從說話者與識別系統(tǒng)的相關(guān)性考慮,可以將識別系統(tǒng)分為三類:(1)特定人語音識別系統(tǒng)。僅考慮對于專人的話音 進行識別。(2)非特定人語音系統(tǒng)。識別的語音與人無關(guān),通常要用大量不同人的語音數(shù)據(jù)庫對識別系統(tǒng)進行學習。(3)多人的識別系統(tǒng)。通常能識別一組人的 語音,或者成為特定組語音識別系統(tǒng),該系統(tǒng)僅要求對要識別的那組人的語音進行訓練。

  如果從說話的方式考慮,也可以將識別系統(tǒng)分為三類: (1)孤立詞語音識別系統(tǒng)。孤立詞識別系統(tǒng)要求輸入每個詞后要停頓。(2)連接詞語音識別系統(tǒng)。連接詞輸入系統(tǒng)要求對每個詞都清楚發(fā)音,一些連音現(xiàn)象開始 出現(xiàn)。(3)連續(xù)語音識別系統(tǒng)。連續(xù)語音輸入是自然流利的連續(xù)語音輸入,大量連音和變音會出現(xiàn)。

  如果從識別系統(tǒng)的詞匯量大小考慮,也可 以將識別系統(tǒng)分為三類:(1)小詞匯量語音識別系統(tǒng)。通常包括幾十個詞的語音識別系統(tǒng)。(2)中等詞匯量的語音識別系統(tǒng)。通常包括幾百個詞到上千個詞的識 別系統(tǒng)。(3)大詞匯量語音識別系統(tǒng)。通常包括幾千到幾萬個詞的語音識別系統(tǒng)。隨著計算機與數(shù)字信號處理器運算能力以及識別系統(tǒng)精度的提高,識別系統(tǒng)根據(jù) 詞匯量大小進行分類也不斷進行變化。目前是中等詞匯量的識別系統(tǒng),將來可能就是小詞匯量的語音識別系統(tǒng)。這些不同的限制也確定了語音識別系統(tǒng)的困難度。

  5、語音識別的應用

  語音識別可以應用的領(lǐng)域大致分為大五類:

  辦公室或商務系統(tǒng)。典型的應用包括:填寫數(shù)據(jù)表格、數(shù)據(jù)庫管理和控制、鍵盤功能增強等等。

  制造業(yè):在質(zhì)量控制中,語音識別系統(tǒng)可以為制造過程提供一種“不用手”、“不用眼”的檢控(部件檢查)。

  電信:相當廣泛的一類應用在撥號電話系統(tǒng)上都是可行的,包括話務員協(xié)助服務的自動化、國際國內(nèi)遠程電子商務、語音呼叫分配、語音撥號、分類訂貨。

  醫(yī)療:這方面的主要應用是由聲音來生成和編輯專業(yè)的醫(yī)療報告。

  其他:包括由語音控制和操作的游戲和玩具、幫助殘疾人的語音識別系統(tǒng)、車輛行駛中一些非關(guān)鍵功能的語音控制,如車載交通路況控制系統(tǒng)、音響系統(tǒng)。

  未來隨著手持設(shè)備的小型化,甚至穿戴化,各種智能眼鏡,手表等層出不窮,當然找準市場突破口很重要,好的解決方案和系統(tǒng)設(shè)計參考也是必不可少的。

語音識別技術(shù)及解決方案

  1.語音識別概述

  語音識別技術(shù),Automatic Speech Recognition,簡稱ASR,是一種讓機器聽懂人類語言的技術(shù)。語言是人類進行信息交流的最主要、最長用、最直接的方式。語音識別技術(shù)是實現(xiàn)人機 對話的一項重大突破,在國外近年來發(fā)展十分迅速,其應用也逐步得到推廣。近幾年逐漸普及的IVR(自動電話應答)處理了不少簡單而又重復的咨詢工作,節(jié)省 了不少人力,但這種按鍵式的語音自動應答卻讓客戶花費很多時間按指引來完成簡單的查詢,令用戶倍感不便。

  語音識別無疑可以解決該方面的問題。語音識別系統(tǒng)的開發(fā)成功,充分發(fā)揮了計算機技術(shù)和網(wǎng)絡(luò)技術(shù)的優(yōu)勢,采用先進的人機對話方式,擺脫電話按鍵的束縛,人們只要象平常一樣對著電話簡單的說出所需服務項目,即可輕松獲取自動系統(tǒng)提供的所需信息。


語音識別系統(tǒng)結(jié)構(gòu)

  2.語音識別應用

   公司是自然語音接口軟件的佼佼者。使用自然語音接口軟件,人們可以通過電話方便安全地獲取信息、服務并進行交易。每天,千千萬萬的人通過撥 打運行公司語音識別、語言理解和聲紋鑒別軟件的電話,進行出游預訂、股票交易、與其它通訊媒體、企業(yè)和互聯(lián)網(wǎng)系統(tǒng)進行交往等活動。 NUANCE的應用:美國航空、Bell Atlantic、Charles Schwab、家庭購物網(wǎng)絡(luò)、Lloyds TSB、Sears、UPS 。

  3.NUANCE語音識別特點

  (1)海量詞匯、獨立于講話者的健壯識別功能

  Nuance系統(tǒng)能可靠地對多種語言進行大詞匯量的識別,并可提供識別結(jié)果的置信度。該系統(tǒng)對商業(yè)上使用的大量詞匯提供最準確的語音識別技術(shù)。利用Nuance系統(tǒng)開發(fā)的應用程序,在市場上具有最高的準確率。生產(chǎn)中的應用程序經(jīng)測試,準確性超過96%。

  (2)基于主機的客戶/服務機結(jié)構(gòu)

  Nuance系統(tǒng)基于開放式客戶/服務機結(jié)構(gòu),特別為大型應用程序所需的健壯性和可伸縮性而設(shè)計。呼叫者的講話由客戶端收集,而識別和鑒別處理的負載被平均分配到網(wǎng)絡(luò)上的多個分開的服務器上。

 ?。?)N-Best處理

  對于有些應用程序,可能需要識別引擎產(chǎn)生可能的識別結(jié)果集,而不是一個最好的結(jié)果。Nuance系統(tǒng)的N-best識別處理方法便有這個功能,它提供了可能的識別結(jié)果列表,并按可能性從高到低排列。

 ?。?)語法概率

  Nuance系統(tǒng)允許對呼叫者所講的特定詞語或短語的在語法中的概率進行指定。當被講的詞語或短語的概率可根據(jù)實際使用進行估計時,非常有用。對語法增加概率可提高識別的準確率和速度。

  (5)降低噪音

   當進來的呼叫包含穩(wěn)定的背景噪音時,Nuance系統(tǒng)通過一種機制,使識別服務器更準確地進行識別。識別服務器將進來的話語進行增強,以有效地將語氣、 嗡嗡聲、哼叫聲、噓噓聲等噪聲過濾。如果相當數(shù)量的電話均含有穩(wěn)定的背景噪聲,比如在汽車上免提打電話時,這個機制效果較理想。

  4.基于識別的應用

  語音短信本身業(yè)務、公司電話簿、個人電話簿、智能點歌、股票查詢和交易、智能信息點播、列車時刻查詢

 ?。?)基于語音識別的公司電話簿

  公司電話薄應用描述

  系統(tǒng)能支持多個接入號碼,虛擬多個公司的總機。并依靠語音識別技術(shù),智能轉(zhuǎn)接到相應的用戶。

  流程

  用戶撥打接入碼,系統(tǒng)根據(jù)接入碼找到相應的公司數(shù)據(jù)庫,同時提醒用戶說出相應的用戶,系統(tǒng)依據(jù)相應的用戶查詢數(shù)據(jù)庫,并得到該用戶的號碼,并通知交換機將該號碼接通。

  公司電話簿特點

  •系統(tǒng)支持電話接入方式

  用戶可通過電話修改個人密碼,個人上班電話和非上班電話

  •系統(tǒng)支持WEB接入方式

  • 系統(tǒng)管理員可修改所有信息

  • 各公司管理員可增加,刪除,修改本公司的電話信息

 ?。?)基于語音識別的點歌功能

  功能描述

  用戶接入系統(tǒng),提示用戶說出歌名,并依靠語音識別技術(shù),查找到該歌名,并播放給用戶。

  應用流程

   用戶撥打接入碼,提示用戶說出歌名或歌手名,并依靠語音識別技術(shù),查找到該歌名或歌手名,若為歌名查詢數(shù)據(jù)庫,得到該歌存儲的路徑,并播放給用戶,若為 歌手名,則讀出該歌手的專輯,并提醒用戶選擇,用戶選擇后,讀出該專輯的歌名,并提醒用戶選擇,用戶選擇后,給用戶播放該歌曲。

基于節(jié)點的智能家居系統(tǒng)語音控制設(shè)計

  1 系統(tǒng)總體設(shè)計

  系統(tǒng)總體結(jié)構(gòu)如圖1所示,主要包括基于Samsung的S3C6410平臺的網(wǎng)關(guān)、基于SPCE061A的語音子節(jié)點、電器繼電器控制子節(jié)點、電器紅外控制ZigBee子節(jié)點等。其中各子節(jié)點與網(wǎng)關(guān)之間通過星型拓撲結(jié)構(gòu)進行連接。

  

   在對語音子節(jié)點進行訓練之后,當語音節(jié)點采集接收到語音控制命令時,執(zhí)行語音識別指令,通過收發(fā)模塊發(fā)送相應的控制指令到網(wǎng)關(guān)的主節(jié)點上。 主節(jié)點將接收到控制指令通過串口上傳到網(wǎng)關(guān)主機,主機在處理信息之后,再通過主節(jié)點發(fā)送相應的控制指令到控制子節(jié)點上,控制子節(jié)點在接收到相應的命令之后 就會執(zhí)行相應的動作,對被控對象進行控制。

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

 ?。?)網(wǎng)關(guān)。采用基于ARM11架構(gòu)的三星S3C6410處理器,與ZigBee主節(jié)點之間通過串口方式進行通信。S3C6410是基于ARM1176JZF-S的16/

 ?。?)語音子節(jié)點。由凌陽科技的SPCE061A單片機與ZigBec收發(fā)節(jié)點模塊組成。SPCE061A是凌 陽科技推出的以μ’nSPTM為核心的16位結(jié)構(gòu)的微控制器。具有8通道10位A/D轉(zhuǎn)換輸入功能,內(nèi)置自動增益控制功能的麥克風輸入方式以及雙通道10 位DAC方式的音頻輸出功能。在使用SAC M_S240凌陽音頻編碼方式時,可以容納長達210 s的語音數(shù)據(jù)。因此被廣泛應用于數(shù)字語音識別領(lǐng)域中。

  ?。?)電器控制繼電器子節(jié)點。由繼電器模塊與ZigBee收發(fā)節(jié)點組成。由于我國市電電壓在220 V左右,為了實現(xiàn)對部分家電開關(guān)的控制,采用繼電器模塊,并通過ZigBee通信模塊的芯片的I/O引腳及其外圍驅(qū)動電路,實現(xiàn)對繼電器模塊 的吸合與釋放控制。可以控制窗簾、燈光等開關(guān)型電器。

 ?。?)紅外控制子節(jié)點。由學習型紅外控制模塊與ZigBee收發(fā)子節(jié)點組成。目 前,紅外遙控類型的家用電器的比例正逐步攀升。因此本文在設(shè)計研究中采用了學習型的紅外控制模塊,它與ZigBee收發(fā)子節(jié)點之間通過串口進行通信。首先 使用一個或多個紅外模塊對現(xiàn)有的家電(如電視機、DVD、空調(diào)、投影儀等)紅外遙控器的信號進行學習,把相應的編碼存放到紅外模塊的存儲器E2PROM 中,每條代碼對應一個地址。當該

  ?。?)基于的ZigBee無線收發(fā)模塊。CC2530是TI公司推出的基于IEEE 802.15.4協(xié)議的片上系統(tǒng)。內(nèi)嵌增強型單周期的8051CPU,具有8 KB的SRAM、2個支持多種串行通信協(xié)議的USART、21個通用的I/O引腳、寬電壓范圍(2~3.6 V)、低功耗(主動模式RX:24 mA;主動模式TX在1 dBm:29 mA)以及電源電量可監(jiān)控等特點。在ZigBee協(xié)議棧中UART具有中斷、DMA兩種模式,本文設(shè)計中均采用了UART的中斷模式。

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

  系統(tǒng)軟件設(shè)計主要包括下位機軟件與上位機軟件設(shè)計。在下位機程序設(shè)計過程中有2個關(guān)鍵點:對數(shù)字語音信號的采集、處理與識別;ZigBee收發(fā)模塊對控制信號的接收、發(fā)送與執(zhí)行。而在上位機軟件設(shè)計中,主要是基于Visual C++的串口通信的編程。

  上位機主程序流程圖如圖2所示。

  

  S3C6410開發(fā)平臺具有4個UART接口,在研究設(shè)計中,采用了芯片MAX 3232來解決ZigBee通信模塊的CC2530芯片與該開發(fā)平臺之間的串口通信電平轉(zhuǎn)換。上位機通過串口接收語音子節(jié)點的控制指令數(shù)據(jù),將數(shù)據(jù)處理后 用文字顯示控制命令,并通過與ZigBee主節(jié)點之間的串口通信,向子節(jié)點發(fā)送控制指令數(shù)據(jù)。

  4 實驗及結(jié)果

  4.1 實際應用舉例

   在對電動窗簾進行開關(guān)控制時,首先將本系統(tǒng)的電器控制繼電器子節(jié)點與電動窗簾的開關(guān)量電機控制器相連接,準備好硬件電路。然后,通過串口編程使上位機的 ZigBee主節(jié)點在接收到語音子節(jié)點的窗簾開關(guān)命令時,向ZigBee子節(jié)點發(fā)射窗簾控制信號,從而當控制窗簾的繼電器子節(jié)點接收到控制指令時,能夠控 制窗簾執(zhí)行相應的開關(guān)動作。通過如依次說出“控制器”、“打開”、“窗簾”的命令時,語音子節(jié)點語音提示設(shè)備打開,主機界面顯示設(shè)備所處控制的狀態(tài),同時 窗簾打開。

  該語音控制智能家居系統(tǒng)能夠?qū)崿F(xiàn)家用電器的聯(lián)動。例如,可以通過依次說出“控制器”、“家庭影院”的語音命令。這時上位機能夠按照程序設(shè)定逐步延時:打開紅外遙控投影儀,紅外遙控幕簾,關(guān)閉窗簾,關(guān)閉部分燈光等來開啟家庭影院模式。讓人們體驗真正的家居智能化。

  4.2 ZigBee控制節(jié)點通信距離測試結(jié)果

  (1)空曠場合測試。測試條件:CC2530模塊采用PCB天線,發(fā)射功率在1 mW,發(fā)射頻率在2.4 GHz。測試結(jié)果:通信距離最遠可達120 m。

 ?。?)居家場合測試測試條件:同上。測試結(jié)果:由于墻體阻礙,通信距離約在20 m。

  4.3 語音控制紅外型電視開關(guān)測試

   在語音識別程序設(shè)計中,為了增加語音節(jié)點所能識別命令的條數(shù)而采用了分組法。利用紅外遙控子節(jié)點對電視遙控器的開/關(guān)信號進行學習,對語音子節(jié)點進行訓 練結(jié)束后,啟動系統(tǒng)。依次說出“控制器”、“打開”、“電視”連續(xù)三條命令,再說出“控制器”、“關(guān)閉” “電視”連續(xù)三條命令。測試結(jié)果如表1所示。

  

  5 結(jié)語

   將具有數(shù)字語音識別功能的SPCE061A單片機與低功耗、低成本的ZigBee技術(shù)相結(jié)合,開發(fā)了基于單芯片CC2530的ZigBee語音節(jié)點,并 利用ARM11架構(gòu)的開發(fā)平臺S3C6410作為網(wǎng)關(guān),WinCE 6.0的操作系統(tǒng),有著良好的人機交互界面,來共同應用于智能家居系統(tǒng)的語音控制中,實現(xiàn)了對開關(guān)型及紅外型家電設(shè)備的語音控制和家居智能化,實現(xiàn)人與家 電之間的對話,方便了人們的生活,具有廣闊的應用前景。

  設(shè)計詳情:基于ZigBee節(jié)點的智能家居系統(tǒng)語音控制設(shè)計

實時語音識別系統(tǒng)在家庭監(jiān)護機器人的實現(xiàn)

  文中闡述的是家庭監(jiān)護機器人項目中語音識別系統(tǒng)設(shè)計的部分,通過DSP、 DMA和ARM Cortex-A8的并行處理,利用雙緩沖的方法,在嵌入式Linux上實現(xiàn)了基于ATK的實時語音識別系統(tǒng)。文中對該系統(tǒng)的軟硬件進行了設(shè)計。在硬件方 面,給出語音識別系統(tǒng)的硬件組成原理,并提供了關(guān)鍵部分原理圖;在軟件方面,提出實時語音識別的方法,給出應用程序?qū)崿F(xiàn)流程。最后通過真人說話來進行語音 識別實驗,實時語音識別率達到了94.67%以上,實驗驗證了系統(tǒng)的軟件硬件設(shè)計的正確性。

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

  文中是家庭監(jiān)護機器人項目中的語音識別系統(tǒng)設(shè)計部分,設(shè)計目的是設(shè)計出一種可以識別語音的、協(xié)助監(jiān)護家庭行動不方便人員的機器人。為實現(xiàn)該語音識別系統(tǒng),設(shè)計了語音識別系統(tǒng)總體結(jié)構(gòu)框圖,如圖1所示。

  

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

  1.1 硬件設(shè)計

   文中所研究和設(shè)計的功能,都是應用在移動機器人上的。因而系統(tǒng)的研究設(shè)計需要考慮到體積小、省電、便于移動的特性,并需具有便于家庭用戶操作的友好顯示 界面。對于語音識別部分,需要用到用于語音識別算法處理的處理器、語音采集電路和語音輸出電路,如圖 2所示。其中語音識別算法運算的處理器主要負責算法的運算處理,相當于機器人的大腦;語音采集電路負責采集外部的聲音信號,相當于機器人的耳朵;語音輸出 電路負責輸出話語聲音,相當于機器人的嘴巴。

  

  圖2 系統(tǒng)硬件結(jié)構(gòu)圖

  1.2 軟件設(shè)計

   HTK(Hidden Markov Model Toolkit)是一套專門的建立和處理隱馬可夫模型(HMMs)的實驗工具包,由英國劍橋大學工程系(Cambridge University Engineering Department,CUED)開發(fā)的,主要應用于語音識別領(lǐng)域,也可以應用于語音合成、字符識別和DNA排序等研究領(lǐng)域。HTK經(jīng)過劍橋大學、 Entropic公司及Microsoft公司的不斷增強和改進,使其在語音識別領(lǐng)域處于世界領(lǐng)先水平。

  基于HTK的語言識別時,識別 結(jié)果適用只能顯示在DOS或終端上,而且不利于將結(jié)果保存、移植或者二次開發(fā)利用。在本語音識別系統(tǒng)中使用了HTK接口工具 ATK(AnApplication Toolkit for HTK)。ATK是由英國劍橋大學開發(fā)的開源語音識別工具,是對HTK的C++多線程封裝,跟HTK一樣,它支持Linux和Windows,它包括 HTK(HTKLib)、AHTK、AGram、ANGram、ADict、AHMMs、AResource、ARMan、ARec、ACode、 ASour ce、ATee、AComponent、ABuffer、APacket、Asyn、FLite(SYNLib)、ALog模塊部件。

  基于ATK的語音識別軟件應用系統(tǒng)的由語音信號采集模塊、基于DMA的雙向高速RAM存取模塊、ATK語音識別模塊、系統(tǒng)管理模塊、語音輸出模塊等模塊組成,如圖4所示。

  

  圖4 系統(tǒng)軟件設(shè)計結(jié)構(gòu)圖

   在軟件設(shè)計中,系統(tǒng)管理模塊主要負責系統(tǒng)的總體管理調(diào)度,是應用系統(tǒng)的調(diào)度中心;語音信號采集模塊主要負責控制數(shù)據(jù)采集芯片TPS 65930;基于DMA的雙向RAM存取模塊主要負責實現(xiàn)DMA驅(qū)動及雙向RAM的讀寫存取,使用了通道1來實現(xiàn)高速地把語音信號采集到的數(shù)據(jù)存儲到 RAM上,并使用通道2實現(xiàn)高速地把RAM的數(shù)據(jù)取出來,用于語音的識別;語音輸出模塊主要負責把相應的音頻數(shù)據(jù)送到TPS65930,并控制TPS6 5930對接收到的音頻解碼輸出到功放電路,實現(xiàn)語音輸出的功能。軟件的設(shè)計流程圖如圖5所示。

  

  圖5 軟件設(shè)計流程

  2 語音識別系統(tǒng)實驗及結(jié)果

   文中設(shè)計的語音識別系統(tǒng)如圖6所示。在實驗中總共進行了3輪話語測試,每輪300句話語測試,其中 150句為家庭監(jiān)護機器人需要識別的話語,150句話語為機器人不予置理的無關(guān)話語。從實驗測試結(jié)果可看出,對于識別10個需要識別的話語的識別率高達94.67%以上,具有較高的識別率,因而該語音識別系統(tǒng)較好達到了家庭監(jiān)護機器人使用的要求。

  3 結(jié)論

  文中通過DSP、DMA和ARM Cortex-A8的并行處理,利用雙緩沖的方法,在嵌入式Linux上實現(xiàn)了基于ATK的實時語音識別系統(tǒng)。該系統(tǒng)可以實時地實現(xiàn)語音識別,具有較高識別率,較快的響應速度??梢詰迷诩彝ケO(jiān)護機器人及其相關(guān)領(lǐng)域中。

  設(shè)計詳情:實時語音識別系統(tǒng)在家庭監(jiān)護機器人的實現(xiàn)

基于語音識別的汽車空調(diào)控制系統(tǒng)設(shè)計

  現(xiàn)在汽車上使用的電器越來越多,駕駛員需要手動操作的電器開關(guān)也越來越多, 不但增加了駕駛員的負擔,還影響了行車安全。本文以 STM32F103VET6(以下簡稱STM32)芯片為控制核心,采用高性能語音識別芯片,設(shè)計基于語音識別的汽車空調(diào)控制系統(tǒng)。該系統(tǒng)可 以用語音有效控制汽車空調(diào),減輕了駕駛員的操作負擔,保證行車過程中的安全。

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

   運用語音識別技術(shù),結(jié)合各種傳感器對車身內(nèi)外的環(huán)境(如氣溫、陽光強度等)以及制冷壓縮機的狀態(tài)等多種參數(shù)進行實時檢測,與設(shè)定參數(shù)相比較,微控制器經(jīng) 過運算處理做出判斷,輸出相應的調(diào)節(jié)和控制信號。執(zhí)行機構(gòu)經(jīng)過實時調(diào)整和修正,實現(xiàn)對車廂內(nèi)空氣環(huán)境全方位、多功能的調(diào)節(jié)和控制。系統(tǒng)的執(zhí)行機構(gòu)主要包括 溫度風門電機、模式風門電機、循環(huán)風門電機、鼓風機、壓縮機、除霜控制繼電器等。圖1為系統(tǒng)結(jié)構(gòu)框圖。

  

  1.1 主控制器

   主控制器為基于ARM Cortex—M3內(nèi)核的32位微控制器STM32F103VET6,內(nèi)置64 KB RAM、512 KBFlash,以及豐富的增強I/O端口和聯(lián)接到兩條APB總線的外設(shè),主要控制傳感器模擬信號的采集、語音信號的收發(fā)和汽車空調(diào)控制信號的輸出。

  1.2 語音識別模塊

   語音識別芯片選用的是ICRoute公司的芯片。該芯片集成了語音識別處理器和一些外部電路,包括A/D轉(zhuǎn)化器、D/A轉(zhuǎn)換器、麥克風接 口、聲音輸出接口等。本芯片在設(shè)計上注重節(jié)能與高效,不需要外接任何的輔助芯片(如Flash、RAM等),直接集成在現(xiàn)有的產(chǎn)品中即可以實現(xiàn)語音識別功 能。識別的關(guān)鍵詞語列表是可以任意動態(tài)編輯的。

  

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

  本系統(tǒng)軟件設(shè)計采用C語言開發(fā),用Keil uVision4軟件進行編譯。開發(fā)過程按照模塊化分塊進行,系統(tǒng)的主要模塊包括語音識別模塊、語音播放模塊、SD卡模塊以及空調(diào)控制模塊。

  2.1 語音識別模塊

   語音識別模塊采用中斷的方式進行工作,其工作流程大致為芯片初始化、寫入識別列表、開始識別、中斷響應并獲取識別結(jié)果。語音識別流程如圖8所示。在初始 化程序里,主要完成軟復位、模式設(shè)定、時鐘頻率設(shè)定和FIFO設(shè)定。在寫入識別列表之前,首先要讀取寄存器B2的值,檢查是否處于空閑狀態(tài); 然后,把識別語音列表信息寫入LD3320的05和B9寄存器中,每個識別條目是標準普通話的漢語拼音(小寫),每兩個漢語拼音之間用一個空格間隔。在完 成添加語音識別列表后,設(shè)定寄存器35的值為45H。此處設(shè)定的值越大,代表麥克的音量越大,識別距離也越遠,但是可能產(chǎn)生較多的誤識別;值越小代表麥克 的音量越小,需要近距離說話才能啟動語音識別功能,識別率也高。設(shè)定寄存器37值為06H,啟動語音識別,即可開始語音識別。如果麥克風采集到聲音,不管 是否識別出正常結(jié)果,都會產(chǎn)生一個中斷信號。進入中斷函數(shù)后,首先清零寄存器29和寄存器02;然后,檢查B2寄存器是否為0x21。若值為0x21,表 示閑,可以檢測2B的值;若為1,表示語音識別有結(jié)果產(chǎn)生。寄存器BF讀到數(shù)值為0x35,可以確定是一次語音識別流程正常結(jié)束。寄存器BA表示語音識別 有幾個識別候選結(jié)果。最后,可以讀取寄存器C5,獲取識別結(jié)果。

  

  2.2 語音播放模塊

   語音播放的軟件設(shè)計流程包括通用初始化、MP3播放初始化、播放音量調(diào)節(jié)、開始播放聲音以及中斷響應。通用初始化時,首先連續(xù)讀取寄存器06,相當于激 活了芯片;然后,按順序設(shè)置相關(guān)寄存器的值。MP3播放初始化時,首先要設(shè)置寄存器BD的值為02H,啟動MP3播放模塊;然后,向寄存器17寫入 48H,激活DSP。語音播放模塊的音量分為16級,用4位二進制表示,這里需要設(shè)置寄存器8E的第2~5位的值來調(diào)節(jié)播放音量。當播放語音時,首先需要 清零,開始播放位置。將寄存器1B的第3位設(shè)為1,然后執(zhí)行循環(huán)。當播放條件為真時,順序?qū)P3數(shù)據(jù)放入寄存器01(每次1個字節(jié)),播放位置值增加 1。當寄存器 06的第3位等于0或者播放位置小于MP3文件的總長度時,就跳出循環(huán)。等到芯片播放該段后會發(fā)出中斷請求,而中斷函數(shù)會不斷接收數(shù)據(jù),直到FIFO- DA-TA裝滿或聲音數(shù)據(jù)結(jié)束。

  結(jié)語

  本文介紹了基于語音識別的汽車空調(diào)控制系統(tǒng),分別對硬件電路和軟件設(shè)計進行了詳細的介紹。本系統(tǒng)開發(fā)成本低、性能優(yōu)越,系統(tǒng)測試表明,本系統(tǒng)具有一定的應用價值,可以用于中低檔汽車。

  設(shè)計詳情:基于語音識別的汽車空調(diào)控制系統(tǒng)設(shè)計

基于非特定人語音識別芯片的技術(shù)方案

  本文利用智能語音交互芯片設(shè)計了某模擬訓練器的示教與回放系統(tǒng)。示教系統(tǒng)為操作人員生動的演示標準操作流程及相應的操作現(xiàn)象,極 大地縮短了對操作人員的培訓時間,提高了培訓效果?;胤畔到y(tǒng)通過記錄操作訓練過程中各操作人員的口令、聲音強度、動作、時間、操作現(xiàn)象等,待操作訓練結(jié)束 后通過重演訓練過程,以便操作者及時糾正自己的問題。示教系統(tǒng)也可理解為對標準操作訓練過程的回放。該系統(tǒng)不需要虛擬現(xiàn)實技術(shù)的支持,在小型的嵌入式系統(tǒng) 上就可以實現(xiàn)。

  1 系統(tǒng)原理

  該模擬訓練器由一臺測控計算機和多臺從設(shè)備組成。如 圖1所示。在此僅對一臺從設(shè)備進行介紹,其硬件系統(tǒng)主要由測控計算機、Arduino mega2560 控制器、語音識別單元、聲強檢測單元、語音合成單元、面板控制單元、儀器面板等組成。面板控制單元較為復雜,包含多種控制電路,在模擬訓練中負責該從設(shè)備 在Arduinomega2560 控制器的控制下完成整個訓練過程,在示教與回放系統(tǒng)中完成對剛才操作訓練操作現(xiàn)象的重演,其具體電路設(shè)計在此不做介紹。

  

   語音識別單元負責識別操作人員的操作口令;聲強檢測單元負責檢測聲強大小并以此作為判斷是哪臺從設(shè)備操作人員口令的依據(jù);Arduino mega2560控制器負責監(jiān)視儀器面板各元件的狀態(tài)來識別操作人員的動作,從而完成對操作訓練過程的記錄。各儀器的操作現(xiàn)象根據(jù)操作動作事先編制無需記 錄。在操作回放過程中,測控計算機根據(jù)所記錄的數(shù)據(jù),通過控制相應從設(shè)備的Arduino mega2560控制器重現(xiàn)所記錄的操作過程。

  2 單元系統(tǒng)設(shè)計

  2.1 語音識別單元設(shè)計

  目前,語音識別技術(shù)的發(fā)展十分迅速,按照識別對象的類型可以分為特定人和非特定人語音識別。特定人是指識別對象為專門的人,非特定人是指識別對象是針對大多數(shù)用戶,一般需要采集多個人的語音進行錄音和訓練,經(jīng)過學習,從而達到較高的識別率。

   本文采用的LD3320語音識別芯片是一顆基于非特定人語音識別(Speaker?Independent Automatic SpeechRecognition,SI?ASR)技術(shù)的芯片。該芯片上集成了高精度的A/D 和D/A 接口,不再需要外接輔助的FLASH 和RAM,即可以實現(xiàn)語音識別、聲控、人機對話功能,提供了真正的單芯片語音識別解決方案。并且,識別的關(guān)鍵詞語列表是可以動態(tài)編輯的。其語音識別過程如 圖2所示。

  

   語音識別單元采用ATmega168 作為MCU,負責控制LD3320完成所有和語音識別相關(guān)的工作,并將識別結(jié)果通過串口上傳至Arduino mega2560 控制器。對LD3320芯片的各種操作,都必須通過寄存器的操作來完成,寄存器讀寫操作有2種方式(標準并行方式和串行SPI方式)。在此采用并行方式, 將LD3320的數(shù)據(jù)端口與MCU的I/O口相連。其硬件連接圖如圖3所示。

  

   語音識別流程采用中斷方式工作,其工作流程分為初始化、寫入關(guān)鍵詞、開始識別和響應中斷等。MCU的程序采用ARDUINO IDE編寫[5],調(diào)試完成后通過串口進行燒錄,控制LD3320完成語音識別,并將識別結(jié)果上傳至Arduino mega2560控制器。其軟件流程如圖4所示。

  

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

  示教與回放系統(tǒng)的軟件設(shè)計包括測控計算機的軟件設(shè)計和各從設(shè)備Arduino mega260控制器的軟件設(shè)計。

   測控計算機是整個系統(tǒng)的控制核心,其軟件采用C#進行編寫,在示教與回放系統(tǒng)中主要是對操作數(shù)據(jù)的記錄以便根據(jù)所記錄的數(shù)據(jù)對操作過程進行精確回放,需 要記錄的數(shù)據(jù)包括:各從設(shè)備操作人員的操作口令,操作動作,口令及動作時間,各操作對應的操作現(xiàn)象。為簡化記錄數(shù)據(jù),事先編制好各事件代碼,記錄過程只記 錄代碼,大大提高程序效率。建立結(jié)構(gòu)體如下:

  

   在操作訓練過程中測控計算機每隔50 ms 對下位機進行控制及輪詢,并記錄反饋數(shù)據(jù),在數(shù)據(jù)記錄時以50 ms 為一個單位。采用定時器對時間進行控制。在回放過程中首先比對當前時間和所記錄的時間,當所記錄的時間與當前時間吻合時測控計算機控制下位機執(zhí)行該事件, 完成事件回放。

  Arduino mega2560控制器負責接收測控計算機的控制指令并執(zhí)行指令,讀取語音識別結(jié)果,對聲強數(shù)據(jù)采集和處理,控制語音合成單元進行語音合成等。Arduinomega2560 控制器采用串口中斷的方式進行命令接收。

  只有正確接收到命令才會執(zhí)行并回傳結(jié)果,若測控計算機在限定時間內(nèi)未收到回傳結(jié)果則表明發(fā)生錯誤,測控計算機需重新發(fā)送。數(shù)據(jù)接收流程圖如圖8所示。

  

  4 總結(jié)

  本文利用智能語音芯片設(shè)計了某模擬訓練器的示教與回放系統(tǒng),該系統(tǒng)不需要現(xiàn)在流行的虛擬現(xiàn)實技術(shù)的支持,僅在MCU 的控制下就可以運行。該系統(tǒng)也可以在小型的便攜式設(shè)備上實現(xiàn),具有良好的應用前景。

  設(shè)計詳情:基于非特定人語音識別芯片的技術(shù)方案

  相關(guān)文章:

  基于LD3320的嵌入式語音識別系統(tǒng)設(shè)計

  基于DSP的語音識別系統(tǒng)的實現(xiàn)及分析

  基于TMS320VC5507的語音識別系統(tǒng)實現(xiàn)

  基于語音識別技術(shù)的聲控鼠標光標程序設(shè)計

  基于DSP的漢字語音識別系統(tǒng)設(shè)計



關(guān)鍵詞: 語音識別 ZigBee Nuance CC2530 LD3320

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉