a stray sheep

お仕事周りの雑記帳

Raspberry Piでしゃべってみる

スピーカーから音を出せたので、今度はラズパイにしゃべらせたいと思います。

参考にしたのはこちら。
途中の「日本語音声合成システム(Open JTalk)のインストール」からやっています。

qiita.com

Open JTalkのインストー

Open JTalk本体のインストー

$ sudo apt-get install open-jtalk
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  libhtsengine1
提案パッケージ:
  open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001
以下のパッケージが新たにインストールされます:
  libhtsengine1 open-jtalk
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
187 kB のアーカイブを取得する必要があります。
この操作後に追加で 542 kB のディスク容量が消費されます。
続行しますか? [Y/n] Y
取得:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main libhtsengine1 armhf 1.08-1 [38.0 kB]
取得:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main open-jtalk armhf 1.07-2 [149 kB]
187 kB を 1秒 で取得しました (148 kB/s)
以前に未選択のパッケージ libhtsengine1 を選択しています。
(データベースを読み込んでいます ... 現在 112429 個のファイルとディレクトリがインストールされています。)
.../libhtsengine1_1.08-1_armhf.deb を展開する準備をしています ...
libhtsengine1 (1.08-1) を展開しています...
以前に未選択のパッケージ open-jtalk を選択しています。
.../open-jtalk_1.07-2_armhf.deb を展開する準備をしています ...
open-jtalk (1.07-2) を展開しています...
man-db (2.7.0.2-5) のトリガを処理しています ...
libhtsengine1 (1.08-1) を設定しています ...
open-jtalk (1.07-2) を設定しています ...
libc-bin (2.19-18+deb8u10) のトリガを処理しています ...

提案パッケージのインストー

$ sudo apt-get install open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  hts-voice-nitech-jp-atr503-m001 open-jtalk-mecab-naist-jdic
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
10.9 MB のアーカイブを取得する必要があります。
この操作後に追加で 68.2 MB のディスク容量が消費されます。
取得:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main open-jtalk-mecab-naist-jdic all 1.07-2 [10.1 MB]
取得:2 http://mirrordirector.raspbian.org/raspbian/ jessie/contrib hts-voice-nitech-jp-atr503-m001 all 1.05-1 [764 kB]
10.9 MB を 2秒 で取得しました (4,331 kB/s)
以前に未選択のパッケージ open-jtalk-mecab-naist-jdic を選択しています。
(データベースを読み込んでいます ... 現在 112445 個のファイルとディレクトリがインストールされています。)
.../open-jtalk-mecab-naist-jdic_1.07-2_all.deb を展開する準備をしています ...
open-jtalk-mecab-naist-jdic (1.07-2) を展開しています...
以前に未選択のパッケージ hts-voice-nitech-jp-atr503-m001 を選択しています。
.../hts-voice-nitech-jp-atr503-m001_1.05-1_all.deb を展開する準備をしています ...
hts-voice-nitech-jp-atr503-m001 (1.05-1) を展開しています...
open-jtalk-mecab-naist-jdic (1.07-2) を設定しています ...
hts-voice-nitech-jp-atr503-m001 (1.05-1) を設定しています ...

Open JTalkを使用する

テキストファイルを音声ファイルに変換して、音声を出力します。

テキストファイル作成

$ vi 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.wav voice.txt

音声ファイルを実行

$ aplay test.wav

おー、しゃべった!すごい!!

スクリプト

$ jsay.sh
TMP=/tmp/jsay.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

//権限付与
$ chmod 755 jsay.sh

//実行
$ ./jsay.sh こんにちは

女性の声に変えてみる

音声ファイルを取得する

最新版は1.7でした。

$ wget http://downloads.sourceforge.net/project/mmdagent/MMDAgent_Example/MMDAgent_Example-1.7/MMDAgent_Example-1.7.zip
--2017-06-25 10:41:29--  http://downloads.sourceforge.net/project/mmdagent/MMDAgent_Example/MMDAgent_Example-1.7/MMDAgent_Example-1.7.zip
downloads.sourceforge.net (downloads.sourceforge.net) をDNSに問いあわせています... 216.34.181.59
downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: https://jaist.dl.sourceforge.net/project/mmdagent/MMDAgent_Example/MMDAgent_Example-1.7/MMDAgent_Example-1.7.zip [続く]
--2017-06-25 10:41:29--  https://jaist.dl.sourceforge.net/project/mmdagent/MMDAgent_Example/MMDAgent_Example-1.7/MMDAgent_Example-1.7.zip
jaist.dl.sourceforge.net (jaist.dl.sourceforge.net) をDNSに問いあわせています... 2001:df0:2ed:feed::feed, 150.65.7.130
jaist.dl.sourceforge.net (jaist.dl.sourceforge.net)|2001:df0:2ed:feed::feed|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 12650627 (12M) [application/octet-stream]
`MMDAgent_Example-1.7.zip' に保存中

MMDAgent_Example-1. 100%[=====================>]  12.06M  4.25MB/s 時間 2.8s

2017-06-25 10:41:32 (4.25 MB/s) - `MMDAgent_Example-1.7.zip' へ保存完了 [12650627/12650627]

//解凍
$ unzip MMDAgent_Example-1.7.zip

//meiフォルダ配下を/usr/share/hts-voice/にコピー
$ sudo cp -R ./MMDAgent_Example-1.7/Voice/mei /usr/share/hts-voice/

jsay.shを修正して、jsay_w.shを作成

$ jsay_w.sh
TMP=/tmp/jsay.wav
echo "$1" | open_jtalk \
-m /usr/share/hts-voice/mei/mei_happy.htsvoice \
-x /var/lib/mecab/dic/open-jtalk/naist-jdic \
-ow $TMP && \
aplay --quiet $TMP
rm -f $TMP

//実行
$ ./jsay_w.sh こんにちは

メイちゃんの声に変わりました!