MegaTTS3の英語推論環境をWindowsで構築してGradioから音声合成をする

初めに

bytedanceから英語・中国語に対応したTTSモデルが公開されたので動かしてみます

github.com

開発環境

重要な制約

  • WeTextProcessingpyniniWindows でのビルドが難しく、uv add だけでは導入できません。
  • そのため、この構成では 英語のみ で推論します。
  • 中国語を入力すると tts/infer_cli.py が例外を出します。

環境構築

uvを使って以下の手順で環境構築を進めていきます

uv init --bare --name megatts3 --python 3.10

Windows 用の依存リスト ( requirements.windows.txt ) を用意します

torch==2.6.0
torchaudio==2.6.0
numpy<2
attrdict==2.0.1
librosa==0.10.2.post1
langdetect==1.0.9
pydub==0.25.1
pyloudnorm==0.1.1
modelscope==1.22.2
transformers>=4.41.2,<=4.49.0,!=4.46.*,!=4.47.*,!=4.48.*;python_version<'3.10'
transformers>=4.41.2,<=4.49.0,!=4.46.*,!=4.47.*,!=4.48.0;python_version>='3.10'
x-transformers==1.44.4
torchdiffeq==0.2.5
openai-whisper==20240930
httpx==0.28.1
gradio==5.23.1

依存のインストールします

uv add -r requirements.windows.txt -p 3.10

この実行で以下が作成/更新されます

  • .venv
  • pyproject.toml
  • uv.lock

実行

CLIで実行する場合は以下で実行します

uv run python tts/infer_cli.py --input_wav "assets/English_prompt.wav" --input_text "Your English text here." --output_dir ./gen

Gradio UIは以下で起動します.

uv run python tts/gradio_api.py