專利名稱:一種自動識別語音的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及語音識別技術(shù)領(lǐng)域,特別涉及一種自動識別語音的方法和裝置。
背景技術(shù):
隨著科技的日新月異,各種智能終端不斷涌現(xiàn)。未來用戶可以通過移動 通信終端,用語音向其它智能終端發(fā)送控制指令,命令智能終端執(zhí)行相應(yīng)的 操作。智能終端在接收控制指令之前,需要對用戶的身份進(jìn)行確認(rèn),于是需
要對語音進(jìn)行識別。如圖1所示,用戶1通過移動通信終端A試圖給某一 智能終端B (如電飯鍋)發(fā)送語音控制命令,要求智能終端B在用戶回家前 半小時開始做飯,這時候智能終端B對所收到的話音進(jìn)行識別,若確認(rèn)說話 者的身份是用戶1,則進(jìn)行相應(yīng)的做飯操作。
為了節(jié)省傳輸帶寬或者存儲空間,越來越多的數(shù)字通信系統(tǒng)使用了語音 壓縮編解碼。例如圖l所示例子中,移動通信終端A發(fā)送給智能終端B的 是經(jīng)過語音壓縮編碼之后的語音數(shù)據(jù)。
目前對經(jīng)過編碼以后的語音的識別方法一般需要以下三步
第一步對編碼以后的碼流進(jìn)行解碼得到脈沖編碼調(diào)制(PCM)語音數(shù)據(jù)。
第二步從PCM語音數(shù)據(jù)中提取特征信息。
第三步將提取的特征信息與事先獲取的說話人的特征信息比較,并做 出判斷。
現(xiàn)有的語音識別方法存在如下缺點該方法要求進(jìn)行語音識別的一方具 有語音解碼器;從解碼以后的數(shù)據(jù)中提取特征信息, 一般采用Mel頻率倒譜系數(shù)(MFCC)或高斯混合模型(GMM),這些方法的計算復(fù)雜度很大, 要求智能終端具有比較強(qiáng)的計算能力,以上都會增加智能終端的成本。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例提出一種自動識別語音的方法和裝置,無需語 ;音解碼器,計算簡單,因而實現(xiàn)成本較低。
本發(fā)明實施例提出的自動識別語音的方法,包括如下步驟 從待識別的音頻編碼碼流中提取出編碼參數(shù),并將所述編碼參數(shù)轉(zhuǎn)換為
待識別的特征矢量;
將所述待識別的特征矢量與預(yù)先存儲的已確認(rèn)說話者身份的特征矢量 ' 進(jìn)行比較,根據(jù)比較結(jié)果確定所述待識別的特征矢量的說話者。 本發(fā)明實施例提出的自動識別語音的裝置,包括 參數(shù)提取模塊,用于從接收到的音頻編碼碼流中獲取編碼參數(shù); 特征信息提取模塊,用于將所述參數(shù)提取模塊所獲取的編碼參數(shù)映射為
待識別的特征矢量; ; 特征信息庫,用于存儲已識別的說話者的特征矢量;
比較判斷模塊,用于將來自特征信息提取模塊的待識別的特征矢量與在
初始化階段獲得并保存在特征信息庫中的特征矢量作比較,根據(jù)比較結(jié)果確
定待識別的特征矢量的說話者身份。
從以上4支術(shù)方案可以看出,從待識別的音頻編碼碼流中提取編碼參數(shù), > 將編碼參數(shù)轉(zhuǎn)換為待識別的特征矢量,將待識別的特征矢量與已確認(rèn)說話者
身份的特征矢量進(jìn)行比較,根據(jù)比較結(jié)果確認(rèn)待識別特征向量的說話者,從
而實現(xiàn)對待識別音頻編碼碼流的識別。本發(fā)明技術(shù)方案無需語音解碼器即可
實現(xiàn)對編碼后的語音的識別,并且計算簡單,成本低廉,可應(yīng)用于計算能力
有限的智能終端中。
圖1為智能終端進(jìn)行語音識別的場景示意圖; 圖2為本發(fā)明實施例提出的語音自動識別裝置的模塊示意圖; 圖3為本發(fā)明實施例提出的語音自動識別裝置中的比較判斷模塊進(jìn)行 語音識別的流程圖4為本發(fā)明實施例實現(xiàn)語音自動識別的流程圖。
具體實施例方式
本發(fā)明提出的語音識別方法,直接從語音編碼后的音頻編碼碼流中提取 特征信息,根據(jù)所提取的特征信息進(jìn)行語音識別,其算法復(fù)雜度很低且無需 音頻解碼器,可廣泛應(yīng)用于低成本的智能終端上。本發(fā)明還提出一種基于上 述方法的低復(fù)雜度的語音識別裝置。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合具體實施例對 本發(fā)明作進(jìn)一步的詳細(xì)闡述。為便于描述,以下實施例中以自適應(yīng)多速率 (Adaptive MultiRate , AMR)語音編解碼方法為例進(jìn)行描述,AMR語音編 解碼是3GPP制定并推薦應(yīng)用于第三代移動通信系統(tǒng)中的技術(shù)標(biāo)準(zhǔn)。
本發(fā)明實施例提出的語音自動識別裝置如圖2所示,包括如下模塊 參數(shù)提取模塊201 ,用于從接收到的音頻編碼碼流中獲取AMR編碼參 數(shù),其輸出是在特征信息提取模塊202需要用到的部分AMR編碼參數(shù),包 括自適應(yīng)碼本索引、自適應(yīng)和固定碼本增益、5個經(jīng)過矢量量化的線譜頻率 (Linear Spectrum Frequency, LSF )系數(shù)和話音激活片企測標(biāo)志。實際應(yīng)用中, 也可采用上述編碼參數(shù)的任意組合。具體地說,參數(shù)提取模塊201根據(jù)AMR 的不同幀結(jié)構(gòu)(IF1或者IF2,具體可參考2GPP TS 26.101),從編碼幀中 提取出以下編碼參數(shù)自適應(yīng)碼本索引(adaptlndex(n))、自適應(yīng)碼本增益 (gainAdapt(n))、固定碼本增益(gainCode ( n ) ) 、 5個LSF索引 (LSFQi(n)(i=l,2,3,4,5))和話音激活檢測標(biāo)志(VAD(n)),其中n表示幀 序號。考慮到非有效話音部分獲得的參數(shù)會導(dǎo)致識別率大大降低,需要剔除在非語音幀獲得的參數(shù),因此只統(tǒng)計有效話音幀,即話音激活檢測標(biāo)志
VAD(n)=l的那些幀。因此,參數(shù)提取模塊201包括有效幀識別單元,用于 根據(jù)話音激活檢測標(biāo)志識別有效話音幀,而參數(shù)提取模塊201只提取有效話 音幀的編碼參數(shù)。
特征信息提取模塊202,用于把所接收的AMR編碼參數(shù)映射為一特征 矢量。
具體地說,特征信息提取模塊202用于把參數(shù)提取模塊201輸出的AMR
編碼參數(shù)映射到一個維數(shù)為8的特征矢量e,特征矢量e的計算方法如下
其中cov(ZSF2/) 、 cov(at/c^/ ic/ex) 、 cov(ga/wCWe)和cov(ga//^4 Ja/ /)分另,J表示第i個 量化的LSF參數(shù)、自適應(yīng)碼本索引、固定碼本增益和自適應(yīng)碼本增益的相對標(biāo) 準(zhǔn)方差。其中在計算相對標(biāo)準(zhǔn)方差的時候,用時間平均來代替統(tǒng)計平均,以自 適應(yīng)碼本索引為例,計算方法如下
cov(W取/"cfec) = V W ——^_^ (2)
其中^^表示adaptlndex的數(shù)學(xué)期望,其中N為待統(tǒng)計的自適應(yīng)碼本索 引的總凄t:
= -^- (3)
在用偽代碼實現(xiàn)的自適應(yīng)碼本索引的相對標(biāo)準(zhǔn)方差的計算方法可以實現(xiàn)如
下
sum = 0;
for(i=0, j=0; i<length(adaptlndex); i十+) if(vad(i)==l)
adaptlndex(j++] = adaptlndex[i];
sum += adaptlndex[i]; end ifend for mean = sum/j; sum = 0; for(i=0; i<j; i++)
temp = adaptlndex[i] - mean;
sum += temp * temp; end for
cov(adaptlndex) = sqrt(sum/j)/mean;
在初始化階段,特征信息提取模塊202輸出特征矢量e給特征信息庫 203進(jìn)行存儲,特征信息庫203還需要存儲每個特征矢量e對應(yīng)的用戶信息;
在自動識別階段,特征信息提取模塊202除了輸出特征矢量e給比較判斷模
塊204以外,還需要把有效語音幀數(shù)(也就是上面?zhèn)未a中的j)輸出到比 較判斷模塊。
特征信息庫203,用來在初始化階段存儲的已識別的說話者的特征矢量。
比較判斷模塊204,用于將來自特征信息提取模塊202的待識別的特征 矢量與在初始化階段獲得并保存在特征信息庫203中的特征矢量作比較,根 據(jù)比較結(jié)果確定待識別的特征矢量的說話人身份。
比較判斷模塊204將特征信息提取模塊202輸入的特征矢量與特征信息 庫203中存儲的各個特征矢量分別進(jìn)行比較,并識別出說話者。假如輸入?yún)?數(shù)提取模塊201的有效語音長度沒達(dá)到一定值,系統(tǒng)誤判的概率很大,為避 免這種情況出現(xiàn),比較判斷模塊204首先判斷輸入有效語音長度是否達(dá)到要 求,假如話音長度不夠,則給出警告信息,否則計算輸入特征矢量和人群特 征信息庫中保存的矢量的歐拉距離,并給出判斷結(jié)果。
比較判斷模塊204中包括
有效語音幀數(shù)判斷單元,用于判斷輸入的有效語音的幀數(shù)是否達(dá)到閾 值,并給出相應(yīng)判斷結(jié)果;
歐拉距離計算單元,用于當(dāng)所述有效語音幀數(shù)判斷單元給出的判斷結(jié)果 為是時,計算待識別特征矢量與特征信息庫中各個特征矢量的歐拉距離。
距離閾值判斷單元,用于判斷所述歐拉距離計算單元得到的各個歐拉距離是否均大于預(yù)先設(shè)定的閾值,并給出相應(yīng)的判斷結(jié)果。
搜索單元,用于當(dāng)所述距離閾值判斷單元判斷結(jié)果為否時,在各個歐拉 距離中搜索最小值,并將所得最小值對應(yīng)的特征信息庫中的特征向量的說話 者作為待識別特征矢量的說話者。
出錯提示單元,用于當(dāng)所述有效語音幀數(shù)判斷單元判斷結(jié)果為否時,輸
出語音長度達(dá)不到要求的提示信息;當(dāng)所述距離閾值判斷單元的判斷結(jié)果為 是時,輸出無法識別的提示信息。
比較判斷模塊204進(jìn)行語音識別的具體流程如圖3所示,包括如下步驟
步驟301:判斷有效語音幀數(shù)是否達(dá)到預(yù)先設(shè)定的閾值,本實施例中, 判斷有效語音幀數(shù)是否達(dá)到750,若是,則執(zhí)行步驟303,否則執(zhí)行步驟302。 實際應(yīng)用中,該閾值也可設(shè)置為其它合適的數(shù)值。
步驟302:輸出語音長度達(dá)不到要求的提示信息,并結(jié)束本流程;或者 也可以直接結(jié)束本流程。
步驟303:計算待識別特征矢量與特征信息庫中各個特征矢量的歐拉距 離。使用公式(4)計算歐拉距離
其中x表示特征信息提取模塊輸出的特征矢量,^表示初始化階段時獲
得并保存在人群特征信息庫里面的第j個說話者的特征矢量,可以看出,歐 拉距離就是特征矢量的各個分量差的平方和。
步驟304:判斷所得歐拉距離是否均大于預(yù)先設(shè)定的閾值,若是,說明 待測的語音特征矢量不屬于特征信息庫中已保存的任何一個說話者,則執(zhí)行 306,否則執(zhí)行步驟305。
步驟305:搜索歐拉距離中的最小值,確定所述最小值對應(yīng)的特征信息庫中預(yù)先存儲的特征矢量的說話者,所確定的說話者即為待識別特征矢量對
應(yīng)的說話者。具體地說,在根據(jù)公式(4)計算得到W(X,。后,搜索k,使
3曰
付<formula>formula see original document page 11</formula> (5)
N表示人群信息庫中的人數(shù)。最后根據(jù)搜索結(jié)果做出判斷,x對應(yīng)的話音
是說話者k說的話。
步驟306:輸出無法識別的提示信息,并結(jié)束本流程。 整個識別過程需要分成兩個階段第一個階段是初始化,以獲得語音特 征信息的樣本,為達(dá)到較佳的識別效果,此階段需要15分鐘左右的AMR 編碼碼流作為參數(shù)提取模塊201的輸入,特征信息提取模塊202從這輸入的 碼流中提取特征信息并保存在特征信息庫203中。特征信息庫中可以保存一 個以上的特征信息樣本。第二個階段是識別階段,為達(dá)到較佳的識別效果, 此階段需要15秒左右的有效AMR編碼碼流輸入到參數(shù)提取模塊201中, 參數(shù)提取模塊201從輸入碼流中提取編碼參數(shù),特征信息提取模塊202將所 述編碼參數(shù)轉(zhuǎn)換為特征矢量,比較判斷模塊204將所述特征矢量與在初始化 階段獲得并保存在特征信息庫203中的特征矢量作比較,并輸出識別到的說 話對象。
圖4示出了本發(fā)明實施例實現(xiàn)語音自動識別的流程,包括如下步驟 步驟401:語音識別裝置進(jìn)行初始化,輸入已確認(rèn)說話者身份的AMR 編碼碼流,從所述編碼碼流中識別有效語音幀,并提取有效語音幀的編碼參 數(shù),再將所述編碼參數(shù)轉(zhuǎn)換為特征矢量,保存所述特征矢量到特征信息庫中。 可以保存一個以上的特征矢量,并保存每個特征矢量對應(yīng)的說話者信息。所 提取的編碼參數(shù)以及將編碼參數(shù)轉(zhuǎn)換為特征矢量的過程如前所述,這里不再 贅述。
如果該裝置已經(jīng)進(jìn)行過初始化,則直接執(zhí)行步驟402。 步驟402:接收待識別的AMR編碼碼流,從所述編碼碼流中提取出有效語音幀的編碼參數(shù)作為待識別的編碼參數(shù)。
步驟403:將所述待識別的編碼參數(shù)轉(zhuǎn)換為待識別的特征矢量。
步驟404:判斷所述待識別的特征矢量對應(yīng)的有效語音幀的數(shù)目是否達(dá) 到預(yù)先設(shè)定的閾值,若是,則執(zhí)行步驟406,否則執(zhí)行步驟405。
步驟405:輸出語音長度達(dá)不到要求的提示信息,并結(jié)束本流程;或者 也可以直接結(jié)束本流程。
步驟406:計算所述待識別的特征矢量與特征信息庫中已保存的特征矢 量的歐拉距離。
步驟407:判斷所得歐拉距離是否均大于預(yù)先設(shè)定的閾值,若是,說明
待測的語音特征矢量不屬于特征信息庫中已保存的任何一個說話者,則執(zhí)行
408,否則執(zhí)行步驟409。
步驟408:輸出無法識別的提示信息,并結(jié)束本流程。
步驟409:搜索歐拉距離中的最小值,確定所述最小值對應(yīng)的特征信息
庫中預(yù)先存儲的特征矢量的說話者,所確定的說話者即為待識別特征矢量對
應(yīng)的說話者。
以上實施例中所舉待識別編碼碼流是采用AMR方式編碼的碼流,本領(lǐng) 域技術(shù)人員應(yīng)當(dāng)知曉,對于任一種數(shù)字通信系統(tǒng)所采用的編碼方式產(chǎn)生的碼 流中均具有其相應(yīng)的編碼參數(shù),因此均可應(yīng)用本發(fā)明方案實現(xiàn)編碼語音的自 動識別。
本發(fā)明方案相對于現(xiàn)有技術(shù),具有如下有益效果
無需語音解碼器即可實現(xiàn)對編碼后的語音的識別,并且計算簡單,成本 低廉,可應(yīng)用于計算能力有限的智能終端中。根據(jù)測試,在有效語音足夠長 的情況下,具有較高的識別成功率。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本 發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本 發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種自動識別語音的方法,其特征在于,包括如下步驟從待識別的音頻編碼碼流中提取出編碼參數(shù),并將所述編碼參數(shù)轉(zhuǎn)換為待識別的特征矢量;將所述待識別的特征矢量與預(yù)先存儲的已確認(rèn)說話者身份的特征矢量進(jìn)行比較,根據(jù)比較結(jié)果確定所述待識別的特征矢量的說話者。
2、 根據(jù)權(quán)利要求1所述的自動識別語音的方法,其特征在于,所述從 待識別的音頻編碼碼流中提取出編碼參數(shù)的步驟之前,進(jìn)一步包括輸入已確認(rèn)說話者身份的音頻編碼碼流,從所述音頻編碼碼流中提取出 編碼參數(shù),再將所述編碼參數(shù)轉(zhuǎn)換為特征矢量,保存所述特征矢量以及對應(yīng) 的說話者信息。
3、 根據(jù)權(quán)利要求2所述的自動識別語音的方法,其特征在于,所述將 編碼參數(shù)轉(zhuǎn)換為特征矢量包括計算每一類編碼參數(shù)的相對標(biāo)準(zhǔn)方差作為所述特征矢量的一個分量。
4、 根據(jù)權(quán)利要求2所述的自動識別語音的方法,其特征在于,所述將 所述待識別的特征矢量與預(yù)先存儲的已確認(rèn)說話者身份的特征矢量進(jìn)行比 較之前,進(jìn)一步包括判斷待識別的特征向量對應(yīng)的有效語音幀的數(shù)目是否達(dá)到預(yù)先設(shè)置的 閾值,若是,則轉(zhuǎn)至所述將所述待識別的特征矢量與預(yù)先存儲的已確認(rèn)說話 者身份的特征矢量進(jìn)行比較的步驟,否則退出本流程。
5、 根據(jù)權(quán)利要求2所述的自動識別語音的方法,其特征在于,所述將 所述待識別的特征矢量與預(yù)先存儲的已確認(rèn)說話者身份的特征矢量進(jìn)行比 較,根據(jù)比較結(jié)果確定所述待識別的特征矢量的說話者包括分別計算待識別的特征矢量與預(yù)先存儲的各個已確認(rèn)說話者身份的特 征矢量之間的歐拉距離,搜索歐拉距離中的最小值,確定所述最小值對應(yīng)的 預(yù)先存儲的特征矢量的說話者,所確定的說話者即為待識別特征矢量對應(yīng)的說話者。
6、 根據(jù)權(quán)利要求5所述的自動識別語音的方法,其特征在于,其特征 在于,所述搜索歐拉距離中的最小值之前,進(jìn)一步包括判斷所得歐拉距離 是否均大于預(yù)先設(shè)定的閾值,若是,則結(jié)束本流程;否則,轉(zhuǎn)至所述搜索歐 拉距離中的最小值的步驟。
7、 根據(jù)權(quán)利要求1至6任一項所述的自動識別語音的方法,其特征在 于,所述音頻編碼碼流中提取出編碼參數(shù)包括從音頻編碼碼流中識別出有效語音幀,并4是取所述有效語音幀的編碼參數(shù)。
8、 根據(jù)權(quán)利要求7所述的自動識別語音的方法,其特征在于,所述語 音編碼碼流為自適應(yīng)多速率AMR編碼碼流。
9、 根據(jù)權(quán)利要求8所述的自動識別語音的方法,其特征在于,所述編 碼參數(shù)包括自適應(yīng)碼本索引、自適應(yīng)和固定碼本增益、5個經(jīng)過矢量量化的線謙頻 率LSF系數(shù)、話音激活檢測標(biāo)志或以上編碼參數(shù)的任意組合。
10、 一種自動識別語音的裝置,其特征在于,包括 參數(shù)提取模塊,用于從接收到的音頻編碼碼流中獲取編碼參數(shù); 特征信息提取模塊,用于將所述參數(shù)提取模塊所獲取的編碼參數(shù)映射為待識別的特征矢量;特征信息庫,用于存儲已識別的說話者的特征矢量;比較判斷模塊,用于將來自特征信息提取模塊的待識別的特征矢量與在 初始化階段獲得并保存在特征信息庫中的特征矢量作比較,根據(jù)比較結(jié)果確 定待識別的特征矢量的說話者身份。
11、 根據(jù)權(quán)利要求10所述的自動識別語音的裝置,其特征在于,所述 參數(shù)獲取模塊進(jìn)一步包括有效幀識別單元,用于識別所述音頻編碼碼流中 的有效話音幀;則所述參數(shù)獲取模塊用于從音頻編碼碼流中獲取有效話音幀的編碼參數(shù),并將所獲取的編碼參數(shù)輸出至特征信息提取模塊。
12、根據(jù)權(quán)利要求11所述的自動識別語音的裝置,其特征在于,所述 比較判斷模塊包括有效語音幀數(shù)判斷單元,用于判斷輸入的有效語音的幀數(shù)是否達(dá)到閾 值,并給出相應(yīng)判斷結(jié)果;歐拉距離計算單元,用于當(dāng)所述有效語音幀數(shù)判斷單元給出的判斷結(jié)果 為是時,計算待識別特征矢量與特征信息庫中各個特征矢量的歐拉距離;距離闞值判斷單元,用于判斷所述歐拉距離計算單元得到的各個歐拉距 離是否均大于預(yù)先設(shè)定的閾值,并給出相應(yīng)的判斷結(jié)果;搜索單元,用于當(dāng)所述距離閾值判斷單元判斷結(jié)果為否時,在各個歐拉 距離中搜索最小值,并將所得最小值對應(yīng)的特征信息庫中的特征向量的說話 者作為待識別特征矢量的說話者。出錯提示單元,用于當(dāng)所述有效語音幀數(shù)判斷單元判斷結(jié)果為否時,輸 出語音長度達(dá)不到要求的提示信息;當(dāng)所述距離閾值判斷單元的判斷結(jié)果為 是時,輸出無法識別的提示信息。
全文摘要
本發(fā)明公開了一種自動識別語音的方法,包括如下步驟從待識別的音頻編碼碼流中提取出編碼參數(shù),并將所述編碼參數(shù)轉(zhuǎn)換為待識別的特征矢量;將所述待識別的特征矢量與預(yù)先存儲的已確認(rèn)說話者身份的特征矢量進(jìn)行比較,根據(jù)比較結(jié)果確定所述待識別的特征矢量的說話者。本發(fā)明還公開了一種自動識別語音的裝置。本發(fā)明技術(shù)方案無需語音解碼器即可實現(xiàn)對編碼后的語音的識別,并且計算簡單,成本低廉。
文檔編號G10L17/00GK101562013SQ20081010412
公開日2009年10月21日 申請日期2008年4月15日 優(yōu)先權(quán)日2008年4月15日
發(fā)明者盧建超, 張偉彬 申請人:聯(lián)芯科技有限公司;大唐移動通信設(shè)備有限公司;上海大唐移動通信設(shè)備有限公司