【ArchLinux】Open_jtalkで日本語音声のスピーチさせてみる
はい、今回はArchLinuxでサウンドも再生できるようになったことから、
日本語音声をスピーチさせる方法について紹介していきます。
以前にUbuntuLinuxでも同様の投稿をしておりますが、今回はArchLinux版の手順となります。
Open_jtalkのインストール
まず、open_jtalkのインストールです。
いつもの pacman ではなく、リポジトリサーバからファイルを入手する必要があります。
以下のURLにアクセスします。
https://aur.archlinux.org/packages/open-jtalk/
$ git clone https://aur.archlinux.org/open-jtalk.git
$ makepkg -si
yay が使える場合は以下コマンドでインストール可能となります。
$ yay -S open_jtalk
Voiceデータの準備
htsvoiceのデータをダウンロードします。
前回同様にこちらから音声データをお借りした。
筆者はmei_happyを少しテンポ遅らせるのがお気に入りである。
Voiceデータは探したところ、他にも公開されている方がいました。
http://akihiro0105.web.fc2.com/Downloads/Downloads-htsvoice.html
初音ミクバージョンも公開されていますね。
(※Windowsのツールで変換が必要のようですので筆者は断念。)
http://moblog.absgexp.net/mikuvoice/
上記で使いたい音声データをダウンロードして、/usr/local/share/Voice以下に格納します。
ディレクトリ名は任意です。
辞書データの準備
以下からUTF-8版をダウンロードして、/usr/local/share/open_jtalk_dict以下に格納します。
ディレクトリ名は任意です。
http://open-jtalk.sourceforge.net/
読み上げたいテキストファイルを準備する。
test.txtを作成し、内容は「こんにちわ、おげんきですか、寒いですね!」などと入力して保存。
以下コマンドで実行します。-r は速度の指定です。筆者は「0.9」と少し遅らせてみました。
$ open_jtalk -m /usr/local/share/Voice/mei/mei_happy.htsvoice -x ~/open_jtalk_dic_utf_8-1.11/ -r 0.9 -ow ~/test.wav test.txt
wavファイルが生成されていますので、aplayコマンドで再生します。
$ aplay -D plughw:1,0 ~/temp.wav
いちいちaplayを入力は面倒なので、以下のように繋げてみます。
$ open_jtalk -m /usr/local/share/Voice/mei/mei_happy.htsvoice -x ~/open_jtalk_dic_utf_8-1.11/ -r 0.9 -ow ~/test.wav test.txt && aplay -D plughw:1,0 ~/temp.wav && rm ~/temp.wav
テキストファイルにいちいち書き込むのも手間なのでコマンドライン上でechoでも可能です。
$ echo "こんにちわ、おげんきですか、寒いですね!" | open_jtalk -m /usr/local/share/Voice/mei/mei_happy.htsvoice -x ~/open_jtalk_dic_utf_8-1.11/ -r 0.9 -ow ~/test.wav && aplay -D plughw:1,0 ~/temp.wav && rm ~/temp.wav
macOSXのsayコマンド風にスクリプトにするのも可能です。
macOSX風のsayコマンドをLinuxでも作成する
以下スクリプトを作成して、jsay.shなどのファイル名で保存。
#!/bin/bash
word=$1
echo $1|open_jtalk -m /home/share3/wavs/momo.htsvoice -x /usr/local/share/open_jtalk_dic/ -r 1.0 -fm 4.0 -ow ~/temp.wav
aplay -D plughw:1,0 ~/temp.wav
rm ~/temp.wav
権限をchmod 755 で設定。
$ chmod 755 jsay.sh
以下コマンドでスピーチが可能になります。
$ jsay.sh こんにちわ、おげんきですか、寒いですね!
まとめ
今回はArchLinuxでのopen_jtalkのインストールと設定と、
シェルを含め各種の使い方について紹介しました。
何かの参考になれば幸いです。