日本語音声出力
Raspberry PiにHMMテキスト音声合成システムOpen JTalkをインストールして、任意の文を喋らせます。
OSのインストールやWiFiドングルのセットアップなどの初期設定はこちらをご覧ください。
必要なもの
- ヘッドフォンなどのヘッドフォン端子につなぐ音響機器 または USBスピーカー
USBスピーカーの方がノイズが少なくてよいようです。
USBスピーカーを使う場合
接続後にこんな感じでUSBオーディオの優先度を上げる必要があるようです。
|
|
|
index=-2をindex=0にします。
|
|
|
|
手順
- Open JTalkと関係パッケージをインストールする。
sudo aptitude install open-jtalk open-jtalk-mecab-naist-jdic htsengine libhtsengine-dev hts-voice-nitech-jp-atr503-m001
- 話す際に使うスクリプトを書く。(橋本商会様のスクリプトを少し改変しました)
nano jsay.sh
#!/bin/sh TMP=`mktemp` cd /usr/share/hts-voice/nitech-jp-atr503-m001 echo "$1" | open_jtalk \ -td tree-dur.inf \ -tf tree-lf0.inf \ -tm tree-mgc.inf \ -md dur.pdf \ -mf lf0.pdf \ -mm mgc.pdf \ -dm mgc.win1 \ -dm mgc.win2 \ -dm mgc.win3 \ -df lf0.win1 \ -df lf0.win2 \ -df lf0.win3 \ -dl lpf.win1 \ -ef tree-gv-lf0.inf \ -em tree-gv-mgc.inf \ -cf gv-lf0.pdf \ -cm gv-mgc.pdf \ -k gv-switch.inf \ -s 16000 \ -a 0.05 \ -u 0.0 \ -jm 1.0 \ -jf 1.0 \ -jl 1.0 \ -x /var/lib/mecab/dic/open-jtalk/naist-jdic \ -ow $TMP && \ aplay --quiet $TMP rm -f $TMP
- 実行権限を与える。
chmod a+x jsay.sh
次のようにすると音声が出力される。
|
ヘッドホン端子に音響機器を接続していて音が出ない場合
HDMI側から出力されていることがあるようです。
確認してみましょう。
|
|
数値 | 出力先 |
0 | auto |
1 | ヘッドホン端子 |
2 | HDMI |
今はautoになっているようですね。
もし問題がある場合は下記のようにすると、ヘッドホン端子から出力されるようです。
|
声を変えてみる
ここまでで、/usr/share/hts-voice/ 配下にはnitech-jp-atr503-m001というディレクトリができているはずです。
これは男声ですが、これをMMDAgentの付属物として配布されている女声(MEI)のボイスに差し替えてみましょう。
|
ここまでで、/usr/share/hts-voice/ 配下には下記のディレクトリができているはずです。
ディレクトリ | 声質 |
mei_angry | 女声。怒。 |
mei_bashful | 女声。不明。 |
mei_happy | 女声。喜。 |
mei_normal | 女声。普通。 |
mei_sad | 女声。哀。 |
nitech-jp-atr503-m001 | Open JTalkと一緒に配布されている男声。 |
上記シェルスクリプトの上部で、当該ボイスディレクトリにcdしているので、その箇所を変えれば、声を変えられます。