科大讯飞离线命令词的使用

  公司内部有需求,需要在项目中加上离线命令词的使用,之前做过了在线语音识别,而离线的语音识别和在线的最大区别是离线需要对应的离线资源包!当然,离线识别的识别度和在线是有一定的差距的,很多时候识别不准,不过也算是够用了.

和在线的一样,第一步,如果科大讯飞没有账号先去注册账号,创建项目,下载对应离线命令词SDK(体验版,35天使用,3个装机量),下载好了之后,这里需要注意的是一个资源文件common.jet位置的摆放!(在assets目录下创建asr文件夹,将common.jet拷进去,这就是离线命令所必须要的离线资源文件!),其他的文件还是和在线的一样对应放入就行.


科大讯飞离线命令词的使用_第1张图片

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


第三步:初始化识别对象:



初始化监听器:

科大讯飞离线命令词的使用_第2张图片

第四步: 构建语法:


科大讯飞离线命令词的使用_第3张图片

构建语法监听器

科大讯飞离线命令词的使用_第4张图片

第五步:识别监听

科大讯飞离线命令词的使用_第5张图片

科大讯飞离线命令词的使用_第6张图片

在合适的时候调用开始识别监听器就行了



获取识别资源路径

科大讯飞离线命令词的使用_第7张图片


这里面还缺一样东西,也就是bnf语法文件,这里也就直接上图了,文件我放在assets目录下:

科大讯飞离线命令词的使用_第8张图片

图片中指向的地方要注意,要以#BNF开头,在线是以#ABNF开头,,grammar后跟的是你这个文件的文件名!具体的语法逻辑请参考:

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



在这里就完成了离线语音识别的功能,大功告成!

你可能感兴趣的:(科大讯飞离线命令词的使用)