Text to speech in a python node
I've done the soundplay tutorial and can do text-to-speech from the command line, but can someone explain how to do it from inside a python program?
ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
I've done the soundplay tutorial and can do text-to-speech from the command line, but can someone explain how to do it from inside a python program?
Hi Ringo,
The following works for me in Diamondback.
First add a dependency on sound_play to your package manifest.xml file:
<depend package="sound_play"/>
and re-run rosmake in your package directory.
Then launch the soundplay node from the command line or your launch file:
$ rosrun sound_play soundplay_node.py
or
<launch>
<node name="soundplay_node" pkg="sound_play" type="soundplay_node.py"/>
</launch>
Finally, add the following Python snippets to your main speech script.
from sound_play.libsoundplay import SoundClient
self.soundhandle = SoundClient()
rospy.sleep(1)
self.soundhandle.say('Take me to your leader.')
--patrick
I did this in hydro on a PR2. It worked without adding the dependency. Also, our PR2 automatically runs a soundplay node. If a second one is accidentally started, speech sounds choppy until the whole system is restarted (even restarting all ros processes doesn't fix it).
Asked: 2011-08-04 13:27:05 -0500
Seen: 1,472 times
Last updated: Aug 04 '11
how I convert string to float?
rostest & Python - Multiple Test Fixtures In Single File
How to inhibit/ignore speech recognition while generating speech
AttributeError: module 'rosbag' has no attribute 'Bag'
MoveGroupCommander unable to connect
How to get argument from launch-file not used in a Node ?
How to get bounding box coordinates from Gazebo with Python?