前言
今天闲来无事查看下语音识别在ROS中的应用,之前在ROS中玩过一段时间的Pocket Sphinx,关于Pocket Sphinx的学习过程以后会介绍,或者可以去网上搜索一些教程,都是比较不错的。现在讲述下在ROS中百度语音的使用情况,由于百度语音的作者写了一些文章在Github上,但是步骤不是很清楚,在此记录一下防止以后忘记,也和大家分享下,避免出现一些失误而导致半途而废。
需求
操作系统: Ubuntu 14.04.2
ROS版本:Indigo
ROS语音识别介绍
关于一些在ROS中如何使用语音识别库,大家可以自行搜索下,基本上都是在ROS官网上的一些资料,目前官网上的语音识别库一共有四个,分别为
目前讲述的是百度的语音识别,目前百度语音已经支持ROS,大家可以学习下。以后会介绍其他三个语音库。
百度语音识别在ROS中的应用
在Github上下载百度语音识别包
$ git clone https://github.com/DinnerHowe/simple_voice.git
下载完成后其实就可以使用,但是会提示错误,例如:No module named pyaudio 或者 Nomodule named vlc
其实作者也已经说过了,要想使用simple_voice这个包,需要Python库,也就是pyaudio和vlc-python。下面安装需求包。
安装百度语音识别包的需求包
$ sudo apt-get install python-pyaudio
$ cd
$ git clone https://github.com/geoffsalmon/vlc-python.git
$ sudo cp vlc-python/generated/vlc.py /usr/lib/python2.7/
运行并测试百度语音包中的说话者(simple_speaker.launch)和语音识别(simple_voice.launch)
$ roslaunch simple_voice simple_speaker.launch
$ roscd simple_voice/src
$ rostopic pub /speak_string std_msgs/String -- '请让一下.mp3'
这个步骤就是加载给出的“请让一下.mp3”到节点,关于rostopic pub的使用方法在此就不介绍了,大家可以查看rostopic的使用。
$ roslaunch simple_voice simple_voice.launch
每次只识别一次,识别完成后需要桥下Enter键才能继续识别,当然大家也可以对voice_node.py进行改造,变成实时语音识别。