Qwen3-TTS の音声クローンを試す
「Qwen3-TTS」の音声クローンを試したのでまとめました。
1. Qwen3-TTS
「Qwen3-TTS」は、Qwenチームが公開している音声合成モデルです。
主な特徴は次のとおりです。
・参照音声による音声クローンに対応
・日本語を含む多言語音声合成に対応
・0.6B / 1.7B のモデルを提供
・VoiceDesign、CustomVoice、Voice Clone などの用途別モデルを提供
音声クローンを行う場合は、「CustomVoice」ではなく「Base」モデルを使います。
2. 参照音声の準備
Qwen3-TTSの音声クローンで必要なのは、学習用データではなく「参照音声」です。
・1人だけが話している
・ノイズが少ない
・3〜15秒程度
・参照音声の文字起こしも用意する
Qwen3-TTSでは、参照音声に加えて、その音声で話している内容を ref_text として指定します。これにより、声質だけでなく、話し方や韻律も反映しやすくなります。
3. クイックスタート
(1) Python環境の作成。
conda create -n qwen3-tts python=3.12 -y
conda activate qwen3-tts(2) パッケージのインストール。
pip install -U qwen-ttsFlashAttention 2を使う場合は、以下もインストールします。
pip install -U flash-attn --no-build-isolation(3) 音声を生成。
ref_audio に参照音声、ref_text に参照音声の文字起こしを指定します。
import torch
import soundfile as sf
from qwen_tts import Qwen3TTSModel
model = Qwen3TTSModel.from_pretrained(
"Qwen/Qwen3-TTS-12Hz-1.7B-Base",
device_map="cuda:0",
dtype=torch.bfloat16,
attn_implementation="flash_attention_2",
)
ref_audio = "path/to/reference.wav"
ref_text = "これは参照音声で話している内容です。"
wavs, sr = model.generate_voice_clone(
text="こんにちは。これはQwen TTSの音声クローンのテストです。",
language="Japanese",
ref_audio=ref_audio,
ref_text=ref_text,
)
sf.write("output_voice_clone.wav", wavs[0], sr)5. モデルの使い分け
Qwen3-TTSで音声クローンを行う場合は、Base モデルを使います。
主に使うモデルは次の2つです。
・Qwen3-TTS-12Hz-0.6B-Base
軽量で動かしやすい。まず試す用途に向いている
・Qwen3-TTS-12Hz-1.7B-Base
0.6Bより高品質。声の再現性や自然さを重視する場合に使う
・Qwen3-TTS-VC
Qwen APIで通常の音声クローンTTSを行う場合に使う
・Qwen3-TTS-VC-Realtime
Qwen APIで低遅延のリアルタイム音声クローンTTSを行う場合に使う
まず動作確認をしたい場合は、0.6B-Base が使いやすいです。生成品質を重視する場合は、1.7B-Base を使います。
