OpenJTalk を Ubuntu Server にインストールして音声合成させるまで
今回は miniPC にインストールした Ubuntu Server に OpenJTalk インストールして音声合成を試してみました。
Open JTalk - HMM-based Text-to-Speech System
必要なパッケージのインストール
まず、必要な依存パッケージをインストールします。
sudo apt-get update
sudo apt-get install -y make gcc g++ zlib1g-dev curl
HTSエンジンのインストール
OpenJTalkを使うためには HTSエンジンもインストールする必要がありますので、次の手順でインストールしておきます。
次のコマンドは、HTSエンジンをダウンロードしてインストールします。
curl -LO https://downloads.sourceforge.net/hts-engine/hts_engine_API-1.10.tar.gz
tar xzf hts_engine_API-1.10.tar.gz
cd hts_engine_API-1.10
./configure
make
sudo make install
次のように、インストールできたことが確認できます。
which hts_engine
/usr/local/bin/hts_engine
OpenJTalkのソースコードをダウンロード
次に、OpenJTalkのソースコードをダウンロードし、展開します。2024年時点では、このURLが最新でした。
curl -LO https://downloads.sourceforge.net/open-jtalk/open_jtalk-1.11.tar.gz
tar xzf open_jtalk-1.11.tar.gz
cd open_jtalk-1.11
OpenJTalkのビルドとインストール
以下のコマンドでOpenJTalkをビルドしてインストールします。
./configure
make
sudo make install
次のように、インストールできたことが確認できます。
which open_jtalk
/usr/local/bin/open_jtalk
音響モデルと辞書のダウンロード
次に、音響モデルと辞書をダウンロードします。
# 音響モデルのダウンロード
curl -LO https://downloads.sourceforge.net/open-jtalk/hts_voice_nitech_jp_atr503_m001-1.05.tar.gz
tar xzf hts_voice_nitech_jp_atr503_m001-1.05.tar.gz
# 辞書のダウンロード
curl -LO https://downloads.sourceforge.net/open-jtalk/open_jtalk_dic_utf_8-1.11.tar.gz
tar xzf open_jtalk_dic_utf_8-1.11.tar.gz
この音響モデルを変えることで、声の種類や発音の感じを変えることができるようです。名古屋大学がメイ&タクミの音響モデルを聴いてみますと、ディープラーニングを使わずとも結構滑らかに聴こえることに驚きです。 メイ&タクミ動画 | メイ&タクミ公式ウェブサイト
テキストを音声に変換
OpenJTalkを使用して、テキストを音声ファイルに変換します。
open_jtalk \
-x ./open_jtalk_dic_utf_8-1.11 \
-m ./hts_voice_nitech_jp_atr503_m001-1.05/nitech_jp_atr503_m001.htsvoice \
-ow output.wav \
-ot log.txt <<EOF
こんにちは、これはOpenJTalkのテストです。
EOF
上記のコマンドを実行すると、output.wavという音声ファイルが生成されます。このファイルを再生することで、指定したテキストの音声を聞くことができます。
音声ファイルの再生
最後に、生成された音声ファイルを再生します。以下のコマンドを使って再生することができます。
sudo aplay output.wav
私の環境ですと aplay はスーパーユーザーでないと実行できませんでした。また人によっては、aplay のインストールやサウンドカードの選択を適宜行う必要があるかもしれません。