1. 程式人生 > >科大訊飛離線命令詞的使用

科大訊飛離線命令詞的使用

 公司內部有需求,需要在專案中加上離線命令詞的使用,之前做過了線上語音識別,而離線的語音識別和線上的最大區別是離線需要對應的離線資源包!當然,離線識別的識別度和線上是有一定的差距的,很多時候識別不準,不過也算是夠用了.

和線上的一樣,第一步,如果科大訊飛沒有賬號先去註冊賬號,建立專案,下載對應離線命令詞SDK(體驗版,35天使用,3個裝機量),下載好了之後,這裡需要注意的是一個資原始檔common.jet位置的擺放!(在assets目錄下建立asr資料夾,將common.jet拷進去,這就是離線命令所必須要的離線資原始檔!),其他的檔案還是和線上的一樣對應放入就行.

第二步,最好在application裡面初始化appId:

第三步:初始化識別物件:


初始化監聽器:

第四步: 構建語法:


構建語法監聽器


第五步:識別監聽



在合適的時候呼叫開始識別監聽器就行了


獲取識別資源路徑


這裡面還缺一樣東西,也就是bnf語法檔案,這裡也就直接上圖了,檔案我放在assets目錄下:


圖片中指向的地方要注意,要以#BNF開頭,線上是以#ABNF開頭,,grammar後跟的是你這個檔案的檔名!具體的語法邏輯請參考:

http://bbs.xfyun.cn/forum.php?mod=viewthread&tid=7595

在這裡就完成了離線語音識別的功能,大功告成!