《ros by example》中语音识别一章中,有学习如何让机器人说话的内容,今天在尝试的过程中发现一个indigo版本的问题。
按照以下流程运行:
roscore
rosrun sound_play soundplay_node.py
rosrun sound_play say.py "Greetings Humans. Take me to your leader."
会报错:
Saying: Greetings Humans. Take me to your leader.
Voice: voice_kal_diphone Traceback (most recent call last): File: “/opt/ros/indigo/lib/sound_play/say.py”, line 79, in <module> print ‘Volume: %s’ % volume NameError: name ‘volume’ is not defined
在rosanswer上找到了问题,原来这是audio_common包的一个bug,在源码中已经修复,但是没有正式发布,所以通过apt安装的包仍然存在问题。(http://answers.ros.org/question/225722/volume-error-using-sound_play/)
解决问题的办法是下载audio_common包的源码,然后进行本地编译。
在编译之前,需要安装一些依赖库:
sudo apt-get install libgstreamer1.0-dev
sudo apt-get install libgstreamer-plugins-base1.0-dev
然后下载源码:
git clone https://github.com/ros-drivers/audio_common.git
编译之后生效环境变量,就可以正常运行语音播放了。
评论列表(10条)
你好古月大大 我做的是机器人的语音导航 现在室内导航和语音控制都可以实现了 但是应给怎么结合在一起 在网上看了几篇论文 用的方法都是栅格地图和拓扑地图组合的形式来进行导航 对拓扑点进行语音标注来实现导航 我在github上找了几个关于vronoi的程序包都不会用 现在是一愁莫展 我问的问题比较乱 希望古月大大能帮助我一下
你好,不好意思,语音导航我并不了解,我的理解,你现在的难点是:如何将语音表示的位置转换成地图上的对应坐标。如果是这样,那么应该就需要在栅格地图上建立拓扑点来表示可到达的位置,《ros by example》上有类似的应用,但是拓扑点只表示几个重点的位置,应用价值不大。此外,你提到有这方面的功能包,建议还是好好研究一下这些功能包的使用,首先关注输入输出,然后看实现。这方面的包我没接触过,可能帮不了你太多。
你好古月,请教个问题,在arm ubuntu上使用sudo apt-get install libgstreamer1.0-dev,安装的是arm版本的软件还是x86版本的软件,是否arm版的都要自己下载源代码进行移植呢?
在ARM上可以使用apt-get安装的软件,都是ARM版本的,不需要源码编译。
好的,多谢!
古月兄您好!我们正在做家庭机器人的创业项目,诚邀您加入我们团队或者帮我们提供技术支持,我的QQ1934624163。
你好,我现在也在做创业方面的工作,我们可以多多交流,我的邮箱:hcx196@sina.com
Hello! ubuntu12.04 录音 噪声太大 !怎么解决这个问题?
14.04 也一样
你好,这个问题我不擅长,试一试使用独立的麦克风效果如何。