feat: Piper TTS service (Issue #421) #425

Merged
sl-jetson merged 1 commits from sl-mechanical/issue-421-tts-service into main 2026-03-04 23:59:12 -05:00
Collaborator

Shared TTS node with queue + priority + Jabra output

Shared TTS node with queue + priority + Jabra output
sl-jetson added 1 commit 2026-03-04 23:32:46 -05:00
- 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
sl-jetson merged commit eda5154650 into main 2026-03-04 23:59:12 -05:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#425
No description provided.