Skip to content

mgonzs13/tts_ros

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tts_ros

This repositiory integrates the Python TTS (Text-to-Speech) pacakge into ROS 2 using audio_common.

Installation

$ cd ~/ros2_ws/src
$ git clone https://github.com/mgonzs13/audio_common.git
$ git clone https://github.com/mgonzs13/tts_ros.git
$ sudo apt install portaudio19-dev
$ pip3 install -r audio_common/requirements.txt
$ pip3 install -r tts_ros/requirements.txt
$ cd ~/ros2_ws
$ rosdep install --from-paths src --ignore-src -r -y
$ colcon build

Usage

To use this tool you have to run the tts_node. It has the following parameters:

  • chunk: Size of audio chunks to be sent to the audio player.
  • frame_id: Frame of for the tts.
  • model: The tts model. You can check the available models with tts --list_models.
  • device: The device to run the model same as in torch.
  • speaker_wav: The wav file to perform voice cloning.
  • speaker: Which speaker voice to use for multi-speaker models. Check with tts --model_name <model> --list_language_idx.
  • stream: Whether to stream the audio data.

Format

$ ros2 run tts_ros tts_node --ros-args -p chunk:=4096 -p frame_id:="your-frame" -p model:="your-model" -p device:="cpu/cuda" -p speaker_wav:="/path/to/wav/file" -p stream:=False

Demos

$ ros2 run tts_ros tts_node
$ ros2 run audio_common audio_player_node
$ ros2 action send_goal /say audio_common_msgs/action/TTS "{'text': 'Hello World'}"