ROS speech_database

O pacote para o ROS speech_database destina-se a converter o texto publicado num tópico no som a ser reproduzido para efectuar a sua vocalização, e que é publicado no topico apropriado.

O processo recorre ao serviço gcloud text to speech, que processa o texto recolhido pelo node no topico que subscreve e recolhe o resultado num ficheiro mp3, que é publicado para reprodução num topico subscrito pelo node soundplay_node.py do pacote sound_play.

Os ficheiros mp3 e os textos que lhe dão origem são guardados localmente de forma a serem usados no futuro sem recurso ao serviço remoto.

Depende do pacote sound_play para emitir o som, que é instalavel com o comando:

sudo apt install ros-melodic-sound-play

Para compilar necessita da libjansson-dev instalavel com o seguinte comando

sudo apt install libjansson-dev

O pacote compila e funciona correctamente no ubuntu bionic / melodic.

A documentação deste módulo está disponivel no seguinte link:

http://wiki.ros.org/speech_database

O código está disponivel em:

https://github.com/robinJKU/hmi_robin/tree/hydro-devel/speech_database

Pela documentação parece que não é actualizado desde os tempos do ROS hydro., no entanto continua actual já que pode ser usado sem problemas no melodic.

Para executar a verbalização do texto é necessário lançar o ficheiro speech.launch, que executa os dois nodes necessários:

  • sound_play/soundplay_node.py
  • speech_database/speech_database

O comando a executar é o seguinte:

roslaunch speech_database speech.launch

Os nodes executaram sem problemas.

O launch file deve ser editado para usar o português (pt).

<param name=”language” value=”pt” />

A voz é feminina em português de Portugal.

Fala os textos que indicarmos no tópico:

/speech (std_msgs/String)

Por exemplo para dizer olá mundo, publica-se o respectivo texto com o seguinte comando:

rostopic pub --once /speech std_msgs/String "olá mundo"

Apesar de ser antigo, o speech_database funcionou bem. Bastante bem.