テキストファイルを自動読み上げて音声ファイル作成

LINEで送る
Pocket

テキストデータを読み上げてくれるサービスが最近増えてきましたが、
しかし音声データを利用したいと思うと有償サービスである場合が多いです。
Ubuntu では、コマンドラインよりテキストファイルを読み上げて、音声データに保存してくれるツールが提供されています。
Open JTalk は、名古屋工業大学の研究チームが作った、商用利用可能な
Linux用の日本語音声合成エンジンです。

インストールは以下のコマンド行い、辞書ファイルと音声データのパッケージを同時にインストールします。

$ sudo apt install open-jtalk open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001

デフォルトの音声データは男性の声だけなので、以下のサイトより女性の声(MMDAgent_Example-1.8.zip)もダウンロードします。
https://sourceforge.net/projects/mmdagent/files/MMDAgent_Example/MMDAgent_Example-1.8/

zip ファイルには多くのファイルが含まれていますが、音声ファイルは MMDAgent_Example-1.8/Voice/ 配下に含まれている拡張子 .htsvoice のファイルです。

$ unzip ~/ダウンロード/MMDAgent_Example-1.8.zip
$ ls MMDAgent_Example-1.8/Voice/
mei slt takumi <- slt 配下のファイルは使用できませんでした。
$ ls MMDAgent_Example-1.8/Voice/mei/
COPYRIGHT.txt README.txt mei_angry.htsvoice mei_bashful.htsvoice mei_happy.htsvoice mei_normal.htsvoice mei_sad.htsvoice

全ての音声ファイルをデフォルトの音声ファイルが入っているディレクトリにコピーします。

sudo cp `find MMDAgent_Example-1.8/Voice/|grep htsvoice` /usr/share/hts-voice/nitech-jp-atr503-m001/

open_jtalk は以下のように実行します。

$ 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 -r 2.0 -ow audio.wav

出力されたファイルは aplay コマンドなどで確認できます。

$ aplay audio.wav

入力をファイルとする場合は以下のように実行しますが、Open JTalk は改行までしか音声ファイルを生成してくれないので以下のように sed で改行をスペースに変換して入力させてあげればファイルを編集する必要なく Open JTalk に読み込ませることができます。

$ 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 audio.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 audio.wav

-x : 辞書ディレクトリ
-m : 音声データ
-r : 読み上げスピード (1.0がデフォルト)
-ow : wav データとして出力

LINEで送る
Pocket

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

コメントを残す

*

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