<table id="swusu"><noscript id="swusu"></noscript></table>
  • <noscript id="swusu"></noscript>
  • <table id="swusu"></table>
  • 詳解機器人語音系統
    發布時間:2016-12-07 11:56:29
    語音識別系統

    1 語音識別的整體層次模型

    對人類語音通信過程的分析表明(圖),



    人類產生、理解語音的過程是按照層次逐步進行的,語音生成過程為圖左半部分所示,語音識別(這里我們廣義的認為語音理解和語音識別等同概念)的過程可類比于圖右半部分過程。盡管這個過程中的一些機理還沒有完全被弄明白(例如聽覺機理、神經系統控制和模擬),我們仍可認為:語音識別就是將語義信息從聲波上“解調”的過程,語音識別系統可類比于通信系統的接收機(語音合成系統相當于發射機)。這樣給我們一個信息:我們可否仿照通信系統中的051(開放系統互連)模型的建立,將語音識別定義為層次模型〕,這樣可以更清晰化的理解語音識別的整體結構。實際上,在許多已有的語音識別系統中,研究人員或多或少地采用了分層處理的方式來設計語音識別系統,表1概括了對語音識別層次的描述:



    我們可以將物理接口層、預處理層、特征提取層定義為聲學層;次音節感知層、音節感知層定義為語音層;詞語識別層、語句識別層定義為語言層。語音識別系統應用層次越多,結構越復雜,需要的專家知識也越多。當然上述層次的劃分并沒有嚴格上的定義,卻是有助于對語音識別模型的理解和系統的設計。
     
    對于一個應用語音識別系統,可能并不包括層次模型的每層結構,這就如通信系統并不一定要滿足051模型的七層協議一樣,我們對比三種典型的語音識別的應用:




    第一種方案為典型的中小詞匯量)孤立詞識別系統。系統以詞語為基元建立模板,沒有次音節、音節單元,也沒有上層的語句語義層次,每個詞條命令就是識別的最終結果。這種系統可認為語音、語言的知識都包含在以詞組為單元的模板中。典型的識別系統如AT&T用于電話查詢的系統。
     
    第二種方案仍然以詞語為識別基元、連續或連接詞的語音識別系統。系統為每一詞條建立模板,最終任務是按一定的語法規范將詞語識別結果依次連綴成句子,這類系統往往用于特定任務(航班查詢,電話查詢等),具有明顯的語句識別層次。
     
    第三種方案是以全音節為基元模型建立的識別系統。使用N一best算法逐次獲得前N個最好的候選單元(無調、有調音節),再按詞性、句法、語法網絡信息得到最后識別結果。這種方案多用于漢語大詞匯量、連續語音識別系統。
     
    第一種應用系統的結構最簡單,但也最基礎,面向任務的孤立詞語音識別系統中,很多仍然成功地使用該結構。相對于連續大詞匯量語音識別系統而言,其具有更優的識別率和穩定性,對于語音識別識的學習和初建,無疑是最好的選擇;第二種系統相對于第一種增加了語法規范,第三章中對連續語音識別的介紹中將作詳細的討論:第三種識別系統中以全音節建模,同樣我們可以用次音節為建?;?漢語聲韻母、英語音素)。特別強調的是,系統選用建?;囊陨蠈哟尾⒉灰欢ㄐ枰谧R別系統中完備出現,例如SPH則X英語識別選用音素作為建模,但并不是將音節作為中間的識別單元,而是從次音節單元直接到單詞的識別,最后識別出句子。漢語識別同樣可以以聲韻母為建模,直接跳過全音節(字)層次進行詞識別。

    2 語音識別的框架
    整體層次模型對語音識別系統作了一個縱向的分析,具體的任務可對應不同層次結構的選取。這一節,我們從一個典型的語音識別系統結構(圖)入手,從模式識別的角度來理解語音識別系統的構成。



    語音識別系統本質屬于模式識別的范疇,從圖可以發現,識別中的語音層、語言層知識都涵蓋在模式匹配的模型中。計算機首先要根據人的語音特點建立語音模型,對輸入的語音信號進行分析,并抽取所需的特征,在此基礎上建立語音識別所需的模板。而計算機在識別過程中要根據語音識別的模型,將計算機中存放的語音模板與輸入的語音信號的特征進行比較,根據一定的搜索和匹配策略,找出一系列最優的與輸入的語音匹配的模板。然后,據此模板的定義,通過查表就可以給出計算機的識別結果。顯然,這種最優的結果與特征的選擇、語音模型的好壞、模板是否準確都有直接的關系.

    3 語音信號的產生模型

    討論語音識別系統實現前,將語音信號的產生模型為獨立模塊拿出。作為語音信號處理的基礎之一,在后面章節的討論中,線性預測、預加重、同態信號處理等概念都依賴于語音信號產生模型。語音信號可以看作是激勵信號激勵一個線性系統而產生的輸出。其中,濁音信號是由一個周期性的占脈沖串激勵線性系統成生輸出,這個線性系統由聲門脈沖模型、聲道模型、輻射模型級聯而成。系統傳輸函數為:

    Hv(z)=G(z)·V(z)·R(z)

    激勵信號是一個周期性的脈沖串:那么濁音信號就是兩者的卷積結果,即:x(n)=P(n)*hv(n)

    而清音信號是由白噪聲序列激勵一個線性系統而產生輸出,這個線性系統僅由聲道模型和輻射模型級聯而成。系統傳輸函數為:

    Hu(z)=V(z)·R(z)

    激勵信號u(n)假定為白噪聲序列,于是有:

    x(n)=u(n)*hu(n)



    語音產生模型

    語音信號是一種典型非平穩信號,特性是隨時間變化的。但是在sms一50ms這樣的短時內,其頻譜和某些物理特征量可以看作是不變的,這就是語音信號處理短時平穩統計特性的基礎。我們將語音信號分割為一些短段(分析幀),這些短段就好像來自一個具有固定特性的持續音片斷,對該短段進行處理就相當于對固定特性的持續語音進行處理。通常幀有一些疊接,使得幀與幀之間平滑過渡,保持語音信號的連續性。對每一幀的處理結果或是一個數或是一組數,經過處理以后產生一個新的依賴于時間的序列,而用于描述語音信號。

    機器人語音控制及其實現

    語音是人類進行信息交換的一種最便捷的方式,近些年來隨著計算機、通訊技術的發展,語音識別技術的重要性進一步得以體現。與此同時,在機器人研究領域,智能機器人成為研究的熱點。智能機器人系統綜合運用了多種人工智能技術,其目標是建立起一個“人”的模型,讓機器人聽懂人的語言就是其中之一。語音識別是研究如何采用數字信號處理技術自動提取以及決定語音信號中最基本、最有意義的信息的一門新興的邊緣學科。目前,常用的語音識別算法有:基于模板匹配的動態時間規整法(DTW)、基于統計模型的隱馬爾柯夫模型法(HMM)以及基于神經網絡的識別法等。進入20世紀80年代以后,語音識別技術的研究更加活躍,研究的重點也由小詞匯量、特定人非連續的語音識別逐漸轉向大詞匯量、非特定人連續語音識別。在研究思路上也發生了重大變化,即由傳統的基于標準模板匹配的技術思路開始轉向基于統計模型、特別是隱馬爾柯夫模型(HMM)的技術思路。但是,在識別詞匯量不是很大的應用場合中,基于模板匹配的語音識別技術不但簡單方便、實時性好,而且有著較高的識別率,所以仍然有著廣泛的應用前景。本文將基于模板匹配的語音識別技術成功的應用于機器人控制系統,實現了機器人的語音控制,使機器人具有了聽覺功能。

    1 基于模板匹配的語音識別技術
     
    語音信號一個極其重要的特點就是“短時性”,即語音信號的特征是隨時間而變化的,但在一段較短的時間間隔中,可以認為語音信號的特征基本保持不變,這也是語音信號數字處理的一個重要出發點。

    1.1 語音識別的基本原理
     
    語音信號的發聲模型如圖1所示。時變數字濾波器H(z)用來模擬聲道的形狀,增益因子G給出聲音的強度。在處理時,常認為在一個短時段內聲道形狀基本保持不變,即可設在短時段內數字濾波器是“時不變”的,當設濾波器的Z傳遞函數H(z)為全極點模型時(實際并非全極點模型,全極點模型是一個簡化的模型,但是它足以描述大多數情況下聲音的產生),H(z)可表示為:



    式中ai(i= 1,2,… ,p)隨短時段而變動。在語音信號處理中,每一短時段稱為一幀,幀與幀之間可部分重疊。由于參數ai(i= 1,2,… ,p)可唯一地描述一短時語音信號,它們也就成為了這一短時語音信號的特征,表示語音在這一短時段的聲道形狀、聲帶振動周期和聲音的強度。因此,從語音的物理模型出發,其中的參數是語音信號特征的重要來源。當然這樣得到的特征并不一定是絕對獨立的,此圖也并不能描述所有語音的發音模型,有時還要需要對特征作適當的推演,形成另一些形式的特征,如倒譜特征、線譜對特征等。



    一種常用的語音識別方法就是提取語音特征,并建立模板庫,根據語音特征將待識別語音信號與模板庫進行匹配,根據匹配距離來進行語音識別。這就是基于模板匹配方式的語音識別技術的基本原理,如圖2所示。



    1.2 特征的選擇與提取
     
    對語音信號進行端點檢測、預加重、分幀加窗等預處理之后便得到短時語音幀,特征提取是從短時語音幀中提取對語音識別有用的信息。用于語音識別的語音特征有很多種,比如線性預測系數LPC、LPC倒譜系數、線譜對特征等,其中LPC倒譜系數作為一種從時域分析中得出的頻域參數,具有非常明顯的聲學特征和物理意義,在孤立詞語音識別中(如機器人的語音命令),用LPC倒譜系數來表征短時語音信號可以得到很好的效果。
     
    一個語音取樣的現在值,可以用若干個語音取樣的過去值的加權線性組合來逼近。各加權系數的確定原則是使預測誤差的均方值最小。如果利用過去p個取樣值來進行預測,稱為p階線性預測,在線性組合中的加權系數就稱為線性預測系數。若用 xj(n)表示xj(n)的預測值,則 xj(n)可通過時刻n前的p個語音取樣值的線性組合來進行預測,即:



    預測值和語音樣本之間的差值稱為預測誤差ej(n),即ej(n)= xj(n)- xj(n)。式中的預測系數a1,a2,… ,ap可通過使預測誤差ej(n)=xj(n)-xj(n)達到最小的方式來獲得。因此,線性預測系數的求解過程可分析如下:

    (1)設ej(n)表示時刻n的預測誤差,則ej(n)為:



    (2)分析區內的N個語音取樣值的預測誤差分別取其平方,然后進行累加。即計算預測誤差的能量E



    (3)因為決定ai的準則是使Ej最小,所以令:



    用自相關法求解這組包括p個未知數的p個方程,則可得到某語音幀上平均預測誤差為最小的線性預測系數ai。


    將語音信號的短時自相關系數Rj(k)帶入上述方程可得到聯立方程組:



    (4)用Durbin的遞推算法求解聯立方程組,便可求得此短時語音幀的p階線性預測系數。LPC倒譜系數C(n)是在線性預測系數的基礎上得到的,LPC倒譜系數C(n)的遞推式有下3式表示,為方便起見,式中省略了表示幀編號的下標。



    倒譜系數的階數可以取得大一些,這樣可以保存更多的信息,但是隨著階數的增大,C(n)將變得很小,實際上沒什么作用,反而使運算量增大,一般取8~ 32階便可以比較好的表征聲道特征.

    1.3 模板匹配與動態時間歸整
     
    對語音進行訓練并建立特征模板庫之后,在識別過程中,模板的匹配實際上就是對模板庫進行提取和比較的過程。模板的匹配需要有一個標準,這就是失真測度的概念。常用的失真測度有歐式距離、對數頻譜距離、倒譜距離、以及板倉-齊藤距離等[5]。在模板匹配過程中,由于即使同一個人在不同的時間發出相同語音的時間長度也是不可能相同的,比如同樣的語音命令,在訓練時和進行識別時的幀長是不同的,這就存在著不同個數的特征矢量之間進行比較的問題,因此,在匹配過程中一般采用動態時間歸整法(DTW)對參考語音模式和待測語音模式的時間軸進行非線性歸一化變換,以使兩種模式在時間軸上“對齊”。

    設R為參考模式(特征矢量的時間序列),T為待測模式,R和T分別表示為:

    R={r1,r2,… ,rj,… ,rJ};T={t1, t2,… ,ti,… ,tI}。
    在圖3所示的T- R平面上,時間伸縮函數可以用該平面上的陣點序列F(路徑)來表示。



    即用陣點序列F來表示R、T兩個模式在時間軸上的對應關系。

         F={c1,c2,… ,ck,… ,cK},(10)
    式中Ck=(ik,jk), ik= 1,I;jk= 1,… ,J
    若以d(ck)= d(ik, jk)表示兩個特征矢量tik和rjk的距離,就可以用下式表示沿F的距離總和,該值越小,表示T和R的對應越好。



    這里,把通過改變路徑F時所得到的最小的D(F)值定義為T對R的最佳失真測度D(T,R)。即:
          D(T,R)= min{D(F)}(12)
    式11中Wk表示與F相關的正加權函數,為求解簡便,一般將其看成與F無關的常量,常用的一種方法是采用市街距離(city block distance)來表示陣點上的距離,此時Wk可表示定義為:
     Wk=(ik-ik-1)+(jk-jk-1,(i0=j0=0)(13)
    因此式11可以改寫為:


    D(T,R)的求解過程可以理解為,從始點(1,1)沿著一條怎樣的路徑F到達終點(I, J)時,才能使兩模式之間的匹配距離D(F)為最小?,F設部分陣點c1, c2,…, ck(ck=(i, j))的距離和為g(ck),則:


    根據與DTW有關的約束條件及加權函數Wk的定義,上式可簡寫為:


    因此,設始點g(c1)= g(1, 1)= 2d(1, 1),在匹配窗的范圍內,一邊變化i,一邊計算上式,然后增加j,反復進行相同的計算,使j= J,最后設D(T,R)= g(I, J)/(I+ J),就能計算出T和R兩個矢量時間序列的時間歸一化后的失真測度(距離)。

    2 機器人語音控制系統的實現
     
    本系統所使用的機器人為自行研制的五自由度七感覺智能工業機器人,各關節板以及主控板均由單片機控制,它們之間采用串口進行相互通訊。此外,主控板通過8251擴展了一個串口,經過MAX232電平轉換后用以實現和PC機進行通訊。
      
    如圖4所示,通過聲卡對語音信號進行采集,采用了8 000Hz/s的采樣頻率,16bit量化的PCM格式。語音識別部分在PC機上完成,在進行端點檢測、預加重、分幀加窗等預處理之后,對得到的短時語音幀提取16階LPC倒譜系數作為特征矢量,匹配過程中采用動態時間歸整對兩種模式進行非線性歸一化,以提高識別效果。識別結束后,將識別結果轉換成與語音命令相對應的命令控制字,并通過串口發送給機器人主控系統,進而控制機器人執行相應的動作。


    機器人語音控制系統的設計與實現

    1.系統組成
    語音遠程控制機器人系統可以分為本地語音識別發送端和遠程機器人控制端,即客戶機和服務器。它們均是基于Windows系統。語音遠程控制機器人系統的整體結構框圖,如圖l所示。


    2.語音識別原理
    語音識別分為訓練階段和識別階段:第一步是系統“訓練”階段,任務是建立識別基本單元的聲學模型;第二步是“識別”階段。按照一定的準則和測度與系統模型進行比較,通過判決得出識別結果。本系統是基于小識別詞匯量的語音識別系統,采用如圖2所示的模板匹配法。


    語音信號的預處理
     
    系統采用麥克風將語音信號輸入給計算機,再進行預加重、分幀加窗處理,然后進行端點檢測。其中加窗使用Hamming窗,因為Hamming窗的旁瓣較低,可以有效地克服Gibbs現象。
    特征提取
     
    特征提取是從短時語音幀中提取對語音識別有效的信息。在孤立詞語音識別中,用Mel頻率的倒譜系數(Mel Frequency Ceqstrum Coefficient,MFCC)作為語音特征取得了較好的效果。MFCC完整的計算過程,如圖3所示。


    基于隱馬爾科夫模型(HMM)的識別過程
     
    在語音命令識別中,應用HMM包括兩個步驟,其中一個重要的步驟就是識別。在進行識別時,為每一個參考模型計算出產生測試觀察的概率,且測試信號按最大概率被識別為某個命令。

    3.客戶
    服務器工作模式原理Windows支持TCP協議,提供標準Socket調用。Socket編程均采用客戶彬服務器模式,客戶桫服務器模式在操作過程中采用主動請求方式。其TCP傳輸的客戶機/服務器通訊模型。如圖4所示。


    4.機器人控制系統
    語音遠程控制機器人系統的機器人平臺是上海廣茂達公司生產的AS—MRobotE智能風暴移動機器人。AS—MRobotE函數開發庫中已提供了完善的運動系統程序代碼。其控制系統是在Windows平臺下用C/C++語言為AS—MRobotE開發應用程序的一般方法。編程過程中只需添加m6e—api庫為AS—MRobotE開發應用程序庫,具體編程過程和說明見其操作手冊。5人機交互系統的實現

    套接字(Socket)通信機制

    Socket是對應TCP/IP協議的典型應用開發接口。它提供了不同主機間進程通信的端點,應用進程之間要通過網絡進行通信,必須在網絡的每一端建立套接字,通過對套接字的“讀”、“寫”操作實現網絡通信。作為網絡應用編程界面,Socket隱藏了網絡底層的復雜結構和協議,使得編程人員可以簡單地對網絡進行操作。
     
    Socket主要有兩種通信方式,第一種叫流方式(Stream Socket),也稱面向連接方式。在這種方式下,通信進程之間要先建立一種虛擬的連接,這種方式對應的是TCP協議,其傳輸特點是通信可靠性高,按發送的順序接收數據;數據被看作是字節流,無長度限制。第二種叫做數據報方式(Datagram kSocket),又稱無連接方式,它提供無連接服務,對應的是UDP協議,這種方式不提供數據無錯保證,數據可能丟失或重復,并且接收順序混亂,報文的長度是有限的。
     
    Socket的編程原理是基于套接字的系統調用。應用程序首先必須通過系統調用socket()創建套接字。然后,調用bind()將套接字地址與所創建的套接字聯系起來。通過connect()和accept()兩個系統調用建立套接字的連接,其中connect()用于建立連接,accept()用于使服務器等待來自客戶的實際連接。listen()用于面向連接服務器,表明它愿意接收連接。  當一個連接建立后,就可以使用系統調用send()和recv()發送和接收數據了。最后調用closesocket()關閉套接字,并釋放所分配給套接字的資源。

    客戶端的交互界面
     
    圖5所示的是系統客戶端的界面。該系統實現了語音識別的訓練及識別、服務器的口及端口設置、運行狀態的顯示,以及發送識別指令等智能控制功能。


    服務端的交互界面
     
    圖6所示為系統服務器的界面。該系統實現了顯示本地IP、機器人初始化、本地控制、遠程控制狀態顯示、服務器端口設置,以及指令顯示等智能控制功能。


    語音遠程控制機器人系統采用了使用廣泛的Windows系統平臺,并且引入了語音識別與網絡通信技術,使其控制方式更加智能化。首先是采用基于模板匹配技術的語音識別方法對有限的指令進行識別,不但能夠得到比較高的識別率,而且易于實現;然后通過Socket機制實現了遠程通信,并最終根據指令實現了對機器人的語音遠程控制。實驗驗證了語音遠程控制智能機器人運動的準確性和實時性。本系統具有極其優異的性能價格比、通用性、開放性和擴展性;基于Windows語音遠程機器人控制系統在價格、性能和發展潛力上都具有競爭力,代表了未來的發展方向,有較好的應用前景。

    日韩精品无码一区二区三区在线_中文字幕不卡乱偷在线观看_日本无码av不卡一区二区_男女真人牲交A做片