智能設(shè)備的語音喚醒方法及實現(xiàn)所述方法的系統(tǒng)的制作方法
【專利說明】
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及語音識別領(lǐng)域,特別是一種智能設(shè)備的語音喚醒方法,以及實現(xiàn)所述方法的語音喚醒系統(tǒng)。
【【背景技術(shù)】】
[0002]語音識別技術(shù)在近些年取得了顯著的進步,該技術(shù)已進入工業(yè)、家電、智能家居等各個領(lǐng)域。語音喚醒即是語音識別技術(shù)的一種形式,其不直接接觸硬件設(shè)備,通過語音即可將設(shè)備喚醒運行。一般情況下,大部分設(shè)備都是靠物理按鍵實現(xiàn)設(shè)備的喚醒或者運行。然而,這對于用戶體驗來說并不好。語音作為人們最自然的交流方式,通過語音喚醒這種非接觸式的方式啟動設(shè)備無疑是更友好的。
[0003]中國發(fā)明專利申請CN 102999161A公開了一種語音喚醒模塊的實現(xiàn)方法,包括音輸入、語音喚醒算法和喚醒執(zhí)行步驟,語音喚醒算法獲取語音輸入的語音信號,進行語音喚醒處理后,將結(jié)果輸出給喚醒執(zhí)行,從而完成喚醒操作;所述語音喚醒算法通過聲學(xué)特征提取、喚醒詞檢測、喚醒詞確認、構(gòu)建喚醒詞檢測網(wǎng)絡(luò)、訓(xùn)練聲學(xué)模型和構(gòu)建喚醒詞確認網(wǎng)絡(luò),其中,喚醒詞檢測:將提取得到的聲學(xué)特征,采用訓(xùn)練的聲學(xué)模型在喚醒詞檢測網(wǎng)絡(luò)上計算聲學(xué)得分,如果聲學(xué)得分最優(yōu)的路徑中包含要檢測的喚醒詞,則確定已檢出喚醒詞,進入,否則重新進行提取聲學(xué)特征。
[0004]在實際使用中發(fā)現(xiàn)該技術(shù)方案具備明顯缺陷,這是由于實際應(yīng)用時用戶的發(fā)音常常發(fā)生音變、衰減等,使得正確喚醒率下降,此外真實環(huán)境下總是存在很多噪聲,比如說話聲、開門聲、電視發(fā)出的聲音等,這些聲音有時候也會將智能設(shè)備喚醒,稱為誤喚醒。誤喚醒為用戶體驗帶來了極大的困擾,大大降低該技術(shù)方案的可行性。
【
【發(fā)明內(nèi)容】
】
[0005]本發(fā)明的目的是克服現(xiàn)有技術(shù)缺陷,提供一種靈敏度好、準確性高、有效距離遠的語音喚醒方法及其實現(xiàn)系統(tǒng),能夠方便、友好地啟動智能終端設(shè)備。
[0006]本發(fā)明期望通過建立一個覆蓋多種地方口音的語料庫和噪聲庫,利用該數(shù)據(jù)庫訓(xùn)練基于上下文相關(guān)的聲學(xué)模型;利用基于子帶譜熵的語音端點檢測方法進行語音的端點檢測;根據(jù)用戶提供的關(guān)鍵詞表,生成相應(yīng)的解碼網(wǎng)絡(luò)資源。
[0007]為了實現(xiàn)上述目的,本發(fā)明提供一種智能設(shè)備的語音喚醒方法,所述方法包括:
[0008]A、獲取音頻數(shù)字信號;
[0009]B、對音頻數(shù)字信號進行語音端點檢測,判斷是否含有語音信號;
[0010]C、音頻數(shù)字信號中含有語音信號,通過語音前端處理方法逐幀提取特征向量;
[0011]D、通過關(guān)鍵詞檢測方法對特征向量進行逐幀解碼,得到喚醒詞指令;
[0012]E、通過喚醒詞指令對智能設(shè)備進行反饋控制;
[0013]其中,步驟D中對特征向量進行解碼包括前置步驟:
[0014]D1、建立自定義喚醒關(guān)鍵詞文本集,和
[0015]D2、將所述文本集轉(zhuǎn)換為關(guān)鍵詞網(wǎng)絡(luò)解碼資源;
[0016]所述步驟Dl采用包括基于規(guī)則驅(qū)動建立關(guān)鍵詞和基于數(shù)據(jù)驅(qū)動建立關(guān)鍵詞;基于規(guī)則驅(qū)動建立關(guān)鍵詞是指通過語音發(fā)音規(guī)則,獲取與關(guān)鍵詞發(fā)音相似的近似詞條,除近似詞條以外的詞條定義為競爭詞條;基于數(shù)據(jù)驅(qū)動建立關(guān)鍵詞是指獲取語料庫中實際被識別次數(shù)較多的詞條。
[0017]在本發(fā)明中,基于規(guī)則驅(qū)動建立關(guān)鍵詞包括根據(jù)漢字語音聲韻母的發(fā)音規(guī)則將聲母和韻母發(fā)音分別進行分類,其中聲母分為塞音、擦音、塞擦音、鼻音和邊音,韻母分為開口呼、齊齒呼、合口呼和撮口呼,其中與關(guān)鍵詞的漢字發(fā)音具有同一聲母類型或同一韻母類型的詞定義為近似詞條,除近似詞條以外的詞條定義為競爭詞條。
[0018]根據(jù)一種優(yōu)選的實施方式,步驟B中采用基于子帶譜熵的方法實現(xiàn)語音端點檢測,包括將數(shù)字語音信號劃分為多個語音幀,對各語音幀進行傅里葉變換,得到多個語音頻譜;將每個語音頻譜劃分為多個子帶,計算各子帶譜熵;將各子帶譜熵與預(yù)設(shè)的譜熵閾值進行比較,通過結(jié)果檢測各語音幀是否含有語音。
[0019]優(yōu)選地,劃分語音幀采用25毫秒窗及10毫秒的幀移。
[0020]特別優(yōu)選地,步驟C提取特征向量中,提取梅爾頻率倒譜系數(shù)的作為特征向量。
[0021]本發(fā)明還提供一種語音喚醒智能設(shè)備的系統(tǒng),所述系統(tǒng)包括:
[0022]語音檢測模塊,負責實時采集和檢測用戶的語音;
[0023]語音喚醒模塊,用于實時檢測采集的語音數(shù)據(jù)中是否存在喚醒關(guān)鍵詞,在檢測到喚醒關(guān)鍵詞之后,發(fā)出控制信號,啟動智能設(shè)備;
[0024]喚醒關(guān)鍵詞自定義模塊,用戶根據(jù)自己的喜好或者智能產(chǎn)品的需要,自定義關(guān)鍵詞喚醒詞表,再由該模塊生成本地資源文件保存。
[0025]根據(jù)一種優(yōu)選的實施方式,所述語音檢測模塊包括:
[0026]實時錄音模塊111,調(diào)用智能設(shè)備的相關(guān)接口獲取錄音數(shù)據(jù);
[0027]語音端點檢測模塊112,采用基于子帶譜熵的方法檢測實時錄音模塊是否含有語音信號,并提取語音信號。
[0028]優(yōu)選地,所述語音喚醒模塊包括:
[0029]語音信號前端處理模塊113,用于對語音信號進行短時譜分析,并提取梅爾頻率倒譜系數(shù)作為語音特征向量;
[0030]語音喚醒關(guān)鍵詞檢測模塊114,用于將提取到的語音特征向量進行解碼,判斷是否匹配喚醒關(guān)鍵詞;
[0031]反饋控制模塊115,根據(jù)語音關(guān)鍵詞檢測模塊給出的結(jié)果,決定是否啟動智能設(shè)備。
[0032]在本發(fā)明中,優(yōu)選地喚醒關(guān)鍵詞自定義模塊包括基于規(guī)則驅(qū)動建立的關(guān)鍵詞庫和基于數(shù)據(jù)驅(qū)動建立的關(guān)鍵詞庫;
[0033]基于規(guī)則驅(qū)動建立的關(guān)鍵詞庫是通過語音發(fā)音規(guī)則建立的與關(guān)鍵詞發(fā)音相似的近似詞條以及與關(guān)鍵詞發(fā)音不同的競爭詞條的庫;
[0034]基于數(shù)據(jù)驅(qū)動建立的關(guān)鍵詞庫是根據(jù)語料庫中實際被識別次數(shù)建立的詞條的庫。
[0035]具體地,為了避免實際應(yīng)用中用戶發(fā)音發(fā)生音變、衰減導(dǎo)致正確喚醒率下降,同時避免由于環(huán)境噪聲引起的誤喚醒,在建立關(guān)鍵詞語料庫時可以設(shè)計多個與喚醒關(guān)鍵詞發(fā)音相近的詞作為喚醒詞,以提高正確喚醒率;另一方面通過設(shè)置競爭詞條以降低誤喚醒的頻率。
[0036]在語音端點檢測模塊中,本發(fā)明采用基于子帶譜熵的方法實現(xiàn)語音端點檢測。該算法將語音分幀后進行傅里葉變換,并將語音的頻譜分成若干個子帶,并通過計算各個子帶的譜熵,判斷該幀語音是否屬于語音。若檢測到語音,則語音識別器開始對語音進行特征提取,再利用上文所述的三音子模型對其進行解碼;否則,繼續(xù)檢測。該方法相對于比較常用的基于能量的語音端點檢測,能夠較好的濾掉部分噪聲,比如碰撞聲、汽車發(fā)出的噪聲等。
[0037]在檢測到喚醒關(guān)鍵詞后,智能設(shè)備可以調(diào)用相應(yīng)的接口,啟動設(shè)備,進行更多的操作。
[0038]本發(fā)明提供兩種喚醒關(guān)鍵詞選擇方式,一種是選擇默認的關(guān)鍵詞;另一種是用戶自定義喚醒關(guān)鍵詞。
[0039]提高遠距離的語音喚醒率是本發(fā)明的重要目的?,F(xiàn)有技術(shù)的大部分語音識別應(yīng)用都是要求用戶近距離使用,如在I米之內(nèi)使用。在更遠的距離下,如I米到3米的范圍內(nèi),由于背景噪聲、混響、信號衰減等因素干擾下,語音信號會出現(xiàn)不同程度的失真,從而引起正確喚醒率的大幅度下降。在傳統(tǒng)的語音處理技術(shù)中,會對遠距離的信號設(shè)計針對性的算法以補償信號的損失,或者通過收集更多的遠距離錄制的語料以訓(xùn)練聲學(xué)模型,達到提高語音喚醒的正確率。在本發(fā)明中,在保持語音喚醒模塊中聲學(xué)模型不變的情況下,通過獨特的構(gòu)造關(guān)鍵詞表來實現(xiàn)提高遠距離語音喚醒的正確率。
[0040]在默認的關(guān)鍵詞表的設(shè)計過程中,本發(fā)明采取的是基于規(guī)則驅(qū)動和基于數(shù)據(jù)驅(qū)動相結(jié)合的方法,詳細描述如下:
[0041]所謂的基于規(guī)則驅(qū)動的方法指的是根據(jù)語音學(xué)或聲學(xué)中的聲母和韻母發(fā)音方式的區(qū)別,尋找和關(guān)鍵詞發(fā)音方式相近或者發(fā)音方式相差較大的詞條。根據(jù)通用的漢語教材,漢語的聲母發(fā)音按發(fā)音方式共分為塞音、擦音、塞擦音、鼻音和邊音五類,例如b、p、d、t等屬于塞音,而z、c、j、X等屬于塞擦音;韻母則可按照韻母開頭元音口形,分為開口呼、齊齒呼、合口呼和撮口呼四類,例如a、O、e等屬于開口呼。對于同屬于一類中的聲母或韻母,認為其發(fā)聲方式與結(jié)果音調(diào)相似。
[0042]按照該發(fā)音規(guī)則,將與關(guān)鍵詞發(fā)音方式相近的詞條,比如聲母或韻母與目標喚醒關(guān)鍵詞都屬于同一類發(fā)音方式的,一起作為喚醒關(guān)鍵詞;而對于發(fā)音方式不同的,比如聲母和韻母與目標關(guān)鍵詞不同,作為競爭詞條。比如對于關(guān)鍵詞“云寶yun bao”,會根據(jù)它的聲母韻母的發(fā)音特征,因為“a”和“ao”都屬于開口呼的發(fā)音方式,所以認為“把ba”的發(fā)音與“寶bao” (聲母韻母均同類)相近,而認為與“非fei” (聲母韻母均不同類)、“服fu”、“發(fā)fa”(韻母同類但聲母不同類)等字的發(fā)音方式則不同。
[0043]在基于數(shù)據(jù)驅(qū)動的方法中,通過尋找在我們語料庫中實際識別次數(shù)較多的詞條構(gòu)造詞表。例如,在關(guān)鍵詞“云寶yun bao”的語料中,被識別成“玲卯ling mao”、“聯(lián)馬Iianma”等詞次數(shù)較多。該種方法很好的利用了實際語料中的信息,在語料庫足夠大的情況下可以獲得很好的效果。本發(fā)明在構(gòu)造了基礎(chǔ)的詞表后,通過實驗逐步的縮減詞表。
[0044]與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點包括:
[0045]1、在一個非特定說話人語音識別引擎上,不需要對采集的語音增加額外的聲學(xué)處理,比如無需去混響、信道補償?shù)?,通過調(diào)整詞表可以實現(xiàn)遠距離的語音喚醒,并獲得很高的喚醒識別率;
[004