def tts_speak(text, wait_before_speaking=0): """ Lets the robot say the given text out aloud. This is a blocking call. """ from pal_interaction_msgs.msg import SoundAction, SoundGoal global __tts_client if __tts_client is None: __tts_client = actionlib.SimpleActionClient(TTS_ACTION_NAME, SoundAction) rospy.logdebug('Waiting for "%s"...' % TTS_ACTION_NAME) if not __tts_client.wait_for_server(rospy.Duration(1.0)): rospy.logwarn('Couldn\'t connect to "%s" server.' % TTS_ACTION_NAME) return False tts_goal = SoundGoal() tts_goal.wait_before_speaking = rospy.Duration(wait_before_speaking) tts_goal.text = text rospy.logdebug('Sent speak command with "%s" (wait: %.3f seconds).' % ( text, wait_before_speaking)) __tts_client.send_goal(tts_goal) __tts_client.wait_for_result() result = __tts_client.get_state() rospy.logdebug('Result for last speech command: %s' % result) return result == GoalStatus.SUCCEEDED
def createTTSGoal(text, lang_id='', wait_before_speaking=rospy.Duration(0.0)): """Creates a @arg j1 float value for head_1_joint @returns FollowJointTrajectoryGoal with the specified goal""" sound_goal = SoundGoal() sound_goal.text=text sound_goal.lang_id=lang_id sound_goal.wait_before_speaking=wait_before_speaking return sound_goal
def create_say_goal(self, tts_text, tts_wait_before_speaking, tts_lang): rospy.loginfo(tts_text) say_goal = SoundGoal() say_goal.wait_before_speaking.secs = tts_wait_before_speaking say_goal.wait_before_speaking.nsecs = 0 say_goal.text = tts_text say_goal.lang_id = tts_lang return say_goal
def createTTSGoal(text, lang_id='', wait_before_speaking=rospy.Duration(0.0)): """Creates a @arg j1 float value for head_1_joint @returns FollowJointTrajectoryGoal with the specified goal""" sound_goal = SoundGoal() sound_goal.text = text sound_goal.lang_id = lang_id sound_goal.wait_before_speaking = wait_before_speaking return sound_goal