ROS上で音声合成を使ってみたくて、sound_playを動かしてみたので、そのメモ。音声合成は思ってた感じと違ってたものの、音声ファイル再生は便利そう。
動作確認環境
OS: Ubuntu 18.04 (Parallels Desktop 16 for Mac上で実行)
ROS: Melodic
インストール
sudo apt-get install ros-melodic-sound-play
ノード起動
音声を再生するためには、まずはノードを起動する必要がある。
仮想環境上で動かしたおかげか、すんなり動いてテスト再生もできた。環境によっては設定で手間取るかも。
roslaunch sound_play soundplay_node.launch
テスト再生
rosrun sound_play test.py
音声ファイルの再生(WAV、OGG)
rosrun sound_play play.py --help rosrun sound_play play.py /opt/ros/melodic/share/sound_play/sounds/say-beep.wav rosrun sound_play play.py /opt/ros/melodic/share/sound_play/sounds/BACKINGUP.ogg
内蔵サウンドの再生
rosrun sound_play playbuiltin.py --help rosrun sound_play playbuiltin.py 2
メッセージの定義に組み込みサウンド一覧がある
cat `rospack find sound_play`/msg/SoundRequest.msg
音声合成(TTS)
rosrun sound_play say.py --help rosrun sound_play say.py 'Hello world' echo Hello again | rosrun sound_play say.py
メモ
play.pyなどのスクリプト本体のパス
/opt/ros/melodic/lib/sound_play
リンク
ROS.org: sound_play
ROS.org: How to Configure and Use Speakers with sound_play