sl-mechanical 9e3e586fca feat: Issue #421 - Piper TTS service with queue + priority + Jabra output
- 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
2026-03-04 23:32:21 -05:00

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',
],
},
)