見出し画像

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-tts

FlashAttention 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 を使います。

関連



いいなと思ったら応援しよう!