🎉

Qwen3-TTSってなんだ?〜3秒の音声でボイスクローンできる最新AIを日本語版つくってみた〜

に公開

この記事の対象読者

  • Pythonの基本文法を理解している方
  • 音声合成(TTS)に興味があるが、まだ試したことがない方
  • ローカルでAI音声生成を動かしてみたい方
  • MacからWindowsに移行して、GPU環境を構築したばかりの方

この記事で得られること

  • Qwen3-TTSの概念と他のTTSとの違いの理解
  • 日本語GUIでQwen3-TTSを動かす環境構築手順
  • Whisperによる自動文字起こしを統合した効率的なワークフロー
  • RTX 5090(Blackwell)での動作確認済み設定

この記事で扱わないこと

  • Pythonの環境構築方法(conda/pipの基本)
  • CUDAドライバのインストール手順
  • 音声合成の理論的な詳細(Transformerアーキテクチャ等)

1. 「3秒で声をコピーできる」という衝撃

「え、たった3秒の音声で、その人の声をクローンできるの?」

Qwen3-TTSのデモを初めて見たとき、正直に言って鳥肌が立った。

私は最近、長年使っていたMacからWindows(RTX 5090搭載)に乗り換えた。理由は単純で、ローカルでAIをガンガン動かしたかったからだ。そんな中で出会ったのがQwen3-TTS。Alibaba CloudのQwenチームが2026年1月22日にオープンソースで公開した、最新の音声合成AIだ。

公式リポジトリを見てワクワクしたものの、GUIが英語/中国語のみ。しかも、ボイスクローン機能を使うには参照音声のテキストを手動で入力する必要がある。「これ、日本語で使いたいし、文字起こしも自動化したいな...」と思い、フォークを作ることにした。

ここまでで、Qwen3-TTSがどんな「衝撃」を持っているか、なんとなく伝わっただろうか。次は、この技術が何者なのか、もう少し詳しく見ていこう。


2. 前提知識の確認

本題に入る前に、この記事で使う用語を整理しておく。

TTS(Text-to-Speech)とは

テキストを音声に変換する技術のこと。「読み上げ機能」と言えばわかりやすいだろう。Siri、Googleアシスタント、Amazon Alexaなどが代表例だ。

ボイスクローン(Voice Clone)とは

特定の人物の声を学習し、その声質で任意のテキストを読み上げる技術。従来は数時間〜数十時間の音声データが必要だったが、Qwen3-TTSはわずか3秒で実現する。

Whisperとは

OpenAIが開発した音声認識(Speech-to-Text)モデル。音声ファイルからテキストを自動生成できる。faster-whisperはその高速化版で、CTranslate2を使って最大4倍高速に動作する。

これらの用語が押さえられたら、Qwen3-TTSの詳細に進もう。


3. Qwen3-TTSが生まれた背景

従来のTTSの限界

従来のTTSには、いくつかの課題があった。

課題 詳細
大量のデータが必要 ボイスクローンに数時間〜数十時間の音声データが必要
不自然な抑揚 感情表現が機械的で、人間らしさに欠ける
多言語対応の難しさ 言語ごとに別モデルが必要なケースが多い
リアルタイム性 遅延が大きく、対話システムに不向き

Qwen3-TTSの革新

Qwen3-TTSは、これらの課題を一気に解決した。

特徴 詳細
3秒でボイスクローン わずか3秒の参照音声で声質を再現
10言語対応 中国語、英語、日本語、韓国語、ドイツ語、フランス語、ロシア語、ポルトガル語、スペイン語、イタリア語
97msの超低遅延 リアルタイム対話に対応可能なストリーミング生成
感情・抑揚制御 自然言語での指示で感情表現をコントロール

背景がわかったところで、抽象的な概念から具体的な仕組みへと進んでいこう。


4. Qwen3-TTSの基本概念

4.1 モデルの種類

Qwen3-TTSには、用途に応じた複数のモデルが用意されている。

モデル 用途 パラメータ数
CustomVoice 9種類のプリセット音声 + 感情制御 0.6B / 1.7B
VoiceDesign 自然言語で声質を設計 1.7B
Base 3秒ボイスクローン 0.6B / 1.7B

4.2 アーキテクチャの特徴

Qwen3-TTSは、従来のLM+DiT(Diffusion Transformer)方式ではなく、離散マルチコードブックLMアーキテクチャを採用している。

従来方式: テキスト → LM → 中間表現 → DiT → 音声
Qwen3-TTS: テキスト → LM → 音声コード → デコーダ → 音声

これにより、情報のボトルネックやカスケードエラーを回避し、高品質な音声を効率的に生成できる。

4.3 Dual-Track ストリーミング

Qwen3-TTSの特筆すべき点は、1つのモデルでストリーミング/非ストリーミング両対応という点だ。入力1文字目から音声出力を開始でき、エンドツーエンドで97msという超低遅延を実現している。

基本概念が理解できたところで、これらの抽象的な仕組みを具体的なコードで実装していこう。


5. 実際に使ってみよう

5.1 日本語フォーク版の紹介

公式のQwen3-TTSは素晴らしいが、以下の点で日本人には使いづらい。

  • GUIが英語/中国語のみ
  • ボイスクローン時、参照音声のテキストを手動入力する必要がある

そこで、私が作成した日本語フォーク版を紹介する。

主な変更点:

  • GUIの完全日本語化: ラベル、ボタン、プレースホルダー、エラーメッセージ、免責事項すべてを日本語化
  • Whisper自動文字起こし機能: ボイスクローン時の参照音声テキスト入力を自動化(faster-whisperを使用)
  • Whisperモデル選択機能: 用途に応じて5種類のモデルから選択可能
Whisperモデル 特徴 パラメータ数
tiny 最速・最小 39M
base 高速 74M
small バランス型(デフォルト) 244M
medium 高精度 769M
large-v3 最高精度 1550M

5.2 動作環境

項目 要件
OS Windows 10/11(ネイティブ環境対応)
GPU NVIDIA GPU(CUDA対応、RTX 30シリーズ以降推奨)
Python 3.10以上
VRAM 8GB以上推奨(モデルサイズにより異なる)

5.3 インストール手順

以下の3種類の設定を用意した。用途に応じて選択してほしい。

開発環境用(基本セットアップ)

# リポジトリをクローン
git clone https://github.com/hiroki-abe-58/Qwen3-TTS-JP.git
cd Qwen3-TTS-JP

# 仮想環境の作成と有効化
python -m venv .venv
.venv\Scripts\activate

# 依存パッケージのインストール
pip install -e .

# Whisper(自動文字起こし用)
pip install faster-whisper

本番環境用(高速化オプション付き)

# リポジトリをクローン
git clone https://github.com/hiroki-abe-58/Qwen3-TTS-JP.git
cd Qwen3-TTS-JP

# 仮想環境の作成と有効化
python -m venv .venv
.venv\Scripts\activate

# 依存パッケージのインストール
pip install -e .

# FlashAttention 2(VRAM節約・高速化)
pip install flash-attn --no-build-isolation

# Whisper(自動文字起こし用)
pip install faster-whisper

Docker環境用

# Dockerfile
FROM nvidia/cuda:12.1-devel-ubuntu22.04

WORKDIR /app

RUN apt-get update && apt-get install -y \
    python3.12 python3-pip git \
    && rm -rf /var/lib/apt/lists/*

RUN git clone https://github.com/hiroki-abe-58/Qwen3-TTS-JP.git .
RUN pip install -e . faster-whisper

EXPOSE 8000
CMD ["python", "-m", "qwen_tts.demo", "--ip", "0.0.0.0", "--port", "8000"]

5.4 GUIの起動

# 日本語GUIを起動
python -m qwen_tts.demo Qwen/Qwen3-TTS-12Hz-1.7B-Base --ip 0.0.0.0 --port 8000

ブラウザで http://localhost:8000 を開くと、日本語GUIが表示される。

5.5 実行結果

上記のコマンドを実行すると、以下のような出力が得られる。

Loading model: Qwen/Qwen3-TTS-12Hz-1.7B-Base
Model loaded successfully.
Running on local URL:  http://0.0.0.0:8000

To create a public link, set `share=True` in `launch()`.

5.6 よくあるエラーと対処法

エラー 原因 対処法
CUDA out of memory GPUメモリ不足 0.6Bモデルを使用、またはFlashAttention 2を導入
Model not found モデル名の誤り Hugging Face Hubでモデル名を確認
faster-whisper not found Whisper未インストール pip install faster-whisper を実行
No module named 'qwen_tts' インストール未完了 pip install -e . を再実行

基本的な使い方をマスターしたので、次は応用的なユースケースを見ていこう。


6. ユースケース別ガイド

6.1 ユースケース1: YouTubeナレーション作成

想定読者: 動画クリエイター、解説動画を作りたい方
推奨構成: CustomVoice(1.7B)+ 感情制御

import torch
import soundfile as sf
from qwen_tts import Qwen3TTSModel

model = Qwen3TTSModel.from_pretrained(
    "Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice",
    device_map="cuda:0",
    dtype=torch.bfloat16,
)

# 落ち着いた解説ナレーション
wavs, sr = model.generate_custom_voice(
    text="本日は、最新のAI技術についてご紹介します。",
    language="Japanese",
    speaker="Ono_Anna",
    instruct="落ち着いた、プロフェッショナルな口調で",
)
sf.write("narration.wav", wavs[0], sr)

6.2 ユースケース2: ゲームキャラクターの声作成

想定読者: ゲーム開発者、同人ゲーム制作者
推奨構成: VoiceDesign(1.7B)で声質を設計

import torch
import soundfile as sf
from qwen_tts import Qwen3TTSModel

model = Qwen3TTSModel.from_pretrained(
    "Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign",
    device_map="cuda:0",
    dtype=torch.bfloat16,
)

# 元気な少女キャラクター
wavs, sr = model.generate_voice_design(
    text="やったー!レベルアップだ!",
    language="Japanese",
    instruct="14歳の元気な少女、明るくハキハキとした声、語尾が上がり気味",
)
sf.write("game_character.wav", wavs[0], sr)

6.3 ユースケース3: 自分の声のクローン

想定読者: ポッドキャスター、配信者
推奨構成: Base(1.7B)+ Whisper自動文字起こし

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,
)

# 自分の声(3秒の参照音声)をクローン
wavs, sr = model.generate_voice_clone(
    text="これは私の声をクローンしたAIが話しています。",
    language="Japanese",
    ref_audio="my_voice_sample.wav",  # 3秒の参照音声
    ref_text="こんにちは、テスト録音です。",  # Whisperで自動生成可能
)
sf.write("my_clone_voice.wav", wavs[0], sr)

ユースケースが把握できたところで、この記事を読んだ後の学習パスを確認しよう。


7. 学習ロードマップ

この記事を読んだ後、次のステップとして以下をおすすめする。

初級者向け(まずはここから)

  1. 日本語フォーク版でGUIを試す
  2. 公式Hugging Faceデモで遊ぶ

中級者向け(実践に進む)

  1. 自分のプロジェクトにAPIとして組み込む
  2. 公式ドキュメントでパラメータを理解する
  3. vLLMでの高速推論を試す

上級者向け(さらに深く)

  1. ファインチューニングで独自モデルを作成
  2. 技術レポートを読む(arXiv)
  3. 公式リポジトリにコントリビュートする

8. まとめ

この記事では、Qwen3-TTSについて以下を解説した。

  1. Qwen3-TTSとは: 3秒の音声でボイスクローンできる、Alibaba Cloud発の最新TTS
  2. 主な特徴: 10言語対応、97ms超低遅延、感情制御
  3. 日本語フォーク版: GUI日本語化 + Whisper自動文字起こし統合
  4. 実践的な使い方: 環境構築からユースケース別のコード例まで

私の所感

正直、Qwen3-TTSの登場でTTSの敷居が一気に下がったと感じている。従来は数時間の音声データと専門知識が必要だったボイスクローンが、3秒の音声とPythonスクリプト数行で実現できる。

一方で、この技術の悪用リスクも忘れてはならない。声の詐欺やディープフェイクへの悪用を防ぐため、公式も免責事項で注意喚起している。技術の恩恵を受けつつ、倫理的な使い方を心がけたい。

もし記事が参考になったら、ぜひGitHubリポジトリにスターをいただけると嬉しい。質問や改善提案もIssueで歓迎している。


参考文献

Discussion