本申請涉及語音識(shí)別技術(shù)領(lǐng)域,尤其涉及一種語音識(shí)別方法及裝置。
背景技術(shù):
隨著語音識(shí)別技術(shù)的發(fā)展,出現(xiàn)了可以將音頻轉(zhuǎn)換成文字的語音識(shí)別引擎。其中,語音合成引擎包括在線語音識(shí)別引擎和離線語音識(shí)別引擎。
現(xiàn)有技術(shù)中,為了在不同網(wǎng)絡(luò)狀況下都能順利進(jìn)行語音識(shí)別,出現(xiàn)了綜合使用在線語音識(shí)別引擎和離線語音識(shí)別引擎進(jìn)行語音識(shí)別的方法。具體為:在用戶輸入音頻信息后,客戶端將用戶輸入的音頻信息同時(shí)發(fā)送至離線語音識(shí)別引擎和在線語音識(shí)別引擎。在預(yù)定時(shí)間內(nèi),若客戶端接收到在線語音識(shí)別引擎返回的文字信息,則使用在線語音識(shí)別引擎進(jìn)行語音識(shí)別;否則,使用離線語音識(shí)別引擎進(jìn)行語音識(shí)別。
上述語音識(shí)別方法中,在用戶輸入音頻信息后,需要等待預(yù)定時(shí)間,才能確定所使用的語音合成引擎,導(dǎo)致語音識(shí)別的實(shí)時(shí)性較差。
技術(shù)實(shí)現(xiàn)要素:
本申請的多個(gè)方面提供一種語音識(shí)別方法及裝置,用以提高語音識(shí)別的實(shí)時(shí)性。
本申請實(shí)施例提供一種語音識(shí)別方法,包括:
響應(yīng)于用戶在語音識(shí)別客戶端的音頻輸入界面上輸入音頻信息的操作,獲取預(yù)先根據(jù)所述語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況確定的語音識(shí)別引擎指示信息;
發(fā)送所述音頻信息至所述語音識(shí)別引擎指示信息所指示的語音識(shí)別引擎,以通過所述語音識(shí)別引擎指示信息所指示的語音識(shí)別引擎識(shí)別所述音頻信息。
可選地,在響應(yīng)于用戶在語音識(shí)別客戶端的音頻輸入界面上輸入音頻信息的操作之前,所述方法還包括:
響應(yīng)于進(jìn)入所述音頻輸入界面或者開啟所述語音識(shí)別客戶端的操作,偵測所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況;
根據(jù)偵測到所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況,確定所述語音識(shí)別引擎指示信息。
可選地,在響應(yīng)于進(jìn)入所述音頻輸入界面或者開啟所述語音識(shí)別客戶端的操作之前,所述方法還包括:
響應(yīng)于所述用戶的偵測配置請求,展示網(wǎng)絡(luò)設(shè)置界面,以供所述用戶配置偵測周期以及偵測網(wǎng)址;
響應(yīng)于所述用戶在所述網(wǎng)絡(luò)設(shè)置界面上的設(shè)置操作,獲取所述用戶配置的所述偵測周期以及所述偵測網(wǎng)址。
可選地,響應(yīng)于進(jìn)入所述音頻輸入界面或者開啟所述語音識(shí)別客戶端的操作,偵測所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況,包括:
響應(yīng)于進(jìn)入所述音頻輸入界面或者開啟所述語音識(shí)別客戶端的操作,按照所述偵測周期,周期性地向所述偵測網(wǎng)址對(duì)應(yīng)的所述在線語音識(shí)別引擎發(fā)送偵測請求;
根據(jù)所述在線語音識(shí)別引擎對(duì)所述偵測請求的響應(yīng)情況,確定所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況。
可選地,根據(jù)偵測到所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況,確定所述語音識(shí)別引擎指示信息,包括:
若所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況滿足設(shè)定的網(wǎng)絡(luò)要求,確定指示所述在線語音識(shí)別引擎的語音識(shí)別引擎指示信息;
若所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況不滿足設(shè)定的網(wǎng)絡(luò)要求,確定指示離線語音識(shí)別引擎的語音識(shí)別引擎指示信息。
可選地,在根據(jù)偵測到所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況,確定所述語音識(shí)別引擎指示信息之后,所述方法還包括:
保存所述語音識(shí)別引擎指示信息至本地內(nèi)存;
所述響應(yīng)于用戶在語音識(shí)別客戶端提供的音頻輸入界面上輸入音頻信息的操作,獲取預(yù)先根據(jù)所述語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況確定的語音識(shí)別引擎指示信息,包括:
響應(yīng)于所述用戶在所述音頻輸入界面上輸入音頻信息的操作,從所述本地內(nèi)存,獲取最近一次保存的所述語音識(shí)別引擎指示信息。
可選地,所述方法還包括:
在所述語音識(shí)別引擎指示信息所指示的語音識(shí)別引擎識(shí)別所述音頻信息的過程中,偵測所述語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況;
當(dāng)所述語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況發(fā)生變化時(shí),更新所述語音識(shí)別引擎指示信息。
可選地,所述方法還包括:
響應(yīng)于退出所述音頻輸入界面或關(guān)閉所述語音識(shí)別客戶端的操作,停止偵測所述語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況。
本申請實(shí)施例還提供一種語音識(shí)別裝置,包括:
第一獲取模塊,用于響應(yīng)于用戶在語音識(shí)別客戶端的音頻輸入界面上輸入音頻信息的操作,獲取預(yù)先根據(jù)所述語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況確定的語音識(shí)別引擎指示信息;
發(fā)送模塊,用于發(fā)送所述音頻信息至所述語音識(shí)別引擎指示信息所指示的語音識(shí)別引擎,以通過所述語音識(shí)別引擎指示信息所指示的語音識(shí)別引擎識(shí)別所述音頻信息。
可選地,所述裝置還包括:
偵測模塊,用于響應(yīng)于進(jìn)入所述音頻輸入界面或者開啟所述語音識(shí)別客戶端的操作,偵測所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況;
確定模塊,用于根據(jù)偵測到所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況,確定所述語音識(shí)別引擎指示信息。
在本申請實(shí)施例中,在用戶執(zhí)行輸入音頻信息的操作之前,預(yù)先根據(jù)網(wǎng)絡(luò)狀況確定語音識(shí)別引擎指示信息;進(jìn)而在用戶執(zhí)行輸入音頻信息的操作時(shí),可以立即獲取到語音識(shí)別引擎指示信息,并確定可用的語音識(shí)別引擎;進(jìn)一步可以在用戶輸入音頻信息之后,立即通過確定的語音識(shí)別引擎進(jìn)行語音識(shí)別,從而提高了語音識(shí)別的實(shí)時(shí)性,減少時(shí)間的浪費(fèi)。
附圖說明
此處所說明的附圖用來提供對(duì)本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實(shí)施例及其說明用于解釋本申請,并不構(gòu)成對(duì)本申請的不當(dāng)限定。在附圖中:
圖1為本申請一實(shí)施例提供的語音識(shí)別方法的流程示意圖;
圖2為本申請又一實(shí)施例提供的語音識(shí)別方法的流程示意圖;
圖3為本申請又一實(shí)施例提供的語音識(shí)別裝置的模塊結(jié)構(gòu)圖;
圖4為本申請又一實(shí)施例提供的語音識(shí)別裝置的模塊結(jié)構(gòu)圖。
具體實(shí)施方式
為使本申請的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請具體實(shí)施例及相應(yīng)的附圖對(duì)本申請技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。
以下結(jié)合附圖,詳細(xì)說明本申請各實(shí)施例提供的技術(shù)方案。
圖1為本申請一實(shí)施例提供的語音識(shí)別方法的流程示意圖。如圖1所示,該方法包括以下步驟:
s101:響應(yīng)于用戶在語音識(shí)別客戶端的音頻輸入界面上輸入音頻信息的操作,獲取預(yù)先根據(jù)語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況確定的語音識(shí)別引擎指示信息。
s102:發(fā)送音頻信息至語音識(shí)別引擎指示信息所指示的語音識(shí)別引擎,以通過語音識(shí)別引擎指示信息所指示的語音識(shí)別引擎識(shí)別音頻信息。
當(dāng)用戶有音頻識(shí)別的需求時(shí),可以將待識(shí)別的音頻信息輸入至語音識(shí)別客戶端,再由語音識(shí)別客戶端將接收到的音頻信息發(fā)送至語音識(shí)別引擎進(jìn)行語音識(shí)別。
對(duì)于語音識(shí)別客戶端來說,一般會(huì)提供一音頻輸入界面,用戶可以在音頻輸入界面上執(zhí)行輸入音頻信息的操作。
可選地,在音頻輸入界面上可以設(shè)置一音頻輸入控件,用戶可以通過觸發(fā)音頻輸入控件,執(zhí)行音頻信息的輸入。例如,音頻輸入控件可以為麥克風(fēng)圖標(biāo)控件,用戶可以通過觸控麥克風(fēng)圖標(biāo)控件,輸入音頻信息。
接著,為了在用戶輸入音頻信息后,能夠立即確定語音識(shí)別引擎,本實(shí)施例預(yù)先確定出語音識(shí)別引擎指示信息,進(jìn)而可響應(yīng)于用戶在音頻輸入界面上輸入音頻信息的操作,獲取預(yù)先確定的語音識(shí)別引擎指示信息,從而基于該語音識(shí)別引擎指示信息確定用于對(duì)用戶輸入的音頻信息進(jìn)行語音識(shí)別的語音識(shí)別引擎。其中,語音識(shí)別引擎指示信息是預(yù)先根據(jù)語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況確定的。為方便描述,在下述實(shí)施例中語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況簡稱為網(wǎng)絡(luò)狀況。
可選地,語音識(shí)別引擎指示信息包括指示在線語音識(shí)別引擎的指示信息以及指示離線語音識(shí)別引擎的指示信息。
可選地,若網(wǎng)絡(luò)狀況可以供在線語音識(shí)別引擎進(jìn)行語音識(shí)別,則確定指示在線語音識(shí)別引擎的指示信息;若網(wǎng)絡(luò)狀況不可以供在線語音識(shí)別引擎進(jìn)行語音識(shí)別,則確定指示離線語音識(shí)別引擎的指示信息。接著,可以根據(jù)語音識(shí)別引擎指示信息確定在線語音識(shí)別引擎或者離線語音識(shí)別引擎。
然后,語音識(shí)別客戶端可以發(fā)送音頻信息至語音識(shí)別引擎指示信息所指示的語音識(shí)別引擎。語音識(shí)別引擎在接收到音頻信息后,對(duì)音頻信息進(jìn)行識(shí)別。
語音識(shí)別引擎完成語音識(shí)別后,可以將識(shí)別結(jié)果返回至語音識(shí)別客戶端,由語音識(shí)別客戶端展示給用戶。
本實(shí)施例中,通過預(yù)先根據(jù)網(wǎng)絡(luò)狀況確定語音識(shí)別引擎指示信息,進(jìn)而在用戶執(zhí)行輸入音頻信息的操作時(shí),可以立即獲取到語音識(shí)別引擎指示信息,并確定可用的語音識(shí)別引擎;進(jìn)一步地,在用戶輸入音頻信息之后,可立即通過確定的語音識(shí)別引擎進(jìn)行語音識(shí)別,從而提高了語音識(shí)別的實(shí)時(shí)性。
在上述實(shí)施例或下述實(shí)施例中,在響應(yīng)于用戶在語音識(shí)別客戶端的音頻輸入界面上輸入音頻信息的操作之前,可預(yù)先通過網(wǎng)絡(luò)狀況確定語音識(shí)別引擎指示信息。
可選地,可以響應(yīng)于進(jìn)入音頻輸入界面或者開啟語音識(shí)別客戶端的操作,偵測語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況,并根據(jù)偵測到語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況,確定語音識(shí)別引擎指示信息。
當(dāng)用戶有語音識(shí)別的需求時(shí),首先需要開啟語音識(shí)別客戶端。在開啟語音識(shí)別客戶端后,語音識(shí)別客戶端展示的頁面可能是音頻輸入界面,也可能不是音頻輸入界面。若開啟語音識(shí)別客戶端時(shí),語音識(shí)別客戶端展示的頁面不是音頻輸入界面,還需要再進(jìn)入音頻輸入界面。隨后,在音頻輸入界面上,通過觸發(fā)音頻輸入控件輸入音頻信息。
基于上述的分析,當(dāng)用戶進(jìn)入音頻輸入界面或者開啟語音識(shí)別客戶端時(shí),意味著用戶將要執(zhí)行音頻信息的輸入操作。此時(shí),可以響應(yīng)于進(jìn)入音頻輸入界面或者開啟語音識(shí)別客戶端的操作,偵測語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況。進(jìn)而根據(jù)偵測到語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況,確定語音識(shí)別引擎指示信息。待用戶輸入音頻信息時(shí),可以直接獲取已確定的語音識(shí)別引擎指示信息,據(jù)此及時(shí)地確定語音識(shí)別所需的語音識(shí)別引擎。
圖2為本申請又一實(shí)施例提供的語音識(shí)別方法的流程示意圖。如圖2所示,包括以下步驟。
s201:響應(yīng)于用戶的偵測配置請求,展示網(wǎng)絡(luò)設(shè)置界面,以供用戶配置偵測周期以及偵測網(wǎng)址。
s202:響應(yīng)于用戶在網(wǎng)絡(luò)設(shè)置界面上的設(shè)置操作,獲取用戶配置的偵測周期以及偵測網(wǎng)址。
s203:響應(yīng)于進(jìn)入音頻輸入界面或者開啟語音識(shí)別客戶端的操作,按照偵測周期,周期性地向偵測網(wǎng)址對(duì)應(yīng)的在線語音識(shí)別引擎發(fā)送偵測請求。
s204:根據(jù)在線語音識(shí)別引擎對(duì)偵測請求的響應(yīng)情況,確定語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況。
s205:判斷語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況是否滿足設(shè)定的網(wǎng)絡(luò)要求。若是,跳轉(zhuǎn)到步驟s206;若否,跳轉(zhuǎn)到步驟s207。
s206:確定指示在線語音識(shí)別引擎的語音識(shí)別引擎指示信息,并跳轉(zhuǎn)到步驟s209。
s207:確定指示離線語音識(shí)別引擎的語音識(shí)別引擎指示信息,繼續(xù)執(zhí)行步驟s208。
s208:發(fā)送音頻信息至指示離線語音識(shí)別引擎的語音識(shí)別引擎指示信息所指示的離線語音識(shí)別引擎,以通過所述離線語音識(shí)別引擎識(shí)別音頻信息,結(jié)束本次操作。
s209:發(fā)送音頻信息至指示在線語音識(shí)別引擎的語音識(shí)別引擎指示信息所指示的在線語音識(shí)別引擎,以通過所述在線語音識(shí)別引擎識(shí)別音頻信息,結(jié)束本次操作。
由于偵測網(wǎng)絡(luò)狀況的操作需要一定的時(shí)長,為了在用戶輸入音頻信息時(shí),能夠立即獲取語音識(shí)別引擎指示信息,可選地,可以響應(yīng)于進(jìn)入音頻輸入界面或者開啟所述語音識(shí)別客戶端的操作,即開始偵測網(wǎng)絡(luò)狀況?;诖?,可以在進(jìn)入音頻輸入界面或者開啟語音識(shí)別客戶端之前,預(yù)先配置好偵測網(wǎng)絡(luò)狀況所需的參數(shù)。可選地,偵測網(wǎng)絡(luò)狀況所需的參數(shù)可包括但不限于:偵測周期和偵測網(wǎng)址。
基于此,在用戶進(jìn)入音頻輸入界面或者開啟語音識(shí)別客戶端之前,可預(yù)先設(shè)置偵測周期與偵測網(wǎng)址??蛇x地,用戶可以向語音識(shí)別客戶端發(fā)送偵測配置請求;語音識(shí)別客戶端可以響應(yīng)于用戶的偵測配置請求,向用戶展示網(wǎng)絡(luò)設(shè)置界面,以供用戶配置偵測周期以及偵測網(wǎng)址(即步驟s201)。
其中,偵測網(wǎng)址為語音識(shí)別客戶端發(fā)送偵測請求的網(wǎng)址。本實(shí)施例中的偵測網(wǎng)址可包括ip地址和/或域名地址,例如域名地址可以是www.baidu.com,ip地址可以是61.135.169.121等。為了成功偵測語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況,偵測網(wǎng)址應(yīng)為在線語音識(shí)別引擎所在的ip地址和/或域名地址,或者在語音識(shí)別客戶端與在線語音識(shí)別引擎的通訊鏈路上的中轉(zhuǎn)服務(wù)器的ip地址和/或域名地址。
偵測周期為語音識(shí)別客戶端發(fā)送偵測請求的周期,例如1s、2s等。其中,偵測請求為語音識(shí)別客戶端向偵測網(wǎng)址對(duì)應(yīng)的服務(wù)器發(fā)送的請求信號(hào)。
可選地,在網(wǎng)絡(luò)設(shè)置界面上可以預(yù)先提供偵測周期和偵測網(wǎng)址的選項(xiàng),或者提供偵測周期和偵測網(wǎng)址的輸入框,以供用戶選擇或輸入偵測周期和偵測網(wǎng)址。
在用戶在網(wǎng)絡(luò)設(shè)置界面上設(shè)置完偵測周期和偵測網(wǎng)址后,語音識(shí)別客戶端可響應(yīng)于用戶在網(wǎng)絡(luò)設(shè)置界面上的設(shè)置操作,獲取用戶配置的偵測周期以及偵測網(wǎng)址(即步驟s202)。
可選地,在用戶在網(wǎng)絡(luò)設(shè)置界面上設(shè)置完成后,可進(jìn)行提交操作或保存操作,例如觸發(fā)提交控件或保存控件。語音識(shí)別客戶端可響應(yīng)于用戶在網(wǎng)絡(luò)設(shè)置界面上的提交操作或保存操作,獲取用戶設(shè)置的偵測周期以及偵測網(wǎng)址。
用戶不必每次在進(jìn)入音頻輸入界面或開啟語音識(shí)別客戶端前,都設(shè)置一次偵測周期以及偵測網(wǎng)址??蛇x地,在獲取到用戶設(shè)置的偵測周期以及偵測網(wǎng)址后,可將偵測周期以及偵測網(wǎng)址保存在本地內(nèi)存,在用戶下次有語音識(shí)別的需求時(shí),可不必發(fā)送偵測配置請求,語音識(shí)別客戶端可直接從本地內(nèi)存中獲取早前設(shè)置好的偵測網(wǎng)址和偵測周期。
在獲取到偵測網(wǎng)址和偵測周期后,語音識(shí)別客戶端可偵測網(wǎng)絡(luò)狀況??蛇x地,響應(yīng)于進(jìn)入音頻輸入界面或者開啟語音識(shí)別客戶端的操作,按照偵測周期,周期性地向偵測網(wǎng)址對(duì)應(yīng)的在線語音識(shí)別引擎發(fā)送偵測請求(即步驟s203)。接著,根據(jù)在線語音識(shí)別引擎對(duì)偵測請求的響應(yīng)情況,確定語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況(即步驟s204)。
可選地,為了盡快獲取根據(jù)網(wǎng)絡(luò)狀況確定的語音識(shí)別引擎指示信息,可以響應(yīng)于用戶進(jìn)入音頻輸入界面或者開啟語音識(shí)別客戶端的操作,即刻向偵測網(wǎng)址對(duì)應(yīng)的在線語音識(shí)別引擎發(fā)送偵測請求,隨后,按照偵測周期發(fā)送偵測請求。
可選地,本實(shí)施例可使用超文本傳輸協(xié)議(hypertexttransferprotocol,簡稱http)偵測網(wǎng)絡(luò)狀況。
http協(xié)議采用請求/響應(yīng)模型。語音識(shí)別客戶端向偵測網(wǎng)址對(duì)應(yīng)的在線語音識(shí)別引擎發(fā)送一個(gè)請求報(bào)文,在線語音識(shí)別引擎回復(fù)一個(gè)響應(yīng)本文。
例如,在瀏覽器地址欄鍵入偵測網(wǎng)址url,按下回車鍵后,瀏覽器會(huì)與偵測網(wǎng)址url對(duì)應(yīng)的在線語音識(shí)別引擎建立連接。接著,瀏覽器發(fā)送讀取文件的http請求,即偵測請求,至在線語音搜索引擎;在線語音識(shí)別引擎對(duì)瀏覽器的http請求作出響應(yīng),并把對(duì)應(yīng)的html響應(yīng)報(bào)文發(fā)送給瀏覽器,進(jìn)而瀏覽器可顯示接收到的html響應(yīng)報(bào)文。
根據(jù)html響應(yīng)報(bào)文的返回時(shí)間和內(nèi)容,在線語音識(shí)別引擎對(duì)http請求的響應(yīng)情況,包括以下三種情況:
第一種響應(yīng)情況:在指定時(shí)間內(nèi)沒有返回html報(bào)文??赡転g覽器并未與偵測網(wǎng)址url對(duì)應(yīng)的在線語音識(shí)別引擎成功建立連接,造成沒有html響應(yīng)報(bào)文;或者由于網(wǎng)絡(luò)堵塞造成html響應(yīng)報(bào)文的返回時(shí)間超過指定時(shí)間。
第二種響應(yīng)情況:html響應(yīng)報(bào)文的返回時(shí)間未超過指定時(shí)間,但是html響應(yīng)報(bào)文的內(nèi)容不是表示請求正常的httpresponse200ok。例如,html響應(yīng)報(bào)文的內(nèi)容為403forbidden、notfound。
第三種響應(yīng)情況:html響應(yīng)報(bào)文的返回時(shí)間未超過指定時(shí)間,且html響應(yīng)報(bào)文的內(nèi)容為表示請求正常的httpresponse200ok。
在線語音識(shí)別引擎對(duì)偵測請求的響應(yīng)情況不同,確定的網(wǎng)絡(luò)狀況不同。基于此,可以將指定時(shí)間和httpresponse200ok的html響應(yīng)報(bào)文內(nèi)容作為設(shè)定的網(wǎng)絡(luò)要求,進(jìn)而判斷語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況是否滿足設(shè)定的網(wǎng)絡(luò)要求(即步驟s205)。
顯然,對(duì)于第一種響應(yīng)情況和第二種響應(yīng)情況來說,所確定的網(wǎng)絡(luò)狀況不滿足設(shè)定的網(wǎng)絡(luò)要求;對(duì)于第三種響應(yīng)情況來說,所確定的網(wǎng)絡(luò)狀況滿足設(shè)定的網(wǎng)絡(luò)要求。
可選地,若語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況滿足設(shè)定的網(wǎng)絡(luò)要求,意味著根據(jù)此時(shí)的網(wǎng)絡(luò)狀況可以通過在線語音識(shí)別引擎進(jìn)行語音識(shí)別,則確定指示在線語音識(shí)別引擎的語音識(shí)別引擎指示信息(即步驟s206)。繼而,發(fā)送音頻信息至指示在線語音識(shí)別引擎的語音識(shí)別引擎指示信息所指示的在線語音識(shí)別引擎,以通過所述在線語音識(shí)別引擎識(shí)別音頻信息,結(jié)束本次操作(即步驟s209)。
若語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況不滿足設(shè)定的網(wǎng)絡(luò)要求,意味著根據(jù)此時(shí)的網(wǎng)絡(luò)狀況不可以通過在線語音識(shí)別引擎進(jìn)行語音識(shí)別,則確定指示離線語音識(shí)別引擎的語音識(shí)別引擎指示信息(即步驟s207)。繼而,發(fā)送音頻信息至指示離線語音識(shí)別引擎的語音識(shí)別引擎指示信息所指示的離線語音識(shí)別引擎,以通過所述離線語音識(shí)別引擎識(shí)別音頻信息,結(jié)束本次操作(即步驟s208)。
可選地,在確定語音識(shí)別引擎指示信息之后,發(fā)送音頻信息至對(duì)應(yīng)的語音識(shí)別引擎之前,還包括開啟麥克風(fēng)裝置;并通過麥克風(fēng)裝置接收用戶在音頻輸入界面上輸入的音頻信息。然后再將用戶輸入的音頻信息發(fā)送至對(duì)應(yīng)的語音識(shí)別引擎。
可選地,語音識(shí)別引擎可將接收到的音頻信息分成多個(gè)音頻片段。繼而,以音頻片段為單位,每識(shí)別完一個(gè)音頻片段后,就將該音頻片段的識(shí)別結(jié)果,如一段文字,返回至語音識(shí)別客戶端。接著再執(zhí)行下一個(gè)音頻片段的識(shí)別,直到識(shí)別完該音頻信息分成的所有音頻片段?;诖?,語音識(shí)別客戶端可以向用戶展示一段一段的識(shí)別結(jié)果。
在確定語音識(shí)別引擎指示信息之后,為了方便語音識(shí)別客戶端獲取語音識(shí)別引擎指示信息,可選地,可以在確定語音識(shí)別引擎指示信息之后,保存語音識(shí)別引擎指示信息至本地內(nèi)存。
在實(shí)際應(yīng)用中,語音識(shí)別引擎指示信息可以具體實(shí)現(xiàn)為一語音識(shí)別引擎變量,例如menginetype。若網(wǎng)絡(luò)狀況滿足設(shè)定的網(wǎng)絡(luò)要求,可將變量menginetype賦值為cloud,用于指示在線語音識(shí)別引擎;若網(wǎng)絡(luò)狀況不滿足設(shè)定的網(wǎng)絡(luò)要求,可將變量menginetype賦值為local,用于指示離線語音識(shí)別引擎。
基于此,響應(yīng)于用戶在語音識(shí)別客戶端提供的音頻輸入界面上輸入音頻信息的操作,獲取預(yù)先根據(jù)語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況確定的語音識(shí)別引擎指示信息,包括:響應(yīng)于用戶在音頻輸入界面上輸入音頻信息的操作,從本地內(nèi)存,獲取最近一次保存的語音識(shí)別引擎指示信息。
其中,最近一次保存的語音識(shí)別引擎指示信息是根據(jù)最近時(shí)刻的網(wǎng)絡(luò)狀況確定的,最近時(shí)刻的網(wǎng)絡(luò)狀況與進(jìn)行語音識(shí)別時(shí)的網(wǎng)絡(luò)狀況在很大概率上相同,因此有利于成功通過確定的語音識(shí)別引擎進(jìn)行語音識(shí)別??蛇x地,語音識(shí)別引擎指示信息可以具體實(shí)現(xiàn)為最近一次被賦值的語音識(shí)別引擎變量,如cloud或者local。
在一些情況下,用戶會(huì)一次性將音頻信息輸入至語音識(shí)別客戶端,之后,在音頻輸入界面上不再輸入音頻信息。在另一些情況下,用戶需要多次輸入音頻信息,例如在聊天場景中,用戶會(huì)多次輸入聊天語音。這種情況下,若在用戶輸入音頻信息后,網(wǎng)絡(luò)狀況發(fā)生了改變;在用戶下次輸入音頻信息時(shí),獲取的仍是上一次輸入音頻信息時(shí)所獲取的語音識(shí)別引擎指示信息是不合適的。
基于上述的分析,在語音識(shí)別引擎指示信息所指示的語音識(shí)別引擎識(shí)別音頻信息的過程中,可繼續(xù)偵測語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況。當(dāng)語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況發(fā)生變化時(shí),更新語音識(shí)別引擎指示信息。那么,在用戶在下一次輸入音頻信息時(shí),可獲取更新后的語音識(shí)別引擎指示信息。
其中,網(wǎng)絡(luò)狀況發(fā)生變化的情況包括網(wǎng)絡(luò)狀況由滿足設(shè)定的網(wǎng)絡(luò)要求變化為不滿足設(shè)定的網(wǎng)絡(luò)要求,或者網(wǎng)絡(luò)狀況由不滿足設(shè)定的網(wǎng)絡(luò)要求變化為滿足設(shè)定的網(wǎng)絡(luò)要求。
基于此,更新語音識(shí)別引擎指示信息包括將當(dāng)前的指示在線語音識(shí)別引擎的語音識(shí)別引擎指示信息更新為指示離線語音識(shí)別引擎的語音識(shí)別引擎指示信息,例如,將“cloud”更新為“l(fā)ocal”?;蛘撸瑢?dāng)前的指示離線語音識(shí)別引擎的語音識(shí)別引擎指示信息更新為指示在線語音識(shí)別引擎的語音識(shí)別引擎指示信息,例如,將“l(fā)ocal”更新為“cloud”。
在用戶退出音頻輸入界面或關(guān)閉語音識(shí)別客戶端時(shí),意味著用戶不再輸入音頻信息,可不必偵測網(wǎng)絡(luò)狀況?;诖?,語音識(shí)別客戶端可以響應(yīng)于退出音頻輸入界面或關(guān)閉語音識(shí)別客戶端的操作,停止偵測語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況。
本申請實(shí)施例還提供一種語音識(shí)別裝置300,如圖3所示,包括第一獲取模塊301和發(fā)送模塊302。
第一獲取模塊301,用于響應(yīng)于用戶在語音識(shí)別客戶端的音頻輸入界面上輸入音頻信息的操作,獲取預(yù)先根據(jù)所述語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況確定的語音識(shí)別引擎指示信息。
發(fā)送模塊302,用于發(fā)送所述音頻信息至第一獲取模塊401獲取的語音識(shí)別引擎指示信息所指示的語音識(shí)別引擎,以通過所述語音識(shí)別引擎指示信息所指示的語音識(shí)別引擎識(shí)別所述音頻信息。
本實(shí)施例中,通過預(yù)先根據(jù)網(wǎng)絡(luò)狀況確定語音識(shí)別引擎指示信息,進(jìn)而在用戶執(zhí)行輸入音頻信息的操作時(shí),可以立即獲取到語音識(shí)別引擎指示信息,并進(jìn)一步確定可用的語音識(shí)別引擎;從而在用戶輸入音頻信息之后,可立即通過確定的語音識(shí)別引擎進(jìn)行語音識(shí)別,從而提高了語音識(shí)別的實(shí)時(shí)性。
可選地,如圖4所示,語音識(shí)別裝置300還包括偵測模塊303和確定模塊304。
偵測模塊303,用于響應(yīng)于進(jìn)入所述音頻輸入界面或者開啟所述語音識(shí)別客戶端的操作,偵測所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況。
確定模塊304,用于根據(jù)偵測模塊303偵測到的所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況,確定所述語音識(shí)別引擎指示信息。
可選地,如圖4所示,語音識(shí)別裝置300還包括展示模塊305和第二獲取模塊306。
展示模塊305,具體用于在響應(yīng)于進(jìn)入所述音頻輸入界面或者開啟所述語音識(shí)別客戶端的操作前,響應(yīng)于所述用戶的偵測配置請求,展示網(wǎng)絡(luò)設(shè)置界面,以供所述用戶配置偵測周期以及偵測網(wǎng)址。
第二獲取模塊306,用于響應(yīng)于所述用戶在展示模塊305展示的網(wǎng)絡(luò)設(shè)置界面上的設(shè)置操作,獲取所述用戶配置的所述偵測周期以及所述偵測網(wǎng)址。
可選地,偵測模塊303在響應(yīng)于進(jìn)入所述音頻輸入界面或者開啟所述語音識(shí)別客戶端的操作,偵測所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況時(shí),具體還用于:響應(yīng)于進(jìn)入所述音頻輸入界面或者開啟所述語音識(shí)別客戶端的操作,按照所述偵測周期,周期性地向所述偵測網(wǎng)址對(duì)應(yīng)的所述在線語音識(shí)別引擎發(fā)送偵測請求。
基于此,確定模塊304還用于根據(jù)所述在線語音識(shí)別引擎對(duì)所述偵測請求的響應(yīng)情況,確定所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況。
可選地,在確定模塊304根據(jù)偵測到所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況,確定所述語音識(shí)別引擎指示信息時(shí),具體還用于:若所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況滿足設(shè)定的網(wǎng)絡(luò)要求,確定指示所述在線語音識(shí)別引擎的語音識(shí)別引擎指示信息;若所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況不滿足設(shè)定的網(wǎng)絡(luò)要求,確定指示離線語音識(shí)別引擎的語音識(shí)別引擎指示信息。
可選地,語音識(shí)別裝置300還包括保存模塊,用于在根據(jù)偵測到所述語音識(shí)別客戶端與所述在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況,確定所述語音識(shí)別引擎指示信息之后,保存所述語音識(shí)別引擎指示信息至本地內(nèi)存。
基于此,第一獲取模塊301在響應(yīng)于用戶在語音識(shí)別客戶端提供的音頻輸入界面上輸入音頻信息的操作,獲取預(yù)先根據(jù)所述語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況確定的語音識(shí)別引擎指示信息時(shí),具體還用于:
響應(yīng)于所述用戶在所述音頻輸入界面上輸入音頻信息的操作,從所述本地內(nèi)存,獲取最近一次保存的所述語音識(shí)別引擎指示信息。
可選地,偵測模塊303還用于:在所述語音識(shí)別引擎指示信息所指示的語音識(shí)別引擎識(shí)別所述音頻信息的過程中,偵測所述語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況。
基于此,保存模塊還用于當(dāng)所述語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況發(fā)生變化時(shí),更新所述語音識(shí)別引擎指示信息。
可選地,偵測模塊303還用于:響應(yīng)于退出所述音頻輸入界面或關(guān)閉所述語音識(shí)別客戶端的操作,停止偵測所述語音識(shí)別客戶端與在線語音識(shí)別引擎之間的網(wǎng)絡(luò)狀況。
以上僅為本申請的實(shí)施例而已,并不用于限制本申請。對(duì)于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。