- 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
25 lines
845 B
XML
25 lines
845 B
XML
<?xml version="1.0"?>
|
|
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
|
<package format="3">
|
|
<name>saltybot_tts_service</name>
|
|
<version>0.1.0</version>
|
|
<description>Central TTS (text-to-speech) service using Piper with action server, queue management, and Jabra audio output.</description>
|
|
<maintainer email="seb@vayrette.com">seb</maintainer>
|
|
<license>Apache-2.0</license>
|
|
|
|
<buildtool_depend>ament_python</buildtool_depend>
|
|
|
|
<depend>rclpy</depend>
|
|
<depend>std_msgs</depend>
|
|
<depend>rclcpp_action</depend>
|
|
|
|
<test_depend>ament_copyright</test_depend>
|
|
<test_depend>ament_flake8</test_depend>
|
|
<test_depend>ament_pep257</test_depend>
|
|
<test_depend>python3-pytest</test_depend>
|
|
|
|
<export>
|
|
<build_type>ament_python</build_type>
|
|
</export>
|
|
</package>
|