ラズパイにOpen-Jtalkを入れる
ROSが動いているubuntuラズパイにフリーの日本語TTS、Open-Jtalkをインストールして、ロボットが喋れるようにしましょう。まず最初にwavファイルが再生できるようにセットします。下記でインストールしますが、僕の場合はすでにインストールされていました。念のためにやっておきます。
$ sudo apt-get update $ sudo apt-get install alsa alsa-utils
これだけではダメで、/boot/config.txtの最後に下記の1行を追加し、オーディオ機能をONにします。
dtparam=audio=on
さらに自分をaudioグループに追加します。ぼくはhanaokacyanなのでコマンドは下記になります。ここでrebootしてここまでの設定を反映させます。
$ sudo adduser hanaokacyan audio
最後に下記のコマンドでオーディオ出力をミニジャックに設定します。ここでrebootしてここまでの設定を反映させます。
$ amixer cset numid=3 1
ラズパイのミニジャックはビデオ信号入りの4極ですが、普通のステレオミニプラグを差し込むとオーディオだけが取り出せる(ビデオはGNDにショートされますが、直列抵抗が入っているので故障はしません)ので、ヘッドフォンや外部スピーカーなどがそのまま使えます。今回は写真のように折りたたみ式の外部スピーカーを使いました。
サンプルwavファイルがalsaとともにインストールされてるので、下記のコマンドで音("front center"という音声)がでます。
$ aplay /usr/share/sounds/alsa/Front_Center.wav
音量の変更は次のコマンドでミキサーを表示して行います。↑↓キーで音量を変更できます。ただ、僕の環境では設定音量を保存できませんでした。電源を落とすまでは設定音量ですが、再起動すると初期の音量に戻ってしまいます。保存する方法もあるようですが、うまくいきませんでした。
$ sudo alsamixer
もっともミキサーを表示することなく、音量を変更できるコマンドもあります。最後の数値(%)で音量を指定しますが、リニアではないので70~100くらいで大幅に音量が変わります。ともあれ、このコマンドで起動する度にシェルスクリプトや.bashrcなどで音量を再設定してやれば実用上は問題なさそうです。
$ amixer sset 'PCM' 80%
肝心のJTalkのインストールは例によって他の方のインストール法をそのままやってみました。こちらのサイトです。この手順のとおりでpythonで喋らせることができました。次回はその応用でROSを使って喋らせてみます。