TX2+ROS melodic上做百度语音识别
下载百度语音包
http://wiki.ros.org/baidu_speech
打开终端,进入到工程的src文件,使用git方式下载
git clone https://github.com/DinnerHowe/baidu_speech
或者到网盘下载,拷贝过去
链接:https://pan.baidu.com/s/1HvKVlmEdZeoYEEEJ-7ipWw
提取码:rjmz
安装需要的功能包
1,安装requests模块
sudo pip install requests
2,安装两个python库pyaudio和python-vlc
sudo apt-get install python-pip portaudio19-dev vlc libvlc-dev
sudo pip install pyaudio
sudo pip install python-vlc
百度语音包是下载到了catkin_ws/src文件夹下,到catkin_ws目录下进行编译
测试百度语音包,文本发音,向simple_speaker节点添加音频文件
roslaunch baidu_speech simple_speaker.launch
如果提示出现如下错误
是因为python程序没有设置可执行,用命令行或者右键文件属性里设置,改正后
运行成功,如下图
打开一个新终端,运行如下
rostopic pub /speak_string std_msgs/String – 你好,世界
音箱里会发出“你好,世界”的声音,测试文本发音没问题
测试百度语音包中语音识别
roslaunch simple_voice simple_voice.launch
这里可能会提示以下数据格式错误
找到voice_node.py,在第80行把len(json.dumps(RegData))改成str(len(json.dumps(RegData)))即可
正常运行后可能出现请求数量超标提示
这时需要自己去http://yuyin.baidu.com申请自己的账号,替换launch文件如下图三处
对着电脑说话,每次只识别一次,识别完成后需要按下enter才能继续下次识别,测试语音识别没问题。