Open JTalkLinux 日本語音声合成エンジン

LINEで送る
Pocket

現在テキストのデータを読み上げてくれるWebサイトはいくつかありますが、 音声データのダウンロードは有償サービスだったりします。 Ubuntu には、テキストデータを読み上げてくれるパッケージが用意されています。 日本語、英語用のソフトを紹介するので、音声データを必要とするソフトの開発や英語学習に
利用してみてください。 Open JTalk は、名古屋工業大学の研究チームが作った、ライセンスフリーの Linux日本語音声合成エンジンで、以下のコマンドでインストールできます。 一緒に辞書ファイルと音声データのパッケージもインストールします。

$ sudo apt install open-jtalk open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001
-x で辞書ディレクトリ、-m で音声データ、-ow で出力ファイルを指定します。
$ echo おはようございます。 | 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 -ow hello.wav
Open JTalk は、読み込みファイルを指定出来ますが、改行までしか音声ファイルを生成してくれません。sed で改行を削除して読み込ませれば、
ファイル全部を音声ファイルに変換できます。
$ 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 -ow hello.wav readme.txt
$ sed -z 's/\n/ /g' readme.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 -ow hello.wav

デフォルトでは、男性の声だけですが、名古屋工業大学のマスコットメイちゃん(http://mei.web.nitech.ac.jp/?page_id=12649)の 音声データをダウンロードすれば、女性の声を使うことも出来ます。

https://sourceforge.net/projects/mmdagent/files/MMDAgent_Example/

$ unzip MMDAgent_Example-1.7.zip
$ cd MMDAgent_Example-1.7/
拡張子が、.htsvoice が音声データで、5タイプのデータが用意されています。
$ ls Voice/mei/
COPYRIGHT.txt  README.txt  mei_angry.htsvoice  mei_bashful.htsvoice  mei_happy.htsvoice  mei_normal.htsvoice  mei_sad.htsvoice
-m で音声データを変更して試してみてください。
-r で読み上げスピードも変化できます。(1.0が標準)
$ echo おはようございます。 | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic/ -m mei_normal.htsvoice -r 2.0 -ow hello.wav

その他、東北大学の研究室が公開している音声データ(https://github.com/icn-lab/htsvoice-tohoku-f01) なども利用できます。

$ unzip htsvoice-tohoku-f01-master.zip
$ cd htsvoice-tohoku-f01-master/
$ ls
COPYRIGHT.txt  README.md  tohoku-f01-angry.htsvoice  tohoku-f01-happy.htsvoice  tohoku-f01-neutral.htsvoice  tohoku-f01-sad.htsvoice

英文を音声データに変換する場合は、espeak が便利です。espeak は、以下のコマンドでインストールできます。

$ sudo apt install espeak
$ espeak "Hello World!"
$ espaek < readme.txt
音声スピード(80〜450 デフォルト175)
$ espeak -s 175 "Hello World!"
m1〜m7 : 男性の声
f1〜f5 : 女性の声
$ espeak -v m1 "Hello World!"
$ espeak -v f1 "Hello World!"
espeakだけでは、音声ファイルに変換出来ないので、ffmpegパッケージをインストールして、以下のように実行します。
$ sudo apt install ffmpeg
$ espeak -f readme.txt --stdout | ffmpeg -i - out.mp3
LINEで送る
Pocket

  • このエントリーをはてなブックマークに追加

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください