この記事では、MeloTTS を WSL2 Ubuntu 24.04 にインストールする方法と、
実際に私が遭遇した MeCabエラー / pyenvのビルドエラー / SSLエラー の解決方法をまとめています。
同じ環境でつまずいている方の参考になれば嬉しいです。
1. 動作環境について
今回の環境は以下のとおりです。
- WSL2 Ubuntu 24.04
- Python 3.10(※3.10以下推奨)
- MeloTTS(GitHub版)
https://github.com/myshell-ai/MeloTTS
Python 3.11 以降では、tokenizers が wheel 化されておらず Rust のビルド環境が必要になったため、
仮想環境を作る前に Python を 3.10 以下にしておくのが安全です。
2. MeCab をインストールする
まず OS 側に MeCab をインストールします。
sudo apt update
sudo apt install mecab libmecab-dev mecab-ipadic-utf8
この時点で MeCab が正しく入っていないと、後の mecab-python3 インストールでエラーが出ます。
3. MeloTTS を GitHub からクローンする
次に MeloTTS を取得します。
git clone https://github.com/myshell-ai/MeloTTS.git
クローンしたディレクトリに移動して作業を進めます。
4. Python仮想環境(venv)の作成
Python 3.10 以下が推奨のため、私は先に pyenv で Python 3.10 を入れました。
ただし、ここで Python 3.10 がインストールできない というエラーに遭遇しました。
5. pyenv で Python 3.10 がインストールできない問題(解決)
pyenv install 3.10.x を行うとエラーが出る場合、
必要な依存パッケージが不足している可能性があります。
以下をインストールすることで解決しました。
sudo apt update
sudo apt install -y \
build-essential \
libssl-dev \
zlib1g-dev \
libbz2-dev \
libreadline-dev \
libsqlite3-dev \
libncursesw5-dev \
xz-utils \
tk-dev \
libxml2-dev \
libxmlsec1-dev \
libffi-dev \
liblzma-dev \
uuid-dev
この後、pyenv install 3.10.x が正常に動作しました。
6. 仮想環境を作成・有効化する
準備ができたら仮想環境を作成します。
python3 -m venv MeloTTS
source MeloTTS/bin/activate
7. MeloTTS をインストールする
仮想環境に入った状態で MeloTTS をインストールします。
pip install -e .
ここで私は MeCab 関連のエラー に遭遇しました。
その場合は下記で python 側の MeCab を追加インストールします。
pip install mecab-python3
8. unidic ダウンロード時の SSL エラー(CERTIFICATE_VERIFY_FAILED)
次に unidic の辞書をダウンロードします。
python -m unidic download
しかし、ここで以下のような SSL エラーが発生しました。
SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain
原因は、会社のプロキシ環境で CA 証明書が正しく設定されていないことでした。
▼ 解決方法
- CA 証明書を OS に登録
update-ca-certificatesを実行REQUESTS_CA_BUNDLEを設定
sudo cp CA証明書.cer /usr/local/share/ca-certificates/CA証明書.crt
sudo update-ca-certificates
export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
これで unidic download が無事完了しました。
9. MeloTTS を実行する
準備が整ったら以下で音声を生成できます。
melo "おはようございます。今日はいいお天気ですね。" output.wav \
-l JP \
-d cpu
初回はモデルのダウンロードが走るため、ネット接続が必要です。
生成結果の音声は output.wav に保存されます。
10. モデルの保存場所とモバイル向け変換について(メモ)
初回ダウンロード時にモデルが保存されますが、
MeloTTS のモデルとトークナイザは別ファイルになっています。
今後、モバイル(Android など)で動かす場合は、
- tflite 化できるか?
- モデルとトークナイザをアプリ側でどう結合するか?
などの調査が必要だと感じています。
このあたりは今後時間があるときに見てみようと思っています。
まとめ
今回のポイントをまとめると以下の通りです。
- MeloTTS は Python 3.10 以下が安定
- MeCab がないとエラーが出る
- pyenv の Python 3.10 ビルドには依存パッケージが大量に必要
- unidic ダウンロード時に SSL エラーが出る場合は CA 証明書を登録
- WSL2 でも問題なく動作可能
私自身かなりエラーにハマったので、同じ環境で困っている方の助けになれば幸いです。

コメント