Debian Jessie に OpenJtalk を入れてテキストを読み上げてみた
もりすけです。
ゆっくり実況ってあるじゃないですか。
ニコニコ動画とかでよくあるやつです。
それ用にと思ってテキスト読み上げソフトを入れてみました。
今回の作業手順です。
1.OpenJtalk のインストール
2.辞書とボイスのダウンロード
3.OpenJtalk のテスト
4.bashで読み上げスクリプト作成
1.OpenJtalk のインストール
では、早速インストールです。
いつもの呪文を唱えます。
~$ sudo aptitude update ~$ sudo aptitude install open-jtalk The following NEW packages will be installed: libhtsengine1{a} open-jtalk 0 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 215 kB of archives. After unpacking 708 kB will be used. Do you want to continue? [Y/n/?]
これでインストール完了です。
簡単ですね。
2.辞書とボイスのインストール
辞書とボイスは必須ですね。
Debianのパッケージにありましたので、
今回はここからインストールします。
~$ sudo aptitude install open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001
open-jtalk-mecab-naist-jdic
が辞書、
hts-voice-nitech-jp-atr503-m001
がボイスです。
辞書は /var/lib/mecab/dic/open_jtalk/
の中に、
ボイスは /usr/share/hts-voice/
の中にインストールされました。
MMDAgentの女性ボイス
女性用のボイスもあるとのことで、
ここからダウンロードしました。
http://www.mmdagent.jp/
MMDAgent "Sample Script" version 1.4
の中の
Binary Package
を選びます。
ダウンロードしたファイルを解凍して適当な場所へ移動します。
今回は パッケージのボイスと同じ所に入れました。
~$ unzip MMDAgent_Example-1.4.zip ~$ sudo mv ./MMDAgent_Example-1.4/Voice/mei usr/share/hts-voice/
3.OpenJtalk のテスト
open_jtalk コマンドで音声ファイルを作成してみましょう。 まずは喋らせる言葉をファイルに保存します。
~$ vi text.txt これはテストです
言葉を入力して保存します。
ファイル名は何でもいいです。
では、音声に変換します。
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 text.txt -ow output.wav
すると、output.wav
が作成されます。
聞いてみましょう。
~$ mplayer output.wav
男性の声で上手く再生されれば成功です。
4.bashで読み上げスクリプト作成
コマンドでもいいんですが、
わざわざテキストファイルを作成するのもどうかと思いますので、
bash で動くコマンドを作ってしまいましょう。
読み上げ用ですので、作成した音声ファイルはすぐに消すことにします。
[talk] # ファイル名は拡張子なしの「talk」にしました。 --- #!/bin/bash VOICE=/usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice DIC=/var/lib/mecab/dic/open-jtalk/naist-jdic/ WAV=/tmp/ojtalktmpvoice.wav echo "$1" | open_jtalk \ -x $DIC \ -m $VOICE \ -ow $WAV mplayer $WAV rm $WAV
MMDAgentのボイスで再生したい場合はこんなふうに変更して下さい。
VOICE=/usr/share/hts-voice/mei/mei_normal.htsvoice
再生
~$ ./talk これはテストです
うまく再生できたらOKです。
最後に
ちょっと喋り方が変ですが、
調整したらもっと綺麗になるんでしょうかね。
いろいろ試してみたいと思います。