本發(fā)明屬于語音指令,具體涉及一種通用的語音指令分發(fā)方法、電子設(shè)備及計算機可讀存儲介質(zhì)。
背景技術(shù):
1、隨著車輛技術(shù)的發(fā)展,越來越多的車輛中設(shè)置有車載終端,用戶在駕駛車輛的同時也能實現(xiàn)與車載終端的人車交互。為了更好的駕駛體驗,車輛上的語音控制功能成為必備的選項,語音交互的比重日益增加,各種語音引擎也與日俱增。
2、每一家語音識別引擎都有自己的一套api,即應(yīng)用程序編程接口,導(dǎo)致每一家語音識別引擎識別語音后的返回的語義格式和方法都是不一樣的。車輛的研發(fā)團隊在對后續(xù)功能進行研發(fā)時,只能根據(jù)車輛本身提供的api執(zhí)行相應(yīng)的指令處理,即根據(jù)api返回的語義格式和方法進行后續(xù)的開發(fā),耦合相對較緊,這導(dǎo)致如果更換語音引擎,就需要根據(jù)所更換語音引擎的api再執(zhí)行另一套指令處理,加大了研發(fā)成本。
技術(shù)實現(xiàn)思路
1、為解決公知技術(shù)中存在的以上不足,本發(fā)明旨在提供一種通用的語音指令分發(fā)方法。
2、為實現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案如下:
3、一種通用的語音指令分發(fā)方法,所述方法包括依次進行的以下步驟:
4、s1、定義實體類,并將實體類定義為接口;
5、在實體類內(nèi)定義所有語義回調(diào)指令需要的所有參數(shù)變量,包括用于判斷語義回調(diào)指令類型的參數(shù)變量domain和用于判斷語義回調(diào)指令方法的參數(shù)變量action;
6、s2、對所有語義回調(diào)指令以接口的形式進行分類定義,得到所有語義回調(diào)指令的類型,即得到所有的回調(diào)接口、以及每個回調(diào)接口中包含的語義回調(diào)指令方法;所有所述回調(diào)接口由實體類繼承,最后實現(xiàn)為統(tǒng)一參數(shù)voicebeanimpl,作為最終傳遞到語義回調(diào)指令方法中的統(tǒng)一參數(shù);
7、定義修飾回調(diào)接口的注解voicearea;定義修飾語義回調(diào)指令方法的注解callbackmethod,并定義參數(shù)actionname,用于判斷所需執(zhí)行的語義回調(diào)指令方法;
8、定義語義執(zhí)行器接口,所述語義執(zhí)行器接口由所述回調(diào)接口繼承;
9、s3、接入語音引擎實現(xiàn)語音引擎的api,將返回的語義回調(diào)指令轉(zhuǎn)換成統(tǒng)一的實體類,并根據(jù)語義回調(diào)指令的類型為參數(shù)變量domain和action賦值,由統(tǒng)一參數(shù)voicebeanimpl傳入語義執(zhí)行器接口;
10、s4、通過動態(tài)代理對語義執(zhí)行器接口進行實例化;
11、s5、實例化后的語義執(zhí)行器接口通過反射獲得被注解修飾的回調(diào)接口、語義回調(diào)指令方法、以及語義回調(diào)指令方法的統(tǒng)一參數(shù)voicebeanimpl;
12、s6、通過統(tǒng)一參數(shù)voicebeanimpl中的參數(shù)變量domain、action與被voicearea注解修飾的回調(diào)接口、注解callbackmethod的參數(shù)actionname進行匹配,由統(tǒng)一參數(shù)voicebeanimpl返回布爾值,判斷是否執(zhí)行語義回調(diào);若判斷為回調(diào)則繼續(xù)執(zhí)行匹配到的回調(diào)語義指令;否則提示不支持此命令。
13、作為限定,所述統(tǒng)一參數(shù)voicebeanimpl傳入需要參數(shù)的語義回調(diào)指令方法中,且所述統(tǒng)一參數(shù)voicebeanimpl由處理語義回調(diào)指令的外部應(yīng)用接收。
14、作為第二種限定,所述實體類、所有回調(diào)接口以及語義執(zhí)行器接口均以后臺服務(wù)形態(tài)存在。
15、作為第三種限定,所述步驟s4中通過動態(tài)代理對語義執(zhí)行器接口進行實例化的具體過程為:
16、從語義執(zhí)行項目中通過aidl獲得回調(diào)實例;
17、通過動態(tài)代理實例化語義執(zhí)行器接口,再將獲得的回調(diào)實例傳入語義執(zhí)行器接口。
18、作為第四種限定,所述語義執(zhí)行項目中包括已經(jīng)注冊好的對車輛座艙、地圖導(dǎo)航、音樂及多媒體應(yīng)用、系統(tǒng)設(shè)置和空調(diào)的語義執(zhí)行指令。
19、本發(fā)明的另一個目的,旨在提供一種電子設(shè)備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)通用的語音指令分發(fā)方法的步驟。
20、本發(fā)明還有一個目的,旨在提供一種存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)通用的語音指令分發(fā)方法的步驟。
21、由于采用了上述的技術(shù)方案,本發(fā)明與現(xiàn)有技術(shù)相比,所取得的有益效果是:
22、(1)本發(fā)明方法通過將不同的語音引擎返回的語義轉(zhuǎn)換成統(tǒng)一的實體類,并根據(jù)語義分類為用于判斷語義回調(diào)指令類型的參數(shù)變量和用于判斷語義回調(diào)指令方法的參數(shù)變量賦值,就能實現(xiàn)對不同語音引擎的語音指令進行分發(fā)處理;
23、(2)本發(fā)明方法能夠在幾乎不影響車輛指令的處理邏輯的前提下,靈活接入新引擎的api,提高研發(fā)效率,降低研發(fā)成本。
24、綜上所述,本發(fā)明在更換語音引擎時,可以靈活接入新引擎的api,實現(xiàn)對不同語音引擎的語音指令進行分發(fā)處理,降低研發(fā)成本。
1.一種通用的語音指令分發(fā)方法,其特征在于,所述方法包括依次進行的以下步驟:
2.根據(jù)權(quán)利要求1所述的通用的語音指令分發(fā)方法,其特征在于,所述統(tǒng)一參數(shù)voicebeanimpl傳入需要參數(shù)的語義回調(diào)指令方法中,且所述統(tǒng)一參數(shù)voicebeanimpl由處理語義回調(diào)指令的外部應(yīng)用接收。
3.根據(jù)權(quán)利要求2所述的通用的語音指令分發(fā)方法,其特征在于,所述實體類、所有回調(diào)接口以及語義執(zhí)行器接口均以后臺服務(wù)形態(tài)存在。
4.根據(jù)權(quán)利要求1-3任意一項所述的通用的語音指令分發(fā)方法,其特征在于,所述步驟s4中通過動態(tài)代理對語義執(zhí)行器接口進行實例化的具體過程為:
5.根據(jù)權(quán)利要求4所述的通用的語音指令分發(fā)方法,其特征在于,所述語義執(zhí)行項目中包括已經(jīng)注冊好的對車輛座艙、地圖導(dǎo)航、音樂及多媒體應(yīng)用、系統(tǒng)設(shè)置和空調(diào)的語義執(zhí)行指令。
6.一種電子設(shè)備,其特征在于,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)權(quán)利要求1-5中任意一項權(quán)利要求所述的方法的步驟。
7.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1-5中任意一項所述的方法的步驟。