- Central ROS2 TTS node using Piper (offline ONNX speech synthesis) - Subscribe to /saltybot/tts_request (String messages) for TTS requests - Priority queue management with interrupt capability - Audio output to Jabra device via ALSA/PulseAudio - Configurable voice, speed, pitch, and volume parameters - Publish /saltybot/tts_state (idle/synthesizing/playing) for status tracking - Preload Piper model on startup for faster synthesis - Queue management with configurable max size (default 16) - Non-blocking async playback via worker thread - Complete ROS2 package with launch file and tests
23 lines
676 B
Python
23 lines
676 B
Python
from setuptools import setup, find_packages
|
|
|
|
setup(
|
|
name='saltybot_tts_service',
|
|
version='0.1.0',
|
|
packages=find_packages(),
|
|
data_files=[
|
|
('share/ament_index/resource_index/packages', ['resource/saltybot_tts_service']),
|
|
('share/saltybot_tts_service', ['package.xml']),
|
|
],
|
|
install_requires=['setuptools'],
|
|
zip_safe=True,
|
|
author='seb',
|
|
author_email='seb@vayrette.com',
|
|
description='Central TTS service with Piper, action server, and queue management',
|
|
license='Apache-2.0',
|
|
entry_points={
|
|
'console_scripts': [
|
|
'tts_service_node = saltybot_tts_service.tts_service_node:main',
|
|
],
|
|
},
|
|
)
|