0.写在最前面
希望大家收藏:
本文持续更新地址:https://haoqchen.site/2018/04/26/iflytek-awaken-asr/
- github地址:https://github.com/HaoQChen/iflytek_awaken_asr(喜欢的话帮忙github点个赞呗~~~包含命令行和ROS两个分支,自行选择)
- 因为科大讯飞给的Demo中只有“录一段时间的音频然后命令词识别”、“对一段录音中是否有唤醒词进行判断”,不能够实现24小时不间断的进行命令词识别或者唤醒的Demo。所以我设计了程序实现24小时不间断录音,实时检测有无唤醒词出现,当有唤醒词出现时,切换到“一段时间的命令词识别”功能。(科大讯飞的文档中说,唤醒功能的QIVWSessionBegin可以修改一个参数实现唤醒+命令词识别,但是我试了很多次,不懂这里的bnf应该是什么格式的)
-
本文假设大家对于科大讯飞的语音识别开发平台有一定的了解,文中将不再介绍下载安装等事项,经常出现的一些不匹配或者构建语法失败也都是没认真申请或者替换相关语法资源造成的。
- 只在Linux平台下进行过试验,系统版本Ubuntu14.04(64bit)、ROS版本indigo,暂时没有发现bug。
- 包括录音、语音识别等代码主要参考科大讯飞的SDK,作者加上了命令解析的代码,并设计整个程序框架,对于作者部分的代码完全开源,不保留权利。至于科大讯飞部分代码,请联系科大讯飞公司。
1.整体框架
int main(int argc, char **argv)//这只是主体程序
{
//init iflytek
int ret = 0 ;
ret