ROS: お薦めの!? 英語音声合成 (Test To Speech)パッケージ

ROSで使える英語の音声合成パッケージを探していたらオンライン、オフラインの色々なエンジンをサポートしているArnaud Rameyさんが開発した以下のパッケージを見つけた。本記事はインストールしたときのメモ。残念ながら日本語は対応していません。

サポートしているエンジン

  • オフライン:espeak, Festival, GNUstep, MaryTTS, pico2wave, speech_dispatcher
  • オンライン:AT&T, Google TTS, Ivona, Microsoft

インストール

  • picotts本体:git cloneできなかったので以下のzipファイルを~/catkin_ws/srcの中にダウンロードし解凍した。
    • https://github.com/arnaud-ramey/picotts/archive/master.zip
    • $ cd ~/catkin_ws/src
    • $ unzip picotts-master.zip
    • $ mv picotts-master picotts
  •  各エンジン
    •  MaryTTS(クオリティが高い)
      • $ sudo apt install mplayer (mplayerは他のエンジンでも使うので必須)
      • $ cd ~/src (~/srcがない場合はmkdir srcで作成してください)
      • $ sudo apt install default-jre
      • $ wget https://github.com/marytts/marytts/releases/download/v5.2/marytts-5.2.zip
      • $ unzip marytts-5.2.zip
      • $ cd marytts-5.2
      • $ wget https://github.com/marytts/voice-upmc-pierre-hsmm/releases/download/v5.2/voice-upmc-pierre-hsmm-5.2.zip
      • $ unzip voice-upmc-pierre-hsmm-5.2.zip
    • Festival
      • $ sudo apt install mbrola mbrola-fr*
    • GNUstep
      • $ sudo apt install gnustep-gui-runtime
    • speech_dispatcher
      • $ sudo apt install speech-dispatcher
  • 必要なファイルのインストール
    • $ rosdep install picotts --ignore-src
  • ビルド
    • $ catkin_make --only-pkg-with-deps picotts

実 行

  • MarryTTSを使う場合は以下のコマンドによりローカルでサーバーと設定用のクライアントを起動する。
    • $ cd ~/src/marrytts-5.2/bin
    • $ ./marytts-server
    • 別の端末を開き、同じディレクトリにあるクライアントプログラムを起動
      • $ ~/src/marrytts-5.2/bin/marrytts-client
  • 別の端末を開き、次のコマンドを実行
    • $ roscore
  • 別の端末を開き、次のコマンドを実行
    • $ rosrun picotts picotts.exe

テスト

  • 別の端末を開き、次のコマンドを実行。音が聞こえたら成功!
    • rostopic pub /tts std_msgs/String "My name is Happy Robot"
  • エンジンの切り替え: 標準ではpico2waveなのでクオリティが低い。
    • MarryTTS (オフライン)
      • rostopic pub /picotts/engine std_msgs/String "MarryTTS"
    • Micorsoft (オンライン)
      • rostopic pub /picotts/engine std_msgs/String "microsoft"

トピック

  • /tts [std_msgs/String]  発話される文字列
  • /picotts/engine [std_msgs/String]  使用されるエンジン。picottsノード実行中に変更可能

その他

 

 

以上

コメント

タイトルとURLをコピーしました