Linux
RaspberryPi
音声合成
IoT
OpenJTalk

【Raspberry Pi 3 Model B】男ひとり酒を飲みながらラズパイと会話したい(第1回)

概要

docomoのAPIや、Open JTalk等を組み合わせれば、ラズパイと会話ができそうなので作ってみました。
第1回はOpen JTalkのインストールです。

参考サイト

前提条件

  • モデル : Raspberry Pi 3 Model B
  • OS : Raspbian Stretch
  • マイク(USB)
  • スピーカー(アナログ)
$ uname -a
Linux raspberrypi 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux

事前準備

とりあえずのお約束作業です。

$ sudo apt-get update
$ sudo apt-get upgrade

Open JTalkのインストールから動作確認

今回は参考サイト通りなのでサクッといきます。スピーカーの設定は不要でしたのでとばします(なお、参考サイトには丁寧に記載してあります)。

$ sudo apt-get install open-jtalk
$ sudo apt-get install open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001

$ mkdir ~/open-jtalk
$ cd open-jtalk

$ vi test_voice.txt 
こんにちは

$ open_jtalk -m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice -x /var/lib/mecab/dic/open-jtalk/naist-jdic -ow test_voice.wav test_voice.txt
$ aplay test_voice.wav

おっさんがしゃべれば成功です!

女性の声のほうがいいよね

ということで、meiちゃんの声をインストール。コマンドでダウンロードするのでバージョン、ファイル名等はhttp://www.mmdagent.jp/で確認してください。

$ wget https://sourceforge.net/projects/mmdagent/files/MMDAgent_Example/MMDAgent_Example-1.7/MMDAgent_Example-1.7.zip
$ unzip MMDAgent_Example-1.7.zip
$ sudo cp -R ./MMDAgent_Example-1.7/Voice/mei /usr/share/hts-voice/

$ open_jtalk -m /usr/share/hts-voice/mei/mei_normal.htsvoice -x /var/lib/mecab/dic/open-jtalk/naist-jdic -ow test_voice.wav test_voice.txt 
$ aplay test_voice.wav

meiちゃんがしゃべれば成功です!
また、「openjtalk」「音響モデル」あたりでググれば他の声も入手できそうです。

スクリプト作成

これも参考サイトほぼそのものですが、単体で動かす場合はスクリプトにしておくと楽です。男性と女性を作成しました。

jtalk_m.sh(男性)
#!/bin/sh
TMP=/tmp/jtalk_m.wav
echo "$1" | open_jtalk \
-m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice \
-x /var/lib/mecab/dic/open-jtalk/naist-jdic \
-ow $TMP && \
aplay --quiet $TMP
rm -f $TMP
jtalk_f.sh(女性)
#!/bin/sh
TMP=/tmp/jtalk_f.wav
echo "$1" | open_jtalk \
-m /usr/share/hts-voice/mei/mei_normal.htsvoice \
-x /var/lib/mecab/dic/open-jtalk/naist-jdic \
-ow $TMP && \
aplay --quiet $TMP
rm -f $TMP
動作確認
$ chmod +x jtalk_*.sh
$ ./jtalk_m.sh こんにちは
$ ./jtalk_f.sh こんにちは

まとめ

今回はラズパイをしゃべらせることができたので、次回は、自分のしゃべった言葉をラズパイに認識させたいと思います。

記事

【Raspberry Pi 3 Model B】男ひとり酒を飲みながらラズパイと会話したい(第1回)
【Raspberry Pi 3 Model B】男ひとり酒を飲みながらラズパイと会話したい(第2回)
【Raspberry Pi 3 Model B】男ひとり酒を飲みながらラズパイと会話したい(第3回)
【Raspberry Pi 3 Model B】男ひとり酒を飲みながらラズパイと会話したい(第4回)