代码地址如下:
http://www.demodashi.com/demo/13153.html概述:
本demo是ros下基于百度语音的,语音识别和语音合成,能够实现文字转语音,语音转文字的功能。
详细:
1. 安装库与环境
首先确保已经安装了以下两个库文件。
1.1 Python 音频处理库 PyAudio
python -m pip install pyaudio
1.2 Python 音频处理库 vlc
pip install python-vlc
1.3 ROS
确保安装了ROS
http://wiki.ros.org/indigo
2. 实时语音识别与语音合成
2.1 运行
Speech Recognition(语音识别):
roslaunch simple_voice simple_voice.launch
Text To Speech(语音合成):
roslaunch simple_voice simple_speaker.launch
2.2 概述
在运行前先确保安装了python的pyaudio 以及 vlc 库文件.
百度语音识别为开发者提供业界优质且免费的语音服务,通过场景识别优化,,准确率达到90%以上,让您的应用绘“声”绘色。
本文中的语音识别
功能:采用百度语音识别库,实现语音转化为文字
的功能,并且输出为ros话题。
本文中的语音合成
功能:采用百度语音识别库,实现将文字转化为语音
并且存储为mp3/wav文件。
2.3 Node
包中一共有3个节点:
- node_main.py
- simple_speek.py
- voice_node.py.
node_main.py
是TTS(Text To Speech)的demo节点, 该demo是和laser scanner一起运行的,当laser检测到一个障碍物,node_main将会触发simple_speek.py让机器说出英语或者汉语 ‘excuse me’, ‘make a way for me pls’或者’请让一下’,等话语。
simple_speek.py
将会订阅 std_msgs/String 消息类型的话题,并且将该话题中输入的文字转化为语音
voice_node.py
将会识别您在5秒内说出的话语并且输出到终端上。