完成品は、次のように設定してキャタピラを音声命令で操作します。
・Raspberry PiB+、もしくはRaspberry Pi2+を使用。
・音声を出力するために 日本語音声合成 Open JTalkを使用
・日本語音声認識 julius を使用。
土台となるキャタピラは、タミヤの「タンク工作基本セット」を使用しています。
その木製車体の上にダブルギヤボックス、モーター駆動回路、音声アンプ、電池を載せ、
さらにその上に木版を置き、そこにモバイルバッテリー、Raspberry Pi2、スピーカーを
載せています。
Raspberry Pi2 のUSB端子には、USBマイクと無線LANドングルを接続しています。
動作は、例えば、「右!」とマイクに向かって話すと、Open JTalkの「メイちゃん」の声で
「右に曲がります」と返事があり、キャタピラが右に曲がります。
音声命令は、「前」、「後ろ」、「右前」、「左前」、「右後」、「左後」、「右回転」、
「左回転」、「止まれ」の9個の命令があります。
1.Open-jtalkは、バージョン1.05以前と1.06以降でhts_voiceのフォーマットが異なっています。
2016/7/30現在では、Open-jtalkのバージョンが1.09になっています。
しかし、apt-get installを使ってOpen-jtalkをインストールする場合、NOOBSのバージョンによって
注意が必要です。
(1)(RaspberryPi B+)+ NOOBS1.4.2(Raspbian Wheezy)のときは、Open-jtalkバージョン1.05が
インストールされます。
(2)(RaspberryPi 2 )+ NOOBS1.9.2(Raspbian Jessie)のときは、Open-jtalkバージョン1.07が
インストールされます。
(3)Open-jtalkのバージョンが1.09をインストールしたい場合には、apt-get installを使わないで、
make installを使って自分でビルド、コンパイルするしかないようです。
以下に、「RaspberryPi B+にNOOBS1.4.2」の場合と「RaspberryPi2にNOOBS1.9.2」の場合」に分けて記述します。
1.「LTXTerminal」を使って、次のコマンドを実行しOpen-jtalkをインストールする。
$ sudo apt-get install open-jtalk
$ sudo apt-get install open-jtalk-mecab-naist-jdic
$ sudo apt-get install htsengine libhtsengine-dev
$ sudo apt-get install hts-voice-nitech-jp-atr503-m001
2.インストール後、$ open_jtalk -h を実行して、Open-jtalkのバージョンと実行する際のオプションを
確認すると、バージョンは1.05です。
3.また、オプションは、下記のようになっています。
※Open-jtalkバージョン1.06以降で使えるオプション("-m")は、上記のオプションには無いので
使えません。
4.Open-jtalkを起動するシェルスクリプト「jtalk.sh」の作成
(1)次のコマンドを実行し、下記のように入力します。
$ sudo nano jtalk.sh
(2)「jtalk.sh」の内容
5.次のコマンドを実行し「jtalk.sh」を実行可能なファイルにします。
$ sudo chmod 755 jtalk.sh
1.Raspberry Piの「コンポジット端子」に接続するミニプラグは、3.5㎜Φの4極です。
通常のステレオミニプラグは、3極です。
2.下図は、Raspberry Piの「コンポジット端子」の接続図です。
3.次の図は、音声関係の概略図です。
・4極プラグから映像と音声右を外し、2線(音声左・GND)をアンプに接続しました。
・4極ミニプラグは、秋月電子で「3.5mmΦ4極ミニプラグ MP-435」を購入 \115
・小型アンプキットは、秋月電子で「TA7368使用小型アンプキット」を購入 \300
・3端子レギュレータは、秋月電子で「三端子レギュレータ5V 1A」を購入 \40
・スピーカーは、100均で購入
・電池は、006P型9Vです。
(小型アンプに5Vが必要なためと RaspberryPi のモバイル電源の容量が小さいため電源を
分けています。)
なお、RaspberryPi のUSB端子に接続しているマイクは、「SANWA SUPPLY MM-MCUSB16 USBマイクロフォン」
を使用しています。
1.「LTXTerminal」で次のコマンドを入力し音声出力をコンポジット端子にします。
$ amixer cset numid=3 1
2.出力の音量のレベルを確認するために次のコマンドを実行します。
$ alsamixer
3.Alsa Mixer の画面が表示されます。
(1)この画面だと「再生」と表示されていますので、スピーカーの音量調節ができます。
(2)「再生」と表示されていない場合は、「F3」キーを押します。
(3)両方とも上下キー「↑、↓」を押せば音量調整ができます。
(4)自機では「58」にしてあります。
1.「LTXTerminal」で次のコマンドを実行し、Open-jtalkが正しく起動するか確認します。
$ ./jtalk.sh こんにちは [Enter]。
2.男性の声が聞こえれば成功です。
3.次のようにして女性の声(メイちゃん)に変更します。
(1)MMDAgentが提供する「Example」Ver.1.3,1を使います。現在はVer1.6になっていますがここでは
使えません。次のコマンドを実行します。
$ wget http://sourceforge.net/projects/mmdagent/files/MMDAgent_Example
/MMDAgent_Example-1.3.1/MMDAgent_Example-1.3.1.zip
$ unzip MMDAgent_Example-1.3.1.zip
$ sudo cp -R MMDAgent_Example-1.3.1/Voice/* /usr/share/hts-voice
4.「jtalk.sh」の内容を次のように変更します。
$ sudo nano jtalk.sh を実行し、jtalk.shの内容を次のように変更します。
cd /usr/share/hts-voice/nitech-jp-atr503-m001
#cd /usr/share/hts-voice/mei_normal を次のように#を変更します。
#cd /usr/share/hts-voice/nitech-jp-atr503-m001
cd /usr/share/hts-voice/mei_normal
5.$ ./jtalk.sh こんにちは [Enter]と実行し女性の声(メイちゃん)が聞こえれば成功です。
6./usr/share/hts-voice/の中身を確認しておきますと、次のフォルダーがあります。
7.なお、「nitech-jp-atr503-m001」 フォルダーの中には以下のファイルがあります。
・dur.pdf ・gv-lf0.pdf ・gv-mgc.pdf ・gv-switch.inf ・lf0.pdf
・lf0.win1 ・lf0.win2 ・lf0.win3 ・lpf.pdf ・lpf.win1
・mgc.pdf ・mgc.win1 ・mgc.win2 ・mgc.win2 ・mgc.win3
・tree-dur.inf ・tree-gv-lf0.inf ・tree-lpf.inf ・tree-mgc.inf
1.「LTXTerminal」で次のコマンドを実行し、Open-jtalkをインストールします。
$ sudo apt-get install open-jtalk
$ sudo apt-get install open-jtalk-mecab-naist-jdic
$ sudo apt-get install libhtsengine1
$ sudo apt-get install hts-voice-nitech-jp-atr503-m001
2.インストール後、$ open_jtalk -h を実行して、Open-jtalkのバージョンと実行する際の
オプションを確認すると、バージョンは1.07になります。
3.Open-jtalkのオプションは、下記のようになっています。
4.Open-jtalkを起動するシェルスクリプト「jtalk.sh」の作成をします。
(1)次のコマンドを実行します。
$ sudo nano jtalk.sh
(2)「jtalk.sh」の内容は、次の図のようになります。
(3)次のコマンドを実行し「jtalk.sh」を実行可能なファイルにします。
$ sudo chmod 755 jtalk.sh
5.次に、Open-JTtalkが正しく起動するか確認します。
$ ./jtalk.sh こんにちは [Enter]
男性の声が聞こえれば成功です。
6.女性の声(メイちゃん)に変更します。
(1)PCに
MMDAgentのサイトから、「MMDAgent_Example-1.6.zip」をダウンロードします。
(2)解凍したファイルの中の「Voice」フォルダーにある「mei」フォルダーをWinSCP(最後に説明)を使って、
/home/piに転送します。
(3)次のコマンドを実行して/home/piにある「mei」フォルダーを /usr/share/hts-voice/ にコピーします。
$ sudo cp -R mei /usr/share/hts-voice/
7.「jtalk.sh」の内容を「メイちゃん」用に変更します。
(1) $ sudo nano jtalk.sh を実行し、
(2)jtalk.sh の内容で、
htsvoice=/usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice
#htsvoice=/usr/share/hts-voice/mei/mei_happy.htsvoice の行頭の#をチェンジする。
#htsvoice=/usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice
htsvoice=/usr/share/hts-voice/mei/mei_happy.htsvoice
(3)保存して、RaspberruPiを再起動します。
8.$ ./jtalk.sh こんにちは [Enter] と実行し女性の声(メイちゃん)が聞こえれば成功です。
9.参考までに/usr/share/hts-voice/の中身を確認しておきますと、次のフォルダーがあります。
Ver1.05と内容が違っているのがわかると思います。最初に述べたようにhts_voiceのフォーマットが異なって
いますので確認してください。
10.参考までに上記のフォルダーの中身は次の図のようになります。
(1)「nitech-jp-atr503-m001」フォルダーの中身
(2)「mei」フォルダーの中身
WinSCPは、グラフィカルなFTP、FTPS、SFTPクライアントプログラムです。主な機能は、
ローカルコンピューターとリモートコンピュータ間で安全にファイルをコピーすることです。
WinSCPのサイト でダウンロードできます。