电脑基础 · 2023年3月31日

科大讯飞语音识别SDK的ROS包修改

语音识别の目录

  • 一、科大讯飞平台下载开放包及语音验证
  • 二、ROS环境下的语音识别与输出
    • 1.ROS语音识别
    • 2.ROS语音输出
    • 3.ROS语音识别与输出
    • 4.ROS语音交互
    • 编写launch文件:打开语音识别节点和语音助手节点 ![在这里插入图片描述](https://img-blog.csdnimg.cn/486fd1bf8afe48b1bd749d7293f5edb2.png) 在终端执行roslaunch robot_voice_824 voice_assistant.launch ![在这里插入图片描述](https://img-blog.csdnimg.cn/ab5f828203604a2a8e32775115d95832.png)
  • 总结

一、科大讯飞平台下载开放包及语音验证

提示:本文针对的是语音识别中的语音识别(流式版)
讯飞平台:链接传送门
需要先注册账号,然后创建自己的应用才能够对开放包进行下载(每个开放包都有自己的APPID号,这个很重要!)

创建应用的界面
科大讯飞语音识别SDK的ROS包修改
下载的包
科大讯飞语音识别SDK的ROS包修改
将开放包下载到linux系统中
科大讯飞语音识别SDK的ROS包修改
这是包中各个文件及其里面的内容
科大讯飞语音识别SDK的ROS包修改
重点要用到的是samples里面的这些包
科大讯飞语音识别SDK的ROS包修改
进入iat_online_record_sample功能包下,执行.sh脚本文件进行编译

科大讯飞语音识别SDK的ROS包修改
科大讯飞语音识别SDK的ROS包修改

科大讯飞语音识别SDK的ROS包修改

二、ROS环境下的语音识别与输出

1.ROS语音识别

首先在工作空间下,建立语音识别的ROS功能包
工作空间如何创建?链接传送门
科大讯飞语音识别SDK的ROS包修改
执行完指令后,框架如下,include包含科大讯飞程序的头文件,src包含引用科大讯飞接口的ROS代码
科大讯飞语音识别SDK的ROS包修改
科大讯飞语音识别SDK的ROS包修改
科大讯飞语音识别SDK的ROS包修改
这块是不需要修改的。
科大讯飞语音识别SDK的ROS包修改
主函数
科大讯飞语音识别SDK的ROS包修改
科大讯飞语音识别SDK的ROS包修改
代码块完成之后,就是对Cmakelist进行修改了
科大讯飞语音识别SDK的ROS包修改
然后对工作空间下的robot_voice进行编译,也可以单独编译
科大讯飞语音识别SDK的ROS包修改
最后进行语音识别的测试
科大讯飞语音识别SDK的ROS包修改

2.ROS语音输出

把科大讯飞平台提供的语音输出功能包中的.c文件放到robot_voice_824/src文件夹中,并改名为tts_subscribe.cpp
科大讯飞语音识别SDK的ROS包修改
科大讯飞语音识别SDK的ROS包修改
科大讯飞语音识别SDK的ROS包修改
科大讯飞语音识别SDK的ROS包修改
subscriber:订阅/voiceWords话题接受输入字符串。
回调函数:使用SDK接口将字符串转换成语音。

科大讯飞语音识别SDK的ROS包修改
修改Cmakelist
在该文件下添加以下编译规则:

科大讯飞语音识别SDK的ROS包修改
最后是ROS语音输出编译
科大讯飞语音识别SDK的ROS包修改
语音输出演示
科大讯飞语音识别SDK的ROS包修改

3.ROS语音识别与输出

多节点,配置launch文件
科大讯飞语音识别SDK的ROS包修改
科大讯飞语音识别SDK的ROS包修改

4.ROS语音交互

每一个.cpp代表一个节点,创建语音交互的节点

科大讯飞语音识别SDK的ROS包修改
在原来的回调函数中增加以下代码
科大讯飞语音识别SDK的ROS包修改
保存cpp并在Cmakelist增加新的编译规则
科大讯飞语音识别SDK的ROS包修改
catkin_make:编译语音相关功能包

编写launch文件:打开语音识别节点和语音助手节点
科大讯飞语音识别SDK的ROS包修改
在终端执行roslaunch robot_voice_824 voice_assistant.launch
科大讯飞语音识别SDK的ROS包修改

总结

以上就是关于科大讯飞语音识别SDK的ROS包修改。在资源里,有笔者现成的ROS功能包,直接在工作空间下,便能运行,但是需要注意APPID的修改。链接传送门
如有侵权,请及时与笔者联系。//抱拳