Repurposing the ROS 2 “Say Node” from Create3-Wali, GoPi5Go-Dave now has a voice:
pi@GoPi5Go:DOCKER:~/GoPi5Go/ros2ws $ ros2 run gopi5go_dave say_node &
which offers a /say service to speak the content of the SayStr message:
ros2 service call /say dave_interfaces/srv/Say "Hello from Go Pi Five Go Dave using Piper TTS arctic-medium voice"
requester: making request: dave_interfaces.srv.Say_Request(saystring='Hello from Go Pi Five Go Dave using Piper TTS arctic-medium voice')
[INFO] [1716495377.975366780] [say]: Say request:"Hello from Go Pi Five Go Dave using Piper TTS arctic-medium voice"
response:
dave_interfaces.srv.Say_Response(spoken=True)
and indeed the say_node logs anything spoken (or asked to be spoken during “Quiet Time”):
2024-05-23 05:57|Battery at 10.0 volts. Docking now. - quiet time
2024-05-23 05:57|Docking success after 3.4 hours playtime - quiet time
2024-05-23 05:57|Reset Encoders To Zero - quiet time
2024-05-23 08:16|Full Charge. Undocking now. - quiet time
...
2024-05-23 16:16|Hello from Go Pi Five Go Dave using Piper TTS arctic-medium voice - spoken: True
A current problem Dave is facing: Volume can only be set from outside the Docker container. Takes human assistance when he wants to shout!