所屬欄目:自動化論文 發布日期:2010-08-31 14:38 熱度:
摘要:矢量量化(VQ)是語音識別中廣泛采用的數據壓縮和編碼方法。在實現孤立詞識別系統時VQ算法能簡單、快速、有效地實現語音命令的實時識別。本文討論了VQ(vectorquantization)算法與語音遙控系統設計,實驗結果表明基于VQ的語音識別獲得了較好的識別結果。
關鍵詞:語音識別,矢量量化,LPC,數字信號處理
中圖分類號:C91
1.引言
家用電器領域發展的一個重要趨勢是人機交互將更加友好,使用更為簡便。提高家電產品人機交互能力的一個重要手段是采用語音識別和語音合成實現語音交互,其中,語音識別技術實現技術難度相對更大。
語音識別(SpeechRecognition,SR)主要指讓機器聽懂人說的話,即準確識別出語音的內容,從而根據其信息,執行人的意圖。它輸入多維模式識別和智能接口的范疇。[7]目前,語音識別廣泛應用于軍事領域、安全領域、娛樂領域等。
語音識別領域發展很迅速,目前語音識別方法有:基于VQ的方法;隨機模型法,比如HMM方法;基于人工神經網絡的方法等,其中基于VQ的方法利用離散數值表示矢量,能夠大大壓縮信息量,減少數據存儲量;同時無需考慮復雜的統計模型和復雜的時間歸整問題,運算相對簡單,因此得到了廣泛應用。尤其在識別小詞匯表孤立詞時VQ算法優點更為突出。
家電領域是小詞匯表孤立詞識別系統,適合家用電器應用的語音識別算法需要滿足兩個基本條件:一、簡單,就是該算法所需要的硬件資源較少,以節約硬件成本。二、快速,就是能夠做到實時識別,沒有遲滯性。VQ算法恰好能夠滿足這兩個要求。
本文將以語音遙控系統設計為例探討基于VQ算法的語音識別算法。文章的第一部分是引言,簡單介紹背景,第二部分介紹VQ算法的背景知識;第三部分介紹基于VQ算法的語音識別系統的設計,包括硬件設計和軟件設計;第四部分是實驗部分。
2.VQ語音識別算法
2.1矢量量化(VQ)算法原理
基于VQ的語音識別采用模式匹配原理。矢量量化是一種高效的數據壓縮技術,它將n維歐氏空間Rn中的模擬矢量X依據某種準則用n維空間中的有限個點{Yi|i=1,2,…,M}表示。在矢量量化理論中,X稱為輸入矢量,Yi稱為量化矢量,{Yi|i=1,2,…,M}稱為碼本或碼書,碼字的數目M稱為碼本容量。矢量量化的準則是在給定碼本大小M時使量化所造成的失真最小,如果所有的n維矢量都用有限的M個碼字表示,并將所有的碼字進行編號,那么所有的n維矢量都可以用這些碼字的碼號表示,從而可以有效的實現數據壓縮。
2.2VQ碼本的設計
碼本的設計決定了VQ算法能否給出較低的畸變值和較高的質量。設d(X,Y)為X和Y之間的畸變,碼本設計的規則為:第一,X選擇碼字Yl時遵循“最近鄰原則”,即 ;第二,設所有選擇碼字Yl的輸入矢量X的集合為Sl,那么Yl應使此集合中所有矢量與Yl之間的畸變平均值為最小。X與Y之間的畸變等于它們的歐氏距離,則Yl等于Sl中所有矢量的“質心”,即:
其中Nl是Sl中所包含的矢量個數。
碼本的形成一般采用LBG算法,這是一種最優的矢量量化器設計方法。LBG算法的基本原理是:對所有語音幀向量以初始碼本作最短距離分類,即將各語音幀向量歸類到初始碼本中距離最近的碼字中去。所有訓練向量歸類結束后,分別對歸類于某一類的所有語音向量求重心,將對每一類求得的重心代替該類原來的初始碼字,得到一個新的碼本。再以此碼本替代原來的初始碼本,重新再進行歸類。重復上述過程直至新舊碼本間的距離小于給定閾值為止。
2.3VQ語音識別流程
采用基于無記憶VQ的語音識別流程如下:
1) 訓練時,將同一字音的各訓練序列的各幀特征,進行聚類,可以得到含有規定數目(M)碼字的一個標本,稱為該字音的碼本。對于整個識別系統,詞匯表內每個字音具有其單獨的碼本。
2) 通過統計確定拒識閾,即如果待識音對某碼本的標志距離超過該距離,則將不是該碼本相應的字音。拒識閾的選擇通常通過大量統計事先確定。過大或者過小將導致誤識或者拒識。
3) 識別時,待識音幀序列的每幀特征與某字音碼本的M個碼字依次作比較,記下M個距離中的最小距離。整個語音幀序列的各最小幀距離之和作為“判別距離”(標志距離)。經過逐一計算,對與每個字音碼本,該待識音都有一個標志距離。如果最小標志距離值小于拒識閾,則最小標志距離所對應的字音作為識別結果。
3.語音遙控系統設計
本系統由三個部分組成:第一部分為模/數轉換部分,接收輸入的語音信號,并將其轉化成數字采樣信號;第二部分為語音識別部分,對輸入的數字語音詞條信號進行分析,識別出詞條信號所代表的命令,由DSP完成;第三部分是系統控制部分,將語音識別結果轉換成相應的控制信號,完成具體控制功能。下面對語音識別算法的軟件實現及遙控系統控制部分作詳細的討論。
3.1 硬件設計
語音遙控的硬件框圖如圖1所示。它由兩個獨立的子模塊組成:語音信號處理模塊和系統控制模塊。語音信號處理模塊由LM324、ADSP2181、存儲器28F020組成。其中LM324對麥克風輸入信號進行放大,28F020為存儲器,存儲的數據為語音識別所需的參數、語音識別算法產生的中間數據、訓練后的碼本數據、DSP系統的應用程序。ADSP2181是AD公司的16位的定點DSP芯片,是整個語音識別模塊的核心,負責語音識別、以及存儲器的讀寫控制。
系統控制模塊由AT89C52單片機、紅外接收發送器、電源管理電路、鍵盤和LCD液晶屏組成。AT89C52是主控芯片,負責整個系統控制,通過掃描用戶通過鍵盤輸入的指令,分別完成訓練遙控碼;控制DSP進行語音訓練、識別;將識別結果轉換成相應的遙控碼,通過紅外發光管發射出去。LCD液晶屏的作用是:提示用戶操作、顯示訓練/識別是否成功以及待識音與最近的碼本的距離。單片機與DSP之間通過標準的RS232串口協議通訊。系統運行流程如下:
訓練操作如下:1)按下A鍵,LCD顯示“說一個命令”;2)用戶說一個命令;3)訓練成功,LCD顯示“重復命令”;4)用戶重復所說命令;5)訓練成功,LCD重復1-4,用戶接著訓練命令;
識別操作如下:1)按下B鍵,LCD顯示“說一個命令”;2)用戶說一個已訓練過的命令;3)識別成功,LCD顯示“識別成功”,同時相應的遙控碼通過紅外模塊發射出去。
在訓練或者識別過程中,如果用戶說話太大或者太小,或者說的太快導致訓練或者識別失敗,則LCD顯示“訓練失敗”或者“此為非法命令”,表示訓練或者識別失敗,用戶必須重新進行訓練或者識別。
圖1 語音遙控系統硬件框圖
3.2 軟件設計
語音遙控系統的軟件部分中語音識別模塊主要由四個子模塊組成:端點檢測模塊、LPC特征參數的提取模塊、似然比計算模塊、LBG算法識別模塊等構成。端點檢測模塊將短時能頻值作為端點檢測的特征參數,從背景噪聲中找出語音的起止點。LPC特征參數的提取模塊完成LPC參數的計算。似然比計算模塊完成似然比距離的計算。LBG算法識別模塊實現識別功能。下面先介紹一下軟件控制流程,然后介紹兩個關鍵的模塊:LPC特征參數的提取模塊與LBG算法模塊。這兩個模塊有大量的乘法和除法計算,并且需要完成浮點運算和數據精度的處理。因此這兩個模塊的設計好壞決定了語音識別的精度。最后介紹一下數據的精度處理。
3.2.1語音識別控制流程
語音識別程序流程圖如圖2所示。訓練時:按“A鍵”進入訓練狀態,用戶訓練與遙控碼型相對應的語音命令。使用時:按“B鍵”,進入語音識別狀態,等待語音處理模塊返回結果,若返回正確的識別結果,則把相應的遙控碼發射出去。若連續60秒無正確的命令則系統進入休眠狀態,單片機控制電源電路切斷DSP和FLASH的電源,單片機本身也進入休眠狀態,直至用戶按鍵,喚醒單片機,系統恢復工作。
圖2 語音識別流程圖
3.2.2LPC特征參數的提取
本文使用Durbin算法,預測階數為P=12,為加窗后的數據,N為窗長。
首先計算自相關
LPC特征參數的提取的偽代碼描述如下:
I(0)=R(0);K(1)=R(1)/R(0);α(1,1)=K(1);//初始化
fori=2toP
I(i-1)=(1-K(i-1)*K(i-1))*I(i-2);//第一循環運算
K(i)=[R(i)-]/I(i-1);
α(i,i)=K(i);
forj=1toi-1
α(j,i)=α(j,i-1)-K(i)*α(i-j,i-1);//第二循環運算
end
end
forj=1toP
A(j)=-α(j,P);//輸出結果
end
A(j)的輸出就是LPC系數(A(0)=1)。
3.2.2LBG算法的軟件流程
LBG算法的實現流程是軟件設計中最關鍵的部分,因為生成的碼本是識別階段的參考模板,直接關系到識別的效果,圖3為該算法實現的軟件流程圖。
3.2.3數據精度的處理
用16位的定點DSP實現語音識別算法時,雖然程序的運行速度很快,但是數據精度比較低。這是由于中間過程的累計誤差導致了運算結果不正確。為了提高數據的運算精度,在程序中采用了擴展精度處理方法,即在精度要求比較高的地方,中間變量采用32位甚至48位來表示。這樣,在指令條數增加不多的情況下運算精度大大提高了。
語音識別中采用大量浮點運算操作,采用定點DSP需要解決利用定點數來表示浮點的問題。本文采用數的定標方法來實現。數的定標就是決定小數點在定點數中的位置。Q表示法是一種常用的定標方法,設定點數是X,浮點數是Y,則Q法表示的定點數與浮點數的轉換關系為:
浮點數Y轉換為定點數X:X=(int)Y*(2^Q);2^Q表示2的Q次方
定點數X轉換為浮點數Y:Y=(float)X*(2^-Q);2^-Q表示2的-Q次方
4.實驗
家電遙控系統不需要很大的詞匯表,因此選擇了面向空調遙控的六個常用命令單詞進行測試,每個命令進行六次識別,這里碼本和待識別音來自同一人。實驗結果如下:
中間對應方格內的小數表示待識音與碼本庫中最近的一個碼本的距離,在對“取暖”命令進行第三次識別時出現錯誤(error信息),是由于該最近距離大于預定的閾值。
實驗表明,基于VQ的語音識別算法識別正確率為97.2%,VQ識別算法完全可以實現語音遙控的要求。基于VQ的語音識別技術在智能化家電網絡中具有廣泛的應用前景。
參考文獻
1桂蘋,吳鎮揚,趙力,王維新基于VQ的說話人自動識別系統的實現電聲技術2003年第10期
2.楊行峻,遲惠生語音信號數字處理北京電子工業出版社1995
3.萬春基于DTW的語音識別應用系統研究與實現集美大學學報2002年第2期
4.梁虹語音識別中的VQ聚類方法云南大學學報(自然科學版)1998年第6期
5.龐雄昌,樓順天語音識別及其定點DSP實現現代電子技術2003年第19期
6.趙力編著語音信號處理機械工業出版社2005年
7.魏艷娜,王社國一種新的基于遺傳算法的VQ碼本優化方法現代電子技術2006年第13期
8.周季華,史媛媛,劉潤生語音識別在家電遙控器中的應用電子技術應用2002年第8期
文章標題:基于VQ的語音遙控系統設計
轉載請注明來自:http://www.56st48f.cn/fblw/ligong/zidonghua/3241.html
攝影藝術領域AHCI期刊推薦《Phot...關注:105
Nature旗下多學科子刊Nature Com...關注:152
中小學教師值得了解,這些教育學...關注:47
2025年寫管理學論文可以用的19個...關注:192
測繪領域科技核心期刊選擇 輕松拿...關注:64
及時開論文檢索證明很重要關注:52
中國水產科學期刊是核心期刊嗎關注:54
國際出書需要了解的問題解答關注:58
合著出書能否評職稱?關注:48
電信學有哪些可投稿的SCI期刊,值...關注:66
通信工程行業論文選題關注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關注:121
評職稱發論文好還是出書好關注:68
復印報刊資料重要轉載來源期刊(...關注:51
英文期刊審稿常見的論文狀態及其...關注:69
SCI期刊分析
copyright © www.56st48f.cn, All Rights Reserved
搜論文知識網 冀ICP備15021333號-3