树莓派snowboy在ROS中的使用
Snowboy移植到ROS中之前已经单独测试过snowboy模块的使用,唤醒效果还是很好的,但是在与科大讯飞的语音识别SDK相结合的时候出现了问题。我一开始的想法是直接在原工作区间创建一个功能包,然后把snowboy移植过去,再编写一个发布器在语音唤醒后发布消息,然后语音识别接收到消息开始工作就可以。不过移植过去后编译一直出现问题。然后我在网上找到了一个成功移植的案例,按照此方案成功的进行了移植。
·
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唤醒不了语音识别模块。 后来经过修改:
可以成功唤醒语音识别。
更多推荐
已为社区贡献8条内容
所有评论(0)