Snowboy移植到ROS中

之前已经单独测试过snowboy模块的使用,唤醒效果还是很好的,但是在与科大讯飞的语音识别SDK相结合的时候出现了问题。我一开始的想法是直接在原工作区间创建一个功能包,然后把snowboy移植过去,再编写一个发布器在语音唤醒后发布消息,然后语音识别接收到消息开始工作就可以。不过移植过去后编译一直出现问题。
然后我在网上找到了一个成功移植的案例,按照此方案成功的进行了移植。

记录一下出现的问题

  • 找不到功能包,因为述方案使用了另外的音频捕获功能包,所以需要单独下载。

在这里插入图片描述在这里插入图片描述

解决方法:
直接下载就行,还有一些其他的功能包也需要单独下载,不再赘述。

sudo apt-get install ros-kinetic-audio-common-msgs
sudo apt-get install ros-kinetic-audio-capture
  • wiringpi需要root权限

在这里插入图片描述解决方法:
先根据参考链接安装wiringpi。然后进入root管理员模式启动节点。

sudo -s

在这里插入图片描述

与科大讯飞相结合

主要是hotward_detector_node.cpp这个脚本文件,它里面自己写了发布器,发布话题“voice_system/wakeup_topic”,只需要修改iat_publish的订阅器的话题就可以。
在这里插入图片描述

这个地方移植的时候存在一个问题,就是原本它传递的话题消息的类型是整数型Int 1,我们iat_publish订阅的唤醒消息类型是字符型string,所以一开始snowboy唤醒不了语音识别模块。在这里插入图片描述 后来经过修改:
在这里插入图片描述
可以成功唤醒语音识别。
在这里插入图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐