RTX 5090のローカルPCでQwen3-TTSを動かすまでのメモ

今回は、Windows環境で RTX 5090 を使って、ローカルに Qwen3-TTS をインストールして動かす手順をまとめます。

場所は例として D:\ruanjian に入れていきます。

まず、作業用フォルダに移動して、Qwen3-TTSのソースコードをcloneします。

cd D:\ruanjian
git clone https://github.com/QwenLM/Qwen3-TTS.git
cd D:\ruanjian\Qwen3-TTS

次に、Python 3.12で仮想環境を作ります。

py -3.12 -m venv .venv
.venv\Scripts\activate
python -m pip install -U pip setuptools wheel

ここまでできたら、プロンプトの先頭に (.venv) が出ているはずです。
これが出ていれば、仮想環境に入れている状態です。


RTX 5090用にCUDA 12.8版のPyTorchを入れる

Qwen3-TTSを入れる前に、まずPyTorchを入れます。
RTX 5090の場合は、CUDA 12.8版のPyTorchを使います。

python -m pip install torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0 --index-url https://download.pytorch.org/whl/cu128

インストールが終わったら、ちゃんとGPUが認識されているか確認します。

python -c "import torch; print(torch.__version__); print(torch.version.cuda); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0)); print(torch.cuda.get_arch_list())"

正常なら、だいたいこんな感じで表示されます。

2.10.0+cu128
12.8
True
NVIDIA GeForce RTX 5090
['sm_70', 'sm_75', 'sm_80', 'sm_86', 'sm_90', 'sm_100', 'sm_120']

ここで特に大事なのは、torch.cuda.is_available()True になることです。
それから、get_arch_list() の中に sm_120 のような表示があると安心です。

もしここが False になっていたら、そのまま進めないほうがいいです。
先にNVIDIAドライバを入れ直すか、CUDA 12.8版のPyTorchをもう一度入れ直したほうがいいです。


Qwen3-TTSをeditable modeでインストールする

GPUまわりが問題なければ、次はQwen3-TTS本体を入れます。

cd /d D:\ruanjian\Qwen3-TTS
python -m pip install -e .

これはいわゆる editable mode、日本語で言うと「編集可能モード」でのインストールです。

この方法で入れておくと、あとで

D:\ruanjian\Qwen3-TTS\qwen_tts\

の中にあるソースコードを直接編集しても、基本的には再インストールしなくて大丈夫です。

Qwen3-TTSの pyproject.toml では、パッケージ名は qwen-tts になっています。
依存関係には、たとえば以下のようなものが入っています。

transformers==4.57.3
accelerate==1.12.0
gradio
librosa
torchaudio
soundfile

モデルのキャッシュもDドライブ側に置く

モデルやキャッシュがCドライブに入ると容量を圧迫しやすいので、今回はプロジェクトフォルダの中にまとめます。

まず、キャッシュ用とモデル用のフォルダを作ります。

mkdir D:\ruanjian\Qwen3-TTS\.cache
mkdir D:\ruanjian\Qwen3-TTS\models

毎回実行する前に、環境変数を設定します。
これは現在開いているコマンドプロンプト、またはPowerShellのウィンドウ内だけで有効です。
システム全体の設定は変えません。

set HF_HOME=D:\ruanjian\Qwen3-TTS\.cache\huggingface
set TORCH_HOME=D:\ruanjian\Qwen3-TTS\.cache\torch
set MODELSCOPE_CACHE=D:\ruanjian\Qwen3-TTS\.cache\modelscope

次に、Hugging Faceからモデルを落とすためのツールを入れます。

cd /d D:\ruanjian\Qwen3-TTS
.venv\Scripts\activate

python -m pip install -U "huggingface_hub[cli]" hf_xet

ダウンロード前に、もう一度Hugging Face関連の環境変数を設定しておきます。

set HF_HOME=D:\ruanjian\Qwen3-TTS\.cache\huggingface
set HF_XET_HIGH_PERFORMANCE=1
set HF_HUB_DOWNLOAD_TIMEOUT=120

それから、必要なモデルをダウンロードします。

hf download Qwen/Qwen3-TTS-Tokenizer-12Hz --local-dir D:\ruanjian\Qwen3-TTS\models\Qwen3-TTS-Tokenizer-12Hz

hf download Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign --local-dir D:\ruanjian\Qwen3-TTS\models\Qwen3-TTS-12Hz-1.7B-VoiceDesign

hf download Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --local-dir D:\ruanjian\Qwen3-TTS\models\Qwen3-TTS-12Hz-1.7B-CustomVoice

hf download Qwen/Qwen3-TTS-12Hz-1.7B-Base --local-dir D:\ruanjian\Qwen3-TTS\models\Qwen3-TTS-12Hz-1.7B-Base

モデルはサイズが大きいので、回線やディスク速度によってはそれなりに時間がかかります。


Qwen3-TTSを起動する

CustomVoiceモデルを起動する場合は、こんな感じです。

qwen-tts-demo D:\ruanjian\Qwen3-TTS\models\Qwen3-TTS-12Hz-1.7B-CustomVoice --ip 127.0.0.1 --port 8000 --dtype bfloat16 --no-flash-attn

Baseモデルを起動する場合はこちらです。

qwen-tts-demo D:\ruanjian\Qwen3-TTS\models\Qwen3-TTS-12Hz-1.7B-Base --ip 127.0.0.1 --port 8001 --dtype bfloat16 --no-flash-attn

--ip 127.0.0.1 にしているので、基本的には自分のPCからアクセスする形です。
ポートはそれぞれ 80008001 に分けています。

また、ここでは --dtype bfloat16 を指定しています。
RTX 5090なら、この設定で動かすのが現実的です。

--no-flash-attn は、FlashAttentionまわりでトラブルを避けたい場合に付けておくと無難です。


最終的なフォルダ構成

最終的に、モデルフォルダはこんな感じになります。

D:\ruanjian\Qwen3-TTS\models\
├─ Qwen3-TTS-Tokenizer-12Hz
├─ Qwen3-TTS-12Hz-1.7B-CustomVoice
├─ Qwen3-TTS-12Hz-1.7B-VoiceDesign
└─ Qwen3-TTS-12Hz-1.7B-Base

各モデルの使い分けは、ざっくり言うとこんな感じです。

モデル用途
1.7B-CustomVoice公式の内蔵音色を使う普通のTTS向け
1.7B-Base参考音声をアップロードして、声のクローンや調整をしたいとき向け
1.7B-VoiceDesignテキストで声をデザインしたいとき向け

VoiceDesign は、たとえば

若い女性、やさしい声、日本語のアナウンサー風、ゆっくり話す

みたいに、文字で声の雰囲気を指定できるモデルです。

公式説明では、中国語、英語、日本語、韓国語、ドイツ語、フランス語、ロシア語、ポルトガル語、スペイン語、イタリア語の10言語に対応していて、streamingやinstruction controlにも対応しています。


SoXがないと言われた場合

もし実行時にSoXがないというエラーが出たら、Windows版のSoXを入れます。

おすすめはZIP版です。

SoX 14.4.2 Windows ZIP
https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.zip/download

ZIP版ならインストーラーを使わなくてもいいので、D:\ruanjian に置いて管理しやすいです。

ダウンロードして解凍すると、たぶんこんな名前のフォルダが出てきます。

sox-14.4.2

これを

sox

にリネームして、以下の場所に置きます。

D:\ruanjian\sox

最後に、このファイルがあるか確認します。

D:\ruanjian\sox\sox.exe

ここまでできれば、Qwen3-TTSのローカル環境はだいたい完成です。
RTX 5090でCUDA 12.8版PyTorchがちゃんと認識されていれば、あとはモデルを切り替えながらTTSを試していけます。

ワンクリック起動用のBATファイルを作る

毎回コマンドを手で入力するのは面倒なので、最後にワンクリック起動用のBATファイルを作っておくと便利です。

たとえば、Base 1.7B モデルを 8001 ポートで起動する場合は、以下の内容でBATファイルを作ります。

ファイル名は、たとえばこんな感じでOKです。

start_qwen3_tts_base_8001.bat

保存場所は分かりやすく、

D:\ruanjian\Qwen3-TTS\start_qwen3_tts_base_8001.bat

にしておくといいです。

中身はこちらです。

@echo off
chcp 65001 >nul
title Qwen3-TTS Base 1.7B - Port 8001

D:
cd \ruanjian\Qwen3-TTS

if not exist ".venv\Scripts\activate.bat" (
echo [ERROR] Not found: D:\ruanjian\Qwen3-TTS\.venv
echo Please install Qwen3-TTS first.
pause
exit /b 1
)

if not exist "D:\ruanjian\Qwen3-TTS\models\Qwen3-TTS-12Hz-1.7B-Base" (
echo [ERROR] Model folder not found:
echo D:\ruanjian\Qwen3-TTS\models\Qwen3-TTS-12Hz-1.7B-Base
echo Please download: Qwen/Qwen3-TTS-12Hz-1.7B-Base
pause
exit /b 1
)

set HF_HOME=D:\ruanjian\Qwen3-TTS\.cache\huggingface
set TORCH_HOME=D:\ruanjian\Qwen3-TTS\.cache\torch
set MODELSCOPE_CACHE=D:\ruanjian\Qwen3-TTS\.cache\modelscope
set PATH=D:\ruanjian\sox;%PATH%

call ".venv\Scripts\activate.bat"

echo.
echo ============================================
echo Starting Qwen3-TTS 1.7B Base
echo Open: http://127.0.0.1:8001
echo ============================================
echo.

where sox
sox --version

qwen-tts-demo "D:\ruanjian\Qwen3-TTS\models\Qwen3-TTS-12Hz-1.7B-Base" --ip 127.0.0.1 --port 8001 --dtype bfloat16 --no-flash-attn

pause

このBATをダブルクリックすると、自動で以下の処理をしてくれます。

コメントを残す

必須項目 *