转载请说明出处!
作者:kqw攻城狮
出处:个人站 | CSDN
对比
科大讯飞 | 灵云语音 | |
---|---|---|
语音能力 | 语音合成、语音识别、语义、命令词、唤醒 | 没有独立的唤醒功能,需要使用命令词实现唤醒。 |
初始化 | 我们购买完离线资源包以后,集成到工程里,就可以保持在离线环境下使用 | 即使使用离线语音能力,第一次使用的时候,也必须要联网,激活离线语音能力以后,才可以使用 |
网络请求 | 各种请求均异步操作,不会阻塞线程。 | 在线文字语义识别,是同步操作,其它是异步操作过程。(同步操作时间超过5秒会导致Android终端抛出NAR异常导致崩溃) |
语义 | 场景定义灵活,开发者可在后台自定义,通过申请的方式,可以开通自定义场景,目前免费开放。语义解析失败,可以将语音转文字。 | 场景的定义需要联系客服人员开通,自定义场景需要付费(说是一般一个场景2万元)。语义解析失败不能转成文字 |
语音唤醒 | 支持(官方自称低功耗) | 实际没有唤醒功能,是使用离线命令词的方式模拟出了唤醒,效果不理想。尚未发现可以发现可以设置门限值等常用参数的API。 |
命令词识别 | 离线使用BNF语法,在线使用ABNF语法,语法可以使用占位符等等的操作符 | 离线和在线都使用JSGF语法。 |
灵云唤醒机制
用命令词的方式实现唤醒,用唤醒词做命令词,做好标识,然后循环开启命令词识别,当识别到唤醒的命令词的时候,视为被唤醒了。
个人认为这种方式实现唤醒效果不好,原因如下:
录音都有前端点超时时间和后端点超时时间,这样一来,即使我们准确的说出唤醒词,也要在说完唤醒词以后,保证在后端点时间内不再有声音录入,才能提高被唤醒的几率。
唤醒不是即时的,即使我们准确的说出唤醒词,并保持不再有声音录入,也要至少等待后端点时间过去,录音结束以后,才会识别(被唤醒)。
这种方式的唤醒其实就是在进行语音识别,如果一直开启唤醒,消耗性能,耗电。
- 前端点超时时间: 在前置端点时间内没有有效的声音录入,表示此次录音无效,结束录音.
- 后端点超时时间: 录音结束以后,在后置端点时间内没有再录入有效声音,表示录音完成,结束录音。
总结
科大讯飞语音方面更灵活,更好用。
灵云语音,在人工智能方面提供的技术更全面(还包括图像识别,手写识别,人脸识别,指纹识别、机器翻译等),偏定制(智能家居、车载系统、机器人等智能设备的定制)。
单从语音能力角度来比较,讯飞更好。