本發明實施例涉及語音識別技術領域,尤其涉及一種語音喚醒方法及語音交互裝置。
背景技術:
隨著語音識別技術的飛速發展,語音交互的應用場景越來越普遍,智能電視,智能車載,智能家居,智能機器人都是語音交互應用的主要應用場景,同時由于人機交互對于用戶體驗的要求越來越高,人機語音對話的距離也越來越不局限于近講(50cm以內)。現在通過多麥克風技術,已經能夠實現3-5米內的遠距離語音交互。
與此同時,遠距離語音交互還存在一個問題,就是什么時候開始觸發語音收音并且開始識別。目前的技術方案有兩種,一種是用一顆低功耗芯片,一直通過麥克風陣列收音,做相應的信號處理后(信號增強,噪聲抑制,回聲消除),然后再做語音識別,判斷用戶是否說出喚醒詞,如果說了,則通知主模塊,開始收音并進行語音識別,還有一種方式是前端的模塊只做信號處理,由主模塊來一直收音,并做語音識別來判斷用戶是否說出喚醒詞,但是這兩種方式都有弊端,前一種方式由于前端處理模塊要求低功耗,所以識別性能相對來說會較低,同時誤喚醒率也會較高;而后一種方案的問題是主芯片模塊需要一直全速運行,功耗會比較大,并且由于對主芯片模塊的要求比較高,方案的成本也比較高。目前尚無兼顧功耗和誤喚醒率的方案。
技術實現要素:
本發明實施例提供一種語音喚醒方法及語音交互裝置,用以解決現有技術無法兼顧功耗和誤喚醒率的問題。
本發明實施例第一方面提供一種語音喚醒方法,該方法包括:
接收語音輸入信號;
確定所述語音輸入信號和預設的喚醒語音信號之間的相似度是否超過第一預設閾值;
若超過,則將所述語音輸入信號發送至云端服務器,以使所述云端服務器對所述語音輸入信號進行語音識別,并返回識別結果;
接收所述云端服務器返回的所述語音輸入信號對應的識別結果;
確定所述識別結果和所述預設的喚醒語音信號之間的相似度是否超過第二預設閾值,其中所述第二預設閾值大于所述第一預設閾值;
若超過,喚醒語音交互功能。
本發明實施例第二方面提供一種語音交互裝置,該裝置包括:
第一接收模塊,用于接收語音輸入信號;
確定模塊,用于確定所述語音輸入信號和預設的喚醒語音信號之間的相似度是否超過第一預設閾值;
發送模塊,用于在所述語音輸入信號和預設的喚醒語音信號之間的相似度超過第一預設閾值時,將所述語音輸入信號發送至云端服務器,以使所述云端服務器對所述語音輸入信號進行語音識別,并返回識別結果;
第二接收模塊,用于接收所述云端服務器返回的所述語音輸入信號對應的識別結果;
所述確定模塊,還用于確定所述識別結果和所述預設的喚醒語音信號之間的相似度是否超過第二預設閾值,其中所述第二預設閾值大于所述第一預設閾值;
喚醒模塊,用于當所述識別結果和所述預設的喚醒語音信號之間的相似度超過第二預設閾值時,喚醒語音交互功能。
本發明實施例,通過將接收到的語音輸入信號與預設的喚醒語音信號進行第一次匹配,確定語音輸入信號與預設的喚醒語音信號之間的相似度,從而初步確定語音輸入信號為喚醒語音信號的可能性,進一步的,當語音輸入信號為喚醒語音信號的可能性超過一定閾值時,再將接收到的語音輸入信號發送至云端服務器進行精確識別,從而將云端服務器的識別結果與預設的喚醒語音信號進行第二次匹配,來最終確定是否喚醒語音交互功能。即本發明實施例通過初步識別和精確識別兩次識別來確定語音輸入信號是否是預設的喚醒語音信號,從而降低了語音交互功能的誤喚醒率,并且由于本發明實施例中,精確識別是在云端服務器上進行的,因此能夠降低語音交互裝置本身的成本和功耗。從而能夠兼顧低功耗功耗和低誤喚醒率的需求。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明一實施例提供的語音喚醒方法的流程示意圖;
圖2為發明一實施例提供的步驟S103的執行方法流程示意圖;
圖3為本發明一實施例提供的語音交互裝置的架構圖;
圖4為本發明一實施例提供的語音交互裝置的結構示意圖;
圖5為本發明一實施例提供的發送模塊13的結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
本發明的說明書和權利要求書的術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟的過程或結構的裝置不必限于清楚地列出的那些結構或步驟而是可包括沒有清楚地列出的或對于這些過程或裝置固有的其它步驟或結構。
圖1為本發明一實施例提供的語音喚醒方法的流程示意圖,該方法可以由諸如智能電視,智能車載,智能家居,智能機器人等具有語音交互功能的語音交互裝置來執行。如圖1所示,本實施例提供的方法包括如下步驟:
步驟S101、接收語音輸入信號。
實際應用中,語音交互裝置可以通過設置在其上的麥克風陣列來接收用戶或終端設備輸入的語音信號,并在接收到語音信號后通過時間延遲補償來確保接收到的語音輸入信號的完整性,避免由于漏掉部分語音信號,而對喚醒判斷造成影響。
特別的,語音交互裝置在獲得完整的語音輸入信號后,還可以將接收到的語音輸入信號存儲在數據庫中,以便在后續喚醒判斷中調取使用。
步驟S102、確定所述語音輸入信號和預設的喚醒語音信號之間的相似度是否超過第一預設閾值,若超過,則執行步驟S103,否則結束喚醒操作。
特別的本實施例中提供的語音喚醒方法包括兩次判別過程,其中,第一次判斷過程,可以通過一DSP預處理模塊來執行。在第一次判斷過程中,首先對語音輸入信號進行預處理,再根據預處理后的語音輸入信號進行喚醒判斷。具體的,在預處理過程中,至少要對語音輸入信號進行噪聲抑制處理、回聲消除處理和聲音增強處理,其中,上述處理與現有技術中語音處理過程類似,在這里不再贅述。進一步的,在喚醒判斷之前,先從經過上述處理的語音輸入信號中,提取特征信號。例如,可以通過提取語音輸入信號的梅爾頻率倒譜系數的方式來獲取特征信號,此過程與現有技術相同,在這里不再贅述。
再進一步的,實際應用中,可以在DSP預處理模塊中內置一個簡單的聲學模型,通過將該聲學模型對上述獲得的特征信號做解碼處理,并采用最大似然比計算來判斷特征信號和喚醒語音信號之間的相似度,其基本原理為,將特征信號中的每個特征點和聲學模型里預設喚醒語音信號的每個特征點進行相似度比較,然后將所有的點綜合得出一個極大似然值,公式為:
其中,xi是特征信號中第i個特征點的樣本值,μ為模型中的值,θ為需要計算得出的極大似然值,通過這個極大似然值來計算當前語音輸入信號與預設的喚醒語音信號之間的相似度。其中,當計算獲得的相似值大于預設第一閾值時,則開啟第二次喚醒判斷,否則結束喚醒操作。本實施例中,DSP預處理模塊對語音輸入信號進行第一次喚醒判斷的過程與現有技術類似,這里不再贅述。
這里需要說明的是,由于第一次喚醒判斷過程采用的是較簡單的聲學模型,因此,對DSP預處理模塊的要求較低,DSP預處理模塊的功耗較低。
步驟S103、將所述語音輸入信號發送至云端服務器,以使所述云端服務器對所述語音輸入信號進行語音識別,并返回識別結果。
本實施例中,在第一次喚醒判斷后,如果語音輸入信號和預設的喚醒語音信號之間的相似度超過預設第一閾值,則將數據庫中存儲的語音輸入信號發送至云端服務器,通過云端服務器對語音輸入信號進行語音識別,并根據識別結果進行第二次喚醒判斷。
圖2為發明一實施例提供的步驟S103的執行方法流程示意圖,如圖2所示,步驟S103可以包括如下步驟:
步驟S11、獲取所述語音輸入信號。
實際應用中,若語音交互裝置在接收到用戶或終端設備輸入的語音輸入信號后,將接收到的語音輸入信號存儲在數據庫中,則在進行第二次喚醒判斷時,可以直接從數據庫中獲取所述語音輸入信號,當然,若語音輸入信號不存儲在數據庫中,也可以通過其他相應的手段獲取語音輸入信號,比如,語音交互裝置在接收到用戶或終端設備輸入的語音輸入信號后,也可以采用短時記憶存儲的方式暫時記憶語音輸入信號,當進行第二次喚醒判斷時,直接調用該語音輸入信號即可。當然,上述僅為示例說明,并不是對本發明的唯一限定。
步驟S12、對所述語音輸入信號進行壓縮編碼,并將壓縮編碼后的語音輸入信號發送給云端服務器,以使所述云端服務器根據所述壓縮編碼后的語音輸入信號,進行語音識別,并將識別結果以拼音形式返回。
實際應用中,當第一喚醒判斷的結果為:語音輸入信號和預設的喚醒語音信號之間的相似度超過預設第一閾值時,則將步驟S11中獲得的語音輸入信號,經過語音壓縮編碼后發送給云端服務器,云端服務器在接收到語音輸入信號后,先對語音輸入信號進行語音解壓縮處理,再對解壓縮后的語音輸入信號進行語音識別,并將識別結果返回給語音交互裝置。這需要說明的是,云端服務器的語音識別方法與現有語音識別方法類似,在這里不再贅述。
特別的,由于此時云端服務器并不知道語音交互裝置側預設的喚醒語音信號對應的是那幾個字符,優選的,云端服務器可以將識別結果以拼音的形式返回給語音交互裝置,從而使得語音交互裝置可以通過拼音匹配的方式對語音輸入信號是否是喚醒語音信號進行判斷。
步驟S104、根據所述云端服務器返回的識別結果,確定是否喚醒語音交互功能。
本實施例中,語音交互裝置將預設的喚醒語音信號轉換成拼音形式的語音文本。在云端服務器返回識別結果后,將上述語音文本與識別結果進行語音匹配,當二者的拼音匹配率超過第二預設閾值時,則喚醒語音交互功能,否則不喚醒。
例如,云端服務器返回的識別結果為“ni hao hai xin”,而預設的喚醒語音信號為“你好海信”,則其匹配率為100%,此時喚醒語音交互裝置的語音交互功能。
這里需要說明的是,為了提高語音喚醒識別的準確率,本實施例中將第二預設閾值設置為大于第一預設閾值的值。
本實施例,通過將接收到的語音輸入信號與預設的喚醒語音信號進行第一次匹配,確定語音輸入信號與預設的喚醒語音信號之間的相似度,從而初步確定語音輸入信號為喚醒語音信號的可能性,進一步的,當語音輸入信號為喚醒語音信號的可能性超過一定閾值時,再將接收到的語音輸入信號發送至云端服務器進行精確識別,從而將云端服務器的識別結果與預設的喚醒語音信號進行第二次匹配,來最終確定是否喚醒語音交互功能。即本實施例通過初步識別和精確識別兩次識別來確定語音輸入信號是否是預設的喚醒語音信號,從而降低了語音交互功能的誤喚醒率,并且由于本發明實施例中,精確識別是在云端服務器上進行的,因此能夠降低語音交互裝置本身的成本和功耗。從而能夠兼顧低功耗功耗和低誤喚醒率的需求。
圖3為本發明一實施例提供的語音交互裝置的架構圖,如圖3所示,圖3中語音交互裝置包括DSP預處理模塊和主芯片處理模塊。其中主芯片處理模塊與云端服務器連接。
當麥克風陣列接收到語音輸入信號后,DSP預處理模塊通過端點檢測(voice activity detection,簡稱VAD)來判斷是否有語音信號輸入,比如可以采用現有的短時能量和短時過零率的算法,該算法在本實施例中的應用與在現有技術中的應用相同,這里不再贅述。端點檢測完成后,需要進行一次時間延遲補償,以確保語音輸入信號的完整。在對語音輸入信號進行信號處理之前,需要將這段語音輸入信號完整保存下來,以備傳送到云端服務器進行識別。信號處理部分至少包括噪聲抑制處理、回聲消除處理和聲音增強處理。實際應用中,噪聲抑制處理可以在多濾波器組合的基礎上進行。回聲消除處理和聲音增強處理的執行方法與現有技術相同,在這里不再贅述。進一步的,在完成上述信號處理之后,先從語音輸入信號中提取特征信號,再根據DSP預處理模塊內的一個簡單的聲學模型,對提取獲得的特征信號進行解碼處理,并計算特征信號和預設的喚醒語音信號之間的相似度,當計算獲得的相似度超過第一預設閾值時,則觸發主芯片處理模塊,進行再一次的喚醒判斷,否則退出本次喚醒操作。這里需要說明的是,DSP預處理模塊,只是通過簡單的聲學模型做初步的喚醒判斷,因此,DSP預處理模塊只要在低功耗的工作環境下即可。
進一步的,當主芯片處理模塊被激活時,主芯片護理模塊可以通過其與DSP預處理模塊之間的數據接口,獲取DSP預處理模塊保存的語音輸入信號,并在對語音輸入信號進行語音壓縮后,將語音輸入信號發送給云端服務器進行語音識別。這里需要說明的是,云端服務器的語音識別方法采用類似于現有技術中的后臺語音識別的方法對語音輸入信號進行識別,其具有識別率較高的特點,這里的執行方式與現有技術類似在這里不再贅述。
云端服務器識別完成后,由于此時云端服務器并不知道語音交互裝置側預設的喚醒語音信號對應的哪幾個字符,所以云端服務器優選以拼音的方式返回識別結果,以便于語音交互裝置進行比較。語音交互裝置在接收到云端服務器的識別結果后,將預設的喚醒語音信號轉換成拼音形式的語音文本,然后用拼音匹配法,判斷上述識別結果和語音文本之間的拼音匹配率,當拼音匹配率超過第二預設閾值時,則喚醒語音交互功能,否則不喚醒。比如云端服務器返回的識別結果為“ni hao hai xin”,而預設的喚醒語音信號為“你好海信”,則其匹配率為100%,此時喚醒語音交互裝置的語音交互功能。
圖3所示的架構,利用前端DSP預處理模塊快速低功耗的特點,對語音輸入信號進行初步的喚醒判斷,而主芯片處理模塊在沒有接收到DSP預處理模塊的觸發信號之前,一直在低功耗模式運行,主芯片處理模塊被觸發后,則利用自身的網絡傳輸性能,快速地將語音輸入信號傳輸到云端服務器,充分利用云端服務器的計算性能,以非常高的識別率,對語音輸入信號做精準喚醒識別,而主芯片處理模塊不做任何信號處理和語音識別計算,只作判斷,整個喚醒的識別速度就體現在網絡傳輸上,而不依賴于主芯片處理模塊的計算能力,尤其對于對網絡環境依賴性較強的語音交互裝置來說(如智能音箱),能夠很好地利用網絡環境的優勢因素,在語音交互裝置的成本方面和性能方面,較現有技術而言,都有較大的提高。
圖4為本發明一實施例提供的語音交互裝置的結構示意圖,如圖4所示,本實施例提供的裝置包括:
第一接收模塊11,用于接收語音輸入信號;
確定模塊12,用于確定所述語音輸入信號和預設的喚醒語音信號之間的相似度是否超過第一預設閾值;
發送模塊13,用于在所述語音輸入信號和預設的喚醒語音信號之間的相似度超過第一預設閾值時,將所述語音輸入信號發送至云端服務器,以使所述云端服務器對所述語音輸入信號進行語音識別,并返回識別結果;
第二接收模塊14,用于接收所述云端服務器返回的所述語音輸入信號對應的識別結果;
所述確定模塊12,還用于確定所述識別結果和所述預設的喚醒語音信號之間的相似度是否超過第二預設閾值,其中所述第二預設閾值大于所述第一預設閾值;
喚醒模塊15,用于當所述識別結果和所述預設的喚醒語音信號之間的相似度超過第二預設閾值時,喚醒語音交互功能。
其中,所述第一接收模塊11,具體用于:
確定是否有語音信號輸入;
若有,則對輸入的語音信號進行時間延遲補償,獲得完整的語音輸入信號;
將所述完整的語音輸入信號存儲在數據庫中。
所述確定模塊12,包括:
提取子模塊122,用于從所述語音輸入信號中,提取特征信號;
確定子模塊123,用于確定所述特征信號與預設的喚醒語音信號之間的相似度是否超過第一預設閾值。
所述確定模塊12,具體用于:
將所述預設的喚醒語音信號轉換成拼音形式的語音文本;
確定所述語音文本與所述識別結果之間的匹配率是否超過第二預設閾值。
本實施例提供的語音交互裝置,能夠用于執行如圖1所示的方法,其具體的執行方式和有益效果與圖1所示實施例類似,在這里不再贅述。
圖5為本發明一實施例提供的發送模塊13的結構示意圖,如圖5所示,本實施例在圖4所示結構的基礎上,發送模塊13包括:
語音編碼子模塊131,用于對所述語音輸入信號進行壓縮編碼;
發送子模塊132,用于將壓縮編碼后的語音輸入信號發送給云端服務器,以使所述云端服務器根據所述壓縮編碼后的語音輸入信號,進行語音識別,并將識別結果以拼音形式返回。
本實施例提供的發送模塊13,能夠用于執行圖2所示的方法,其具體的執行方式和有益效果與圖2所示實施例類似,在這里不再贅述。
最后應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的范圍。