首页 > 技术文章 > 讯飞语音——离线命令词+语义识别

sesexxoo 2015-08-20 13:44 原文

讯飞语音——离线命令词+语义识别

意思就是先走离线命令词识别,如果离线命令词识别没有识别到结果,那么就再走语义接口,如果已开通对应场景,则转为语义,如果没有开通对应场景,则将语音转为文字

效果图

  • 说的话满足本地构建的语法—-离线命令词识别
    这里写图片描述

  • 说的话离线命令词无法识别,走语义识别并且满足语义场景—-将语音转为语义
    这里写图片描述

  • 说话既不满足离线命令词识别也不满足语义开通的场景—-将语音转为文字
    这里写图片描述

程序和离线命令词识别基本一样

离线命令词识别地址:http://blog.csdn.net/q4878802/article/details/47780485

只要改一个参数,将识别引擎改为混合模式即可

mAsr.setParameter(SpeechConstant.ENGINE_TYPE, SpeechConstant.TYPE_MIX);
  • 注意:因为使用的混合模式,当本地命令词没有识别到结果的时候会走在线语义(语义只有在线),所以,我们必须要先开通语义服务

开通语义场景步骤:

1. 主页右上角我的语音云-> 我的应用->找到对应的应用点击开放语义

P1

2. 选择你要开通的语义场景,然后点击【集成】

P2

3. 点击集成以后会提示集成成功,请前往下载,这个一定要下载,不下载是不能用的,但是因为这个是走网络的,没有离线资源包,jar包和so库也不用换(和离线命令词识别是一样的库),所以你只要点击一下下载以后,删掉也无所谓,就可以用了,但是你添加或者删除了语义场景了以后就必须要再下载一遍,然后才能使用。

程序流程

P3

最后

  1. 如果你直接用我的Demo,我用的是测试版的离线包,只有35天的试用期,而且装机量只有3个,如果大家都用,很可能是不能正常运行的
  2. 如果是参考我的demo自己写一个,千万不要忘记替换appid和资源文件。

推荐阅读