def __init__(self, start_server=True):
# Private properties
rospack = rospkg.RosPack()
self._package_path = rospack.get_path('needybot_speech')
self._cache_dir = rospy.get_param(
'/needybot/speech/cache_dir',
os.path.join(os.path.realpath(self._package_path), 'cache')
)
self._cache_manifest = os.path.join(self._cache_dir, 'manifest.json')
self._feedback = SpeechFeedback()
self._kill_pub = rospy.Publisher(
'/needybot/speech/kill', Empty, queue_size=10)
self._result = SpeechResult()
self._server = actionlib.SimpleActionServer(
'needybot_speech',
SpeechAction,
execute_cb=self.execute_cb,
auto_start=False)
# Public properties
self.effects = [
'ladspa', 'tap_deesser', 'tap_deesser', '-30', '6200',
'pitch', '200',
'contrast', '75',
'norm'
]
self.voice = pyvona.create_voice(
os.environ.get('IVONA_ACCESS_KEY'),
os.environ.get('IVONA_SECRET_KEY'))
self.voice.voice_name = rospy.get_param(
'/needybot/speech/voice/name', 'Justin')
self.voice.speech_rate = rospy.get_param(
'/needybot/speech/voice/speech_rate', 'medium')
self.voice.codec = rospy.get_param('/needybot/speech/voice/codec', 'ogg')
self.sound_process = None
self.cleaned_pub = rospy.Publisher(
'/needybot/speech/cache/cleaned',
Empty,
queue_size=10,
latch=True
)
self.warmed_pub = rospy.Publisher(
'/needybot/speech/cache/warmed',
Empty,
queue_size=10,
latch=True
)
if not os.path.exists(self._cache_manifest):
self.create_cache_manifest()
if start_server:
self._server.start()
评论列表
文章目录