亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

掌上計算機語音識別核心軟件包的制作方法

文檔序號:6416727閱讀:223來源:國知局
專利名稱:掌上計算機語音識別核心軟件包的制作方法
技術(shù)領(lǐng)域
本發(fā)明是在掌上計算機環(huán)境下特定人孤立詞語音識別核心軟件包的完整解決方法,它包括整體框架的設(shè)計,接口的分類,以及實現(xiàn)算法。語音識別問題是一個典型的模式識別問題。
語音識別近幾年得到了迅速的發(fā)展,在建模、訓練、搜索、魯棒性、自適應(yīng)等問題研究中都取得很大進展,積累了很多實踐經(jīng)驗和理論方法。主流算法中采用的建模方法是基于統(tǒng)計規(guī)律的連續(xù)密度隱馬爾可夫模型,處理大批量的數(shù)據(jù),訓練和識別過程都需要經(jīng)過大量、復雜的運算,消耗特別多的存儲和計算資源。和個人計算機相比,掌上型計算機運算速度慢,僅相當于386水平,而且內(nèi)存比較少,一般僅為8M,內(nèi)置的錄音設(shè)備信噪比很低,考慮到實際應(yīng)用的需要,訓練樣本也不能太多,在這樣的環(huán)境下開發(fā)實用化的語音識別軟件包有一定的難度。
本發(fā)明的目的在于在資源受限的情況下,針對于掌上計算機專人專用的特點,提供掌上計算機特定人孤立詞語音識別核心軟件包的完整解決方法,使掌上計算機應(yīng)用程序中可以很方便的增加語音識別功能。
本發(fā)明的技術(shù)要點如圖1所示它包括底層、過渡層和接口層。底層部分對從錄音設(shè)備中產(chǎn)生的語音信號預(yù)處理,端點檢測,提取特征,訓練模型,識別/拒識判決。接口層提供應(yīng)用程序需要的接口函數(shù)實現(xiàn),過渡層連接底層的核心實現(xiàn)到接口層。
本發(fā)明采用面向?qū)ο蟮脑O(shè)計方法,全部API都封裝在一個接口類中,應(yīng)用程序只需創(chuàng)建一個該接口的實例,利用接口指針,就可以調(diào)用任何接口函數(shù)。為了增加應(yīng)用程序的靈活性,本發(fā)明預(yù)定義了一個通知類IVCmdNotifySink,該類所有的函數(shù)都為虛函數(shù),應(yīng)用程序必須實現(xiàn)一個從通知類繼承下來的類,用來告知識別核心部分檢測到語音事件(比如語音開始、結(jié)束,以及識別出一個命令等)時該執(zhí)行什么操作,其定義如下c1assIVCmdNotifySink{publicvirtual void UtteranceBegin(void)=0;/*檢測到聲音開始*/virtual void UtteranceEnd(void)=0;/*聲音結(jié)束*/virtual void VUMeter(int Volume)=0;/*音量大小(從0到100)*/virtual void CmdStart(void)=0;/*開始識別語音*/virtual void CmdNotUnderstand(void)=0;/*未聽懂,拒識*/virtual void CmdRecognize(SRecogResult result)=0;/*識別結(jié)果*/};從圖1可以看出應(yīng)用程序和軟件包識別核心之間的關(guān)系。
本發(fā)明使用了“菜單”的概念,它實際上就是一個命令集合。命令可以隨時添加、訓練。圖2所示為訓練命令的界面,每個命令用三個樣本,為確保識別結(jié)果正確,本發(fā)明為錄制的訓練樣本提供回放功能。根據(jù)功能,本發(fā)明提供的API可以分為以下五類1.啟動/結(jié)束識別這類接口用于注冊通知類和結(jié)束整個識別核心,包括兩個函數(shù),一個是整個軟件包啟動時應(yīng)該調(diào)用的注冊函數(shù)Register,它完成一些初始化操作;另一個是End,它是整個應(yīng)用程序結(jié)束之前被調(diào)用,該接口釋放內(nèi)存,并保存有關(guān)的模型及參數(shù)等設(shè)置;2.訓練/識別控制識別開始和暫停,以及訓練過程;3.模型管理包括增加、刪除一個模型,查詢某個模型是否存在,按序號檢索模型等;4.菜單管理包括創(chuàng)建一個語音菜單,確定當前使用哪一套菜單,同時為當前菜單添加/刪除一個命令項目,查詢和設(shè)置命令項目的當前狀態(tài)等;5.識別參數(shù)配置對于不同的應(yīng)用環(huán)境,比如背景噪聲、說話語速等,如果識別算法作相應(yīng)的調(diào)整,將可以達到更高的準確率,聲導核心提供了這種靈活性,為不同的應(yīng)用需求提供了方便,包括是否啟用拒識、配置端點檢測算法等。參數(shù)設(shè)置很直觀,應(yīng)用程序開發(fā)人員不用知道很多語音識別專業(yè)知識。
如圖1所示本發(fā)明底層核心處理包括錄音,預(yù)處理,端點檢測,特征提取,訓練算法,識別/拒識判決等。以下分別講述1.錄音利用掌上機內(nèi)置的錄音設(shè)備,語音信號采樣率為8K/s,每樣本16bit。
2.預(yù)處理每幀392個樣本,相鄰幀重疊半幀。預(yù)加重公式為x1[n]=x[n]-0.97*x[n-1]。
3.端點檢測基于時域能量,每幀能量是預(yù)處理后樣本的平方和。實現(xiàn)流程如圖3所示,包括以下五個步驟估計背景噪音并計算上下限、標記開始、確信開始、標記末端點和確信結(jié)束。
4.特征提取特征參數(shù)采用LPC倒譜。預(yù)加重后的樣本先經(jīng)過海明窗,然后計算自相關(guān)系數(shù),再由標準的Levinson-Durbin迭代算法得出12階LPC參數(shù),然后迭代出12階LPC倒譜參數(shù),最后作一階,二階差分。特征參數(shù)包括規(guī)一化的時域能量及其一階差分、二階差分,和12階LPC倒譜參數(shù)及其一階差分、二階差分共39維參數(shù)。特征參數(shù)放大一定倍數(shù)后用16位整數(shù)表示,這樣后面的訓練和識別能定點實現(xiàn)。LPC倒譜的具體計算公式如下1)海明窗函數(shù) 2)自相關(guān)系數(shù)設(shè)經(jīng)預(yù)處理,加窗后的語音信號為s1[n],則自相關(guān)系數(shù)為 規(guī)一化的自相關(guān)系數(shù)為r[l]=R[l]/R[0]′]]>其中l(wèi)=0,1,2,…,P3)Levinson-Durbin迭代計算12階LPC參數(shù)E0=r
]]>ki=r[i]-∑αj(i-1)·[i-j]Ei-1,1≤j≤P]]>αj(i)=ki]]>αj(i)=αj(i-1)-ki·αi-j(i-1),1≤j≤i-1]]>Ei=(1-ki2)Ei-1]]>其中P為預(yù)測的階12,最后的a(P)j,1≤j≤P為預(yù)測的LPC系數(shù)4)倒譜參數(shù)h1=a1]]>hn=an+Σk=1n-1(1-kn)anhn-k,1<n≤P]]>其中hi為倒譜系數(shù),an為LPC系數(shù)。
5.訓練對每個命令錄制3個訓練樣本,建立如圖4所示的8個狀態(tài),從左到右連續(xù)密度隱馬爾可夫模型。利用均勻分割結(jié)果初始化模型,在現(xiàn)有的模型參數(shù)基礎(chǔ)上對訓練樣本用Viterbi算法分割,然后再重新估計模型參數(shù),如此迭代多遍,比如5遍,得到最終模型參數(shù)。
6.識別/拒識判決過程采用用標準的Viterbi搜索算法計算未知樣本對每個模型的似然比對數(shù)得分,然后對得分最好的模型提取3個指標參數(shù),送到如圖5所示的神經(jīng)網(wǎng)絡(luò)中進行識別/拒識判決,具體過程如下,其中N為應(yīng)用程序中總的模型個數(shù)(1)對未知模式X用標準的Viterbi搜索算法計算N個模型的似然Log得分,并按照幀長進行規(guī)一化;(2)對N個得分按照從高到低排序,不妨設(shè)得分分別為S1-SN;(3)對第一名計算其三個指標x1,x2,x3x1=S1/mean1,]]>x2=S2/S1]]>x3=(S1-1Mk≠1,Sk≥αSΣ1)/S1]]>其中mean1為模型1訓練時樣本幀長規(guī)一化后的平均得分,α是常數(shù),取值為0.5到0.9之間。指標3是模型1的可信度,大括號中的求和是那些和模型1得分相近的模型得分平均值,相近程度由常數(shù)α決定;(4)根據(jù)三個指標進行識別/拒識判決y0=x1*W01+x2*W02+x3*W03y1=x1*W11+x2*W12+x3*W13其中W系數(shù)是已經(jīng)訓練好的網(wǎng)絡(luò)權(quán)系數(shù)。
在y0>y1的情況下,識別為模型1,并提供得分排在前面的多個候選結(jié)果。在y0≤y1的情況下,拒識。
7.網(wǎng)絡(luò)權(quán)系數(shù)學習算法初始網(wǎng)絡(luò)權(quán)系數(shù)隨機選取,按照有教師的學習算法調(diào)整權(quán)系數(shù)ΔWi=a(t)[xi(t)-Wi(t)],其中xI(t)為t時刻的輸入樣本,調(diào)整系數(shù)a(t)=0.1*(1.0-t/M),M為訓練次數(shù)。
本發(fā)明的優(yōu)點在于1.最大詞匯量可達到200個,占用系統(tǒng)資源少,對一般人名的識別準確率超過95%,同時和口音、方言以及語種無關(guān)。定點實現(xiàn)大幅度提高了特征提取和識別速度,在掌上機平臺上可以實時處理,達到實用化程度;2.軟件包框架設(shè)計合理,接口函數(shù)完善,可以滿足一般類似于語音導航,名片管理,聲音撥號等掌上機應(yīng)用程序要求。同時接口函數(shù)界面友好,開發(fā)人員不需要了解很多的語音識別專業(yè)知識;3.背景噪音動態(tài)估計,檢測的起始和結(jié)束點都有個確認的過程,所以端點檢測算法可以適應(yīng)變化的環(huán)境,有很高的精度和魯棒性;4.用神經(jīng)網(wǎng)絡(luò)進行識別/拒識判決時,不用憑經(jīng)驗決定那個因素占的比重大,網(wǎng)絡(luò)自動調(diào)整,綜合加權(quán);避免了簡單的門限策略;0/1判決指標都是百分比,各個指標在同一個層次上較量,縮小了動態(tài)范圍,具有一定的普遍意義;指標定義合理,把發(fā)音相近的單詞考慮進去了,盡可能的利用有用的信息。


圖1為軟件包整體框架及應(yīng)用程序與核心軟件包之間的相互關(guān)系。
圖2為訓練命令界面。
圖3為端點檢測算法流程。
圖4為每個命令的隱馬爾可夫模型拓撲結(jié)構(gòu)。
圖5為識別/拒識判決神經(jīng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)。
圖6為在軟件包基礎(chǔ)上開發(fā)的識別人名,地名的掌上機應(yīng)用程序界面。
實施例使用本發(fā)明為掌上機應(yīng)用程序添加語音識別功能非常簡單,只需要一個動態(tài)庫VcmdPpcApi.dll和頭文件SpeechApi.h。
本發(fā)明采用面向?qū)ο蟮脑O(shè)計方法,所有的接口都集中在動態(tài)庫VcmdPpcApi.dll中,要使用該動態(tài)庫,首先需要將其注冊到系統(tǒng)中。
應(yīng)用程序在調(diào)用接口函數(shù)或使用SpeechApi.h頭文件中預(yù)定義的結(jié)構(gòu)和常數(shù)的源文件中應(yīng)包含此頭文件。
使用本發(fā)明開發(fā)實際應(yīng)用程序時一般按照以下幾個步驟1.實現(xiàn)一個通知類ⅣCmdNotifySink繼承下來的類,并定義一個該類的實例,以便創(chuàng)建好接口實例時調(diào)用Register注冊接口函數(shù)將其地址傳過去,初始化整個聲導核心。
2.創(chuàng)建接口實例,以得到接口指針。
3.調(diào)用Register接口函數(shù)注冊通知類,識別核心開始啟動。
4.按照需要調(diào)用不同的API。一般先是創(chuàng)建菜單,確定當前菜單,并添加不同的命令項目,然后可以訓練或者識別。
5.在整個程序結(jié)束之前,調(diào)用接口End保存軟件包的有關(guān)參數(shù)和設(shè)置。
圖6是一個應(yīng)用本發(fā)明編寫的掌上機識別地名和人名的應(yīng)用程序,它幾乎涉及到所有的接口函數(shù)。用戶可以隨意添加、刪除、訓練和識別菜單命令。識別結(jié)果提供多達5個候選,按照模型得分從高到低顯示。圖2所示為訓練命令對話框。所有命令顯示在一個列表框中,雙擊可以訓練該命令。
權(quán)利要求
1.一種由底層、過渡層、API接口層組成的掌上計算機語音識別核心軟件包,其特征在于底層是由計算機內(nèi)置的錄音設(shè)備與預(yù)處理模塊相聯(lián),再與端點檢測相聯(lián),然后聯(lián)到特征提取模塊后分別再聯(lián)識別/拒識或訓練模塊,其結(jié)果經(jīng)通過類實現(xiàn)與應(yīng)用程序界面相聯(lián);應(yīng)用程序界面調(diào)用API接口層提供的以下五類接口啟動/結(jié)束識別、訓練/識別、模型管理、菜單管理和識別參數(shù)配置;由識別內(nèi)核組成的過渡層聯(lián)接底層實現(xiàn)與API接口層。
2.根據(jù)權(quán)利要求1所述的掌上計算機語音識別核心軟件包,其特征在于端點檢測算法采用時域能量,檢測過程包括以下五個步驟估計背景噪音并計算上下限、標記開始、確信開始、標記末端點和確信結(jié)束。
3.根據(jù)權(quán)利要求1所述的掌上計算機語音識別核心軟件包,其特征在于特征參數(shù)采用規(guī)一化的時域能量及其一階差分、二階差分,和12階LPC倒譜參數(shù)及其一階差分、二階差分共39維參數(shù)。
4.根據(jù)權(quán)利要求1所述的掌上計算機語音識別核心軟件包,其特征在于訓練模塊對孤立詞訓練出從左到右連續(xù)密度隱馬爾可夫模型;利用均勻分割結(jié)果初始化模型,多次在現(xiàn)有的模型參數(shù)基礎(chǔ)上對訓練樣本用Viterbi算法分割,然后再重新估計模型參數(shù)。
5.根據(jù)權(quán)利要求1所述的掌上計算機語音識別核心軟件包,其特征在于識別時用Viterbi搜索算法對待識樣本計算每個模型的似然比對數(shù)得分,并對得分第一的模型進行識別/拒識判決;在識別情況下,軟件包還提供多候選。
6.根據(jù)權(quán)利要求5所述的掌上計算機語音識別核心軟件包,其特征在于識別/拒識判決時對得分第一的模型計算幾個指標參數(shù),再經(jīng)神經(jīng)網(wǎng)絡(luò)綜合評估;在識別情況下,未知樣本識別成得分最高的模型;在拒識情況下,未知樣本被認為是集合外的模型。
7.根據(jù)權(quán)利要求6所述的掌上計算機語音識別核心軟件包,其特征在于神經(jīng)網(wǎng)絡(luò)采用Kohonen自組織網(wǎng)絡(luò),初始網(wǎng)絡(luò)權(quán)系數(shù)隨機選取,按照有教師的學習算法調(diào)整權(quán)系數(shù)。
全文摘要
掌上計算機語音識別核心軟件包是在掌上計算機環(huán)境下運行的特定人、限定詞匯量孤立詞語音識別應(yīng)用程序接口。語音識別技術(shù)屬于模式識別領(lǐng)域。本發(fā)明對孤立詞建立特定人連續(xù)密度隱馬爾可失模型。軟件包接口包括啟動和結(jié)束識別、訓練/識別、模型管理、菜單管理和識別參數(shù)配置,采用基于時域能量的端點檢測算法,提取LPC倒譜特征參數(shù),采用Viterbi搜索算法識別,并由神經(jīng)網(wǎng)絡(luò)進行識別/拒識判決。
文檔編號G06F17/00GK1282069SQ9911113
公開日2001年1月31日 申請日期1999年7月27日 優(yōu)先權(quán)日1999年7月27日
發(fā)明者鄧勇剛, 徐波, 黃泰翼 申請人:中國科學院自動化研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1