天天看點

訊飛語音——離線指令詞識别離線指令詞識别

效果圖

訊飛語音——離線指令詞識别離線指令詞識别

示例源碼

前面文章有,就不在複述了。這裡要選擇離線指令詞的服務以後,重新加載,因為需要下載下傳離線指令詞識别的資源檔案
前面文章有,就不在複述了。
這裡用到的喚醒功能不是所有的權限都用到的,具體用到了哪些權限,可以看上面的連結,用到哪寫權限就加哪些權限,這個為了快速友善測試,把訊飛用到的權限都加上了。
我是将appid的初始化放在的Applicaiton下,具體可以下載下傳源碼
這裡的識别引擎設定的是SpeechConstant.TYPE_LOCAL,這種是本地識别引擎,隻走本地識别,不走網絡,如果換成SpeechConstant.TYPE_MIX,就是混合引擎,這種引擎方式,當本地沒有識别到文法,傳回20005錯誤碼的時候,會直接請求語義接口,如果你語義開通了對應的場景,會走網絡把你的語音轉為語義,如果沒有開通對應的場景,會把語音轉為文字。
在建構文法的時候,我們不是必要在assets目錄下建立一個xxx.bnf檔案,建構的時候我們隻要能夠拿到滿足BNF文法檔案的字元串就行,至于這個檔案内容,你存在哪都無所謂,在程式裡寫死、存sp、資料庫、自己程式維護都OK,隻要滿足BNF的文法就行。

BNF文法開發指南

如果你直接用我的Demo,我用的是測試版的離線包,隻有35天的試用期,而且裝機量隻有3個,如果大家都用,很可能是不能正常運作的

如果是參考我的demo自己寫一個,千萬不要忘記替換appid和資源檔案。

繼續閱讀