專利名稱::嵌入式語音識別系統及其內核技術的制作方法
技術領域:
:本發明涉及一種語音的自動識別技術,尤其涉及一種用于小規模語音識別產品的嵌入式語音識別系統及其內核技術。
背景技術:
:自動語音識別技術屬于IT行業比較邊緣的技術,經20多年的發展己逐步走向成熟。它是采用電腦或獨立電子裝置來自動識別人類自然語音的技術,因而,可以應用于任何需要使用語音向電子裝置輸入信息的情景。特別是最近五年來,由于微電子產業的快速發展以及相關
技術領域:
的成熟,使得語音識別這一長期以來的愿望逐步成為可能。嵌入式語音識別技術,特指在電腦以外的獨立裝置上運行的技術。業界逐漸認為,它有著比非嵌入式語音識別技術更廣泛的應用范圍和前景。由于語音識別技術本身的諸多復雜性,以及一般嵌入式——如手機等裝置,需要額外解決如環境噪音等諸多問題,因此,使得這一領域不論在國內還是在國外,至今均沒有出現令人滿意的實用產品。進而,由于小型嵌入式——如智能玩具等單一芯片系統,需要面對低成本限制所帶來的系統資源有限,并且需要達到一定的識別準確率,因此,就更加具有挑戰性。目前,大多數嵌入式語音識別系統中的關鍵內核技術,都是采用現成芯片或模塊集成到系統中去的,由于存在抗噪音和有限系統資源等方面存在的問題,因此,這些芯片或模塊都不能做到相對完善的程度,市場上也不存在標準的產品供開發者選用并集成。另外,由于系統控制方式與算法的缺陷,也使得該系統使用時要占用大量系統資源,在識別過程中有可能會耗費大量電能,從而影響嵌入式語音識別系統的正常使用。
發明內容本發明的目的在于提供一種嵌入式語音識別系統,它針對于中小型嵌入式語音識別技術的特點,通過科學合理的算法模型,并通過芯片或模塊的設計優化與集成,使系統達到較佳的使用性能。本發明的另一目的在于提供一種嵌入式語音識別系統的內核技術,該技術通過小型數字信號處理器(DSP)硬件平臺可實現連續語音識別、語音理解和"關鍵詞檢出",并可實現系統的小型化,低成本制作。為實現本發明的目的,一種嵌入式語音識別系統,包括語音拾取裝置,與語音拾取裝置相連的模數轉換器,與模數轉換器相連的識別算法部分,主程序部分與識別算法部分、增益控制部分及驅動控制等執行部分相連接,以及用于存儲識別器算法固定參數的內存器,所述的語音識別算法部分包括與模數轉換器相接的端點檢測部分、前置降噪、特征提取和隱式馬爾科夫模型(H^Q識別器部分,馬爾科夫模型識別器還與語言模型參數模塊和參數適配模塊相適配,端點檢測部分與特征提取部分均與增益控制部分連接。為實現本發明的另一目的,一種嵌入式語音識別系統的內核技術,在語言參數的模塊中,為在小型數字信號處理器(DSP)硬件平臺上實現連續語音識別、語音理解和"關鍵詞檢出"功能所采取的一種子詞單元,作為隱式馬爾科夫模型(HMM)模型參數的結構單元,所選子詞為包含臨域影響的通用無調雙音(contextdependentgeneralizedtonelessbiphone),這禾中具體子i司適應于中文i吾音識別,而對于其它語種的識別有類似技術手段來定義最合適的子詞單元;所述的包含臨域影響的通用無調雙音子詞單元,同時使用大量不同說話者的語音數據對隱式馬爾科夫模型(HMM)參數進行出廠前訓練的方法,識別系統能夠正確識別一種語言中全部詞匯和所有未來說話者的語音,而無須采用這些未來說話者的任何語音資料。本發明的優點是該系統通過科學的算法模型,結合嵌入式語音識別技術的優化設計,解決了語音識別技術在現實使用過程中的瓶頸,從而實現了以最經濟有效的形式達到中小型語音識別系統所要達到的使用要求。圖1為本發明嵌入式語音識別系統的工作原理框圖;圖2為本發明嵌入式語音識別系統中識別器的工作原理框圖。下面結合附圖對本發明嵌入式語音識別系統及其內核技術作進一步的詳細說明具體實施例方式如圖l、2所示,一種嵌入式語音識別系統,主要包括語音拾取裝置,與語音拾取裝置相連的模數轉換器,與模數轉換器相連的識別算法部分,主程序部分與識別算法部分、增益控制部分及驅動控制等執行部分相連接,以及用于存儲識別器算法固定參數的內存器;上述的語音拾取裝置主要是指有線或無線的話筒;上述的主程序控制部分通過聲頻輸出與揚聲器相連,對話過程中識別器發出的語音、音樂由該揚聲器發出;上述的語音識別算法部分包括與模數轉換器相接的端點檢測部分、前置降噪、特征提取和隱式馬爾科夫模型(H醒)識別器部分,馬爾科夫模型識別器還與語言模型參數模塊和參數適配模塊相適配,端點檢測部分與特征提取部分均與增益控制部分連接;由所述模數轉換器、識別算法部分、主程序部分、增益控制部分及驅動控制執行部分等組成的專用集成電路(ASIC),其結構基礎采用數字信號處理器(DSP)類芯片作為基本硬件結構,且內部包含有高效運算單元和外圍接口電路;所述的數字信號處理器(DSP)類芯片采用16位定點數字信號處理器(DSP)。系統電路中還設置有電平喚醒電路,該電路設置在語音拾取裝置之后并與主程序部分連接。具體結構及工作過程描述如下如圖1所示,為嵌入式語音識別系統的總體結構。其中黑線框內為專用集成電路(ASIC)部分,虛線所示模塊表示在某些類型系統中的可選部分。當語音拾取裝置采用單一的話筒時,該主話筒收取語音輸入信號,經模數轉換為數碼信號,送至識別器算法部分。在多話筒產品中,另有一個或多個輔話筒收取其它信號經有線或無線連接傳送到另外路徑的模數轉換,同樣送到識別器算法。這些輔話筒的信號作用是,在某些聲場環境下,更佳地去除背景噪音影響的算法所用。所有模數轉換器的增益可以經算法和主程序進行動態控制。識別的輸出結果經必要的控制驅動,對外部動作進行控制,例如電動機、燈、顯示等,具體控制的類型和數量根據需要而設定。語音識別和對話過程中識別器發出的語音或音樂等輸出,經聲頻輸出推動揚聲器發聲。內存器用來存儲識別器算法所用的固定參數部分,以及識別過程需要的變化部分。另外,整個系統還設置有電池供電。在有些類型的系統中,還需要有外存來存儲部分的模型和系統參數,以靈活地滿足中小批量客戶的多樣需求。如圖2所示,為所述語音識別器及其相關的主要算法部分。經模數轉換的連續數碼輸入信號,由端點探測模塊確定輸入信號中語音部分的起始和結束點;這樣可以使語音識別算法部分僅僅集中計算屬于語音的信號。同時,結合外部簡單的電平喚醒電路,系統諸多運算模塊在多數沒有聲音的時間段,都處于低耗電的待機狀態。在探測到語音輸入時,由一有限狀態機協助確定,并在這段時間內進行語音識別的運算。而后,根據單話筒或多話筒系統,基于當時環境噪音的強弱,動態地壓縮噪音部分,盡量保持干凈的語音信號進入后繼模塊。降噪模塊部分地利用了端點探測的結果,來區分含語音及純噪音的信號。特征提取模塊將輸入語音信號分成等時間間隔的"禎",對每一楨的數碼語音信號進行數字信號處理操作,而獲取簡捷描述最有用的語音信息部分,稱為"特征向量"。輸入部分的增益控制量的計算采用一部分特征;同時利用了端點探測模塊所獲取的對于噪音的跟蹤區別信息,從而對于純噪音輸入信號提供小增益。全部的語音特征送至隱式馬爾科夫模型(HMM)識別器進行識別。識別的過程同時需要模型參數,包括"訓練"好的語音模型參數,以及關于"語法"的語言模型參數,參數適配模塊動態地對語音特征向量的多種變化進行適配,包括音量變化、說話者語音變化、以及聲音傳輸通道特性如空間回音帶來的變化等,適配的效果是盡量忽略這些變化,使得這些變化對于語音識別效果的影響達到最小。語音識別的結果,包括識別到的詞匯序列、關鍵詞、以及理解到的概念單元,輸出到系統其它部分。本發明還公開了一種嵌入式語音識別系統所涉及的內核技術,在語言參數的模塊中,為在小型數字信號處理器(DSP)硬件平臺上實現連續語音識別、語音理解和"關鍵詞檢出"功能所采取的一種子詞單元,作為隱式馬爾科夫模型(HMM)模型參數的結構單元,所選子詞為包含臨域影響的通用無調雙音(contextdependentgeneralizedtonelessbiphone)。這禾中具體子i司適應于中文i吾音識別,而對于其它語種的識別有類似技術手段來定義最合適的子詞單元;在上述的嵌入式語音識別系統的內核技術中,所述的包含臨域影響的通用無調雙音子詞單元,同時使用大量不同說話者的語音數據對隱式馬爾科夫模型(HMM)參數進行出廠前訓練的方法,識別系統能夠正確識別一種語言中全部詞匯和所有未來說話者的語音,而無須采用這些未來說話者的任何語音資料。在小型系統上,須實現基于子詞的連續語音識別、關鍵詞檢出及語音理解等功能要求,其具體技術過程描述如下現有絕大多數小型語音識別系統都是對于整個語音指令的識別,同時所有指令都需要使用者事先錄入。例如,對于一個簡單的寵物玩具產品,使用者需要錄入"過來"、"走開"、"向左"、"向右"等。錄入完成后,使用中也必須說出完全相同的指令,如上述4個指令之一。這樣的識別器系統結構簡單,但是在使用中受到局限,例如,它無法滿意識別"你過來呀"等,與錄入時不完全相同的語句。這類問題被系統地稱為"不規范語音"問題。人類在自然的語音對話中,多數是不完全規范的,在表示相同"意思"時,可以有很多不同的表示方法。在大型語音識別已經成功使用若干方法來解決這類問題,達到使用者一定程度上感覺用自然方式對話,而不是迫使說話者一定說預先約定的指令。為達到上述目的,系統首先要能夠識別連續的語音,而不僅僅是孤立的指令。最靈活的實現方式就是采用詞內單元"子詞"作為系統的基本模型單元,進而用這些單元來組建一種語言中的所有詞匯。實驗語音學的理論提出若干種常用的基本單元,如"音素"和"音節"。本發明具體設計和實驗過程最終確定了從理論與語音識別的工程實踐角度達到最佳的子詞單元;它既最簡地代表了一種語言中的不同語音,又包含了音素間不同的轉換鄰域聲學影響。對于漢語普通話來說,我們選用無調generalizedbiphone(通用雙音,無字間鄰域影響)作為子詞單元。下表例舉一些通用雙音與漢語單字的關系。可見,字內鄰域的影響已經經過根據音素類別的組合,例如dtnl-ai表示,ai左邊(以-表示左)的l的鄰域影響已經組合為(d,t,n.l)—類聲母的影響了。<table>tableseeoriginaldocumentpage8</column></row><table>其次,語音識別器需要建立一種能夠識別整個語句中的一部分的能力,而不是僅僅能夠識別整個語音。這稱為'關鍵詞檢出'。從而,對于上述玩具指令的例子,當使用者說"過來"、"你過來呀"、或"請你走過來"等,總之任何包含"過來"的語句時,玩具都能夠正確反應。另外,更加進一步地允許輸入語音的"模糊"程度,屬于簡單的"語音理解"功能。對于一個具體的對話互動程序,對于對話雙方感興趣的話題,將它們通過類似關鍵詞的方式,在識別的"語法"中對于"概念單元"進行事先的標注。在識別的過程中,系統根據這些概念單元出現與否、它們出現的相對順序等事先約定的關系,以及它們的取值,綜合判斷出說話者所說的"意思",而不一定是完全固定的語句。本發明中所設計并實驗決定使用的技術達到了對于中小型識別對話程序的理想效果。在本發明中,一種嵌入式語音識別系統的內核技術,是基于前述的隱式馬爾科夫模型(以下也可簡稱"HMM")的高精度語音識別基礎結構和算法,它是在小型數字信號處理器(DSP)硬件平臺上實時實現的;在所述小型數字信號處理器(DSP)硬件平臺上實時實現所必須的、有別于在大型系統上實現的特殊技術,包括合理高效使用有限存儲空間,和保持運算精度的半浮點模擬運算;為保持高精度續概率密度同時又高效使用有限存儲空間的方法,根據語音學知識以及數據統計分布而做的對于HMM參數的分類被共享使用(也被稱為"半連續概率密度")。為了完成對中小型嵌入式語音識別的任務,需要選擇在低價格芯片架構上切實可行的,同時又達到一定運算精度的基本算法結構。近代語音識別的技術已經經歷了20多年的發展歷史,因而對于最成熟的算法己經有了深刻認識。這算法結構除了具有良好的數學基礎,也已經在語音識別技術的實踐中得到驗證。至今為止的絕大多數大型語音識別系統均采用基于HMM的統計算法結構,取得了業內最好的識別效果。但是由于該算法所具有的復雜程度,在小型嵌入式識別系統實現它有很大難度。從而至今為止絕大多數小型嵌入語音識別都是采用更簡單的DTW(動態時軸壓縮)算法。但是DTW的結構帶來若干局限,主要是它無法有效地獲取實際語音中的諸多變化,諸如口音以及聲學環境的變化;從而它的識別效果較差,特別是針對多說話者不同的語音,以及連續語音的識別。在本發明專利的方法中,針對小型嵌入式語音識別系統,為了完整地實現HMM的統計結構算法。首先,要保證充分的計算精度,保留了大規模系統中使用的"連續概率密度"結構。這結構中,系統事先存儲的是這些高斯密度函數的參數;對于輸入的語音特征向量,以及權重高斯密度函數來進行概率運算。這些計算量比較大。本發明采用的簡化方法包含對于一類的參數浮點值采用相同的冪,而實際使用定點運算,等。對比的結構可稱為'離散概率'系統,它是選取事先存儲的"碼本"值,因此減少了識別時的運算量。但是由于這些碼本值的獲取過程已經引入很大誤差,'離散概率'系統通常的精度會比'連續密度'系統有很大下降,因而本發明沒有采用。其次,由于小型系統存儲空間的局限,巨大數量的HMM參數經過巧妙結構,做到很大程度地多次共享使用。這共享的理論基礎是語音學及語言學的知識,以及這類信息在統計系統中的分布結構。以下舉例量化說明共享系統中參數量的減小系統中每一基本語音單元(如b+a)由一HMM模型表示,而該模型具有S個"狀態",例如S-3個態sl,s2,s3。每一個態包含對于特征楨信號的一個"觀察概率密度",它通常是N個高斯分布函數的加權組合(例如N=8)來比較完善地表述實際信號的不同取值分布。通常一個特征禎向量含M個分量(例如M-20);而每一個M—維(獨立維)高斯密度函數需要2M個參數來表述。進而,因為整個一種語言語音(如漢語普通話)需要K個基本語音單元來表示(通常K-300以上),那么,整個系統就至少需要SxKxN=7200個高斯密度函數,等于2MxSxKxN=40x3x300x8=288000個參數。另外還有7200個權重系數及少量其它參數。對于中小型嵌入系統來講,這么多的參數要求的存儲空間過于繁重。而從另外角度講,中小型的識別M壬務'中需要分辨的不同語音事件的數量比較有限,所以可以不需要這么多參數來表述。本發明采取的方法是,首先用統計方法獲取代表整個系統"聲學空間"的一個統一的高斯密度函數庫,它包含從上述7200個高斯密度函數中選出的P個高斯密度函數(例如P=200)作為代表。而系統中不同的基本語音單元的HMM態共享這庫中的高斯密度函數。每一個HMM的每一個態s根據語音訓練過程中的情況,各自選取這P個密度函數中的8個;不同態可以選用一些相同的高斯密度函數,但有自己各自不同的權重系數。這樣,總共只需要2MxP+SxKxN=40x200+3x300x8=15200個參數,僅相當于上述非共享系統參數量的5%左右。在實踐中,這種態共享系統可以達到與非共享系統基本相同的識別效果,同時從根本上解決了有限存儲空間的問題。權利要求1、一種嵌入式語音識別系統,包括語音拾取裝置,與語音拾取裝置相連的模數轉換器,與模數轉換器相連的識別算法部分,主程序部分與識別算法部分、增益控制部分及驅動控制等執行部分相連接,以及用于存儲識別器算法固定參數的內存器,其特征在于所述的語音識別算法部分包括與模數轉換器相接的端點檢測部分、前置降噪、特征提取和隱式馬爾科夫模型(HMM)識別器部分,馬爾科夫模型識別器還與語言模型參數模塊和參數適配模塊相適配,端點檢測部分與特征提取部分均與增益控制部分連接。2、根據權利要求1所述的一種嵌入式語音識別系統,其特征在于由所述模數轉換器、識別算法部分、主程序部分、增益控制部分及驅動控制執行部分等組成的專用集成電路(ASIC),其結構基礎采用數字信號處理器(DSP)類芯片作為基本硬件結構,且內部包含有高效運算單元和外圍接口電路。3、根據權利要求2所述的一種嵌入式語音識別系統,其特征在于所述的數字信號處理器(DSP)類芯片采用16位定點數字信號處理器(DSP)。4、根據權利要求1所述的一種嵌入式語音識別系統,其特征在于所述的系統中還設置有電平喚醒電路,該電路設置在語音拾取裝置之后并與主程序部分連接。5、根據權利要求l、2、3或4所述的一種嵌入式語音識別系統,其特征在于所述的主程序控制部分通過聲頻輸出與揚聲器相連,對話過程中識別器發出的語音、音樂由該揚聲器發出。6、一種嵌入式語音識別系統的內核技術,在語言參數的模塊中,為在小型數字信號處理器(DSP)硬件平臺上實現連續語音識別、語音理解和"關鍵詞檢出"功能所采取的一種子詞單元,作為隱式馬爾科夫模型(HMM)模型參數的結構單元,所選子詞為包含臨域影響的通用無調雙音(contextdependentgeneralizedtonelessbiphone)。這種具體子詞適應于中文語音識別,而對于其它語種的識別有類似技術手段來定義最合適的子詞單元。7、根據權利要求6所述的一種嵌入式語音識別系統的內核技術,其特征在于所述的包含臨域影響的通用無調雙音子詞單元,同時使用大量不同說話者的語音數據對隱式馬爾科夫模型(HMM)參數進行出廠前訓練的方法,識別系統能夠正確識別一種語言中全部詞匯和所有未來說話者的語音,而無須采用這些未來說話者的任何語音資料。8、根據權利要求6或7所述的一種嵌入式語音識別系統的內核技術,其特征在于還采用了一種基于隱式馬爾科夫模型(HMM)的高精度語音識別基礎結構和算法,它是在小型數字信號處理器(DSP)硬件平臺上實時實現的。9、根據權利要求8所述的一種嵌入式語音識別系統的內核技術,其特征在于在所述小型數字信號處理器(DSP)硬件平臺上實時實現所必須的、有別于在大型系統上實現的特殊技術,包括合理高效使用有限存儲空間,和保持運算精度的半浮點模擬運算。10、根據權利要求8或9所述的一種嵌入式語音識別系統的內核技術,其特征在于為保持高精度續概率密度同時又高效使用有限存儲空間的方法,根據語音學知識以及數據統計分布而做的對于HMM參數的分類被共享使用(也被稱為"半連續概率密度")。全文摘要本發明公開了一種嵌入式語音識別系統,包括語音拾取裝置,與語音拾取裝置相連的模數轉換器,與模數轉換器相連的識別算法部分,主程序部分與識別算法部分、增益控制部分及驅動控制等執行部分相連接,以及用于存儲識別器算法固定參數的內存器,所述的語音識別算法部分包括與模數轉換器相接的端點檢測部分、前置降噪、特征提取和隱式馬爾科夫模型識別器部分,馬爾科夫模型識別器還與語言模型參數模塊和參數適配模塊相適配,端點檢測部分與特征提取部分均與增益控制部分連接,其優點是算法模型科學合理,通過嵌入式語音識別技術的優化設計,實現了系統的最佳使用效果。文檔編號G10L15/28GK101299333SQ200710022018公開日2008年11月5日申請日期2007年4月30日優先權日2007年4月30日發明者雪王申請人:張家港市思韻語音科技有限公司