今回はRaspberry PiにOpenJTalkという合成音声ライブラリを利用して喋らせてみました!
意外と手順が少ないので簡単に喋らせることができました!
OpenJTalkとは
OpenJTalkは名古屋工業大学で開発された文章を合成音声が読み上げる、Text to Speechソフトです。
日本語向けの音声読み上げソフトがあるのは非常にありがたいですね。
https://open-jtalk.sp.nitech.ac.jp/
OpenJTalkのインストール
早速、OpenJtalkをラズパイに入れていきます!
まずはコンソールで作業ディレクトリまで移動したら、OpenJTalkをインストールします。
sudo apt-get update
sudo apt-get install open-jtalk
インストールが成功したら、インストール中に表示された提案パッケージも追加します。
これは辞書ファイルと音声ファイルになるようです。
sudo apt-get install open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001
ラズパイに喋らせてみる
喋らせるには言葉の入力と音声ファイルの作成が必要になります。
echo "<テストしたい文章>" | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice -ow ~/ojtalk.wav
私はこういったときは長めの文章や早口言葉などを指定したくなります。
echo "隣の客はよく柿食う客だ" | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice -ow ~/ojtalk.wav
上記のコマンドを実行できたら音声ファイルが作成されます。
次に音声ファイルを再生させてみます。
ラズパイのイヤホンジャックにイヤホンを差し込んで音声確認します。
aplay ~/ojtalk.wav
真面目っぽい男性の声で文章が読まれました!
音声ファイルを作成せずに再生することができるようです!
こちらの方が楽ですね。
echo "バナナの謎はまだ謎なのだぞ" | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice -ow /dev/stdout | aplay --quiet
女性の音声に変更する
先ほどは男性の声でしたが、女性版パッケージもインストールしたら利用が可能なようです。
まずは女性版音声データをダウンロードします。
wget https://sourceforge.net/projects/mmdagent/files/MMDAgent_Example/MMDAgent_Example-1.7/MMDAgent_Example-1.7.zip
ダウンロードが完了したら、zipファイルを解凍します。
unzip ./MMDAgent_Example-1.7.zip
解凍できたら、女性版音声のmeiデータをコピーします。
sudo cp -r ./MMDAgent_Example-1.7/Voice/mei/ /usr/share/hts-voice/
これで実行準備ができたので、音声をmeiを指定して実行してみます!
echo "バナナの謎はまだ謎なのだぞ"|open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m /usr/share/hts-voice/mei/mei_normal.htsvoice -ow /dev/stdout | aplay --quiet
想像以上に甲高い声で、イヤホンで聞くとびっくりしました!!
これでラズパイでの合成音声の出力ができました!
今回は直接RaspberryPiのコンソールから指定しましたが、今後はPythonと一緒に活用してみようと思います。