2026.03.16

音声生成AI「Qwen3-TTS」を検証してみた

導入

こんにちは!グループ研究開発本部 AI研究開発室 共同研究推進グループのA.T.です。

最近、LLMや画像生成AIのニュースを追うだけでも一苦労ですよね。しかし、実は音声生成AIの分野も負けず劣らず、凄まじいスピードで進化しているのをご存知でしょうか?

そんな中、2026年1月にAlibaba CloudのQwenチームから注目のモデルがオープンソース公開されました。それが「Qwen3-TTS」です。

なんとこのモデルは、「たった3秒のクリアな音声サンプル」を用意するだけで、その人の声質や話し方を忠実に再現できます。つまり、高品質なボイスクローンが追加学習なしで作成できてしまうのです。さらに、プロンプトだけで「楽しそうに話す関西弁の青年」のようなオリジナルの声を錬成する「Voice Design機能」まで搭載されています。

そこで本記事では、Qwen3-TTSの機能概要からローカル環境での動かし方、そして実際に生成した音声の精度や実用性までを一通りレポートしていきます。具体的には、環境構築の手順、Pythonコードの書き方、生成結果の比較までをカバーします。

1. Qwen3-TTSとは?改めてそのスゴさを解説

まずはハンズオンに入る前に、Qwen3-TTSの何がそんなに画期的なのかを整理しておきましょう。

1.1 ゼロショットで実現するボイスクローン

Qwen3-TTSは、Alibaba Cloudがオープンソースで公開したエンドツーエンドの音声合成(TTS)モデルです。最大の特長は、「ゼロショット(追加学習なし)」で高品質なボイスクローンができる点にあります。

従来のVITSなどのモデルでは、特定の声色を再現するのに数時間分の音声データが必要でした。加えて、ファインチューニング(追加学習)にも相当な時間とコンピューティングリソースがかかっていました。

一方で、Qwen3-TTSはたった3秒〜10秒程度のクリーンな参照音声を用意するだけで済みます。その参照音声から声質や抑揚を読み取り、さらには周囲の音響環境まで模倣して、任意のテキストを自然に読み上げてくれます。

1.2 従来モデルとの比較

ここで、従来の代表的なTTSモデルとQwen3-TTSの違いを簡単に比較してみましょう。

比較項目 従来モデル(VITS等) Qwen3-TTS
必要な参照音声 数時間〜数十時間 3秒〜10秒
追加学習 必須(ファインチューニング) 不要(ゼロショット)
対応言語 モデルごとに限定的 多言語対応(日本語含む)
Voice Design 非対応 プロンプトで声質を指定可能
ライセンス モデルによる オープンソース

このように、Qwen3-TTSは手軽さと精度の両面で大きなアドバンテージを持っています。そのため、個人の検証用途だけでなく、ビジネス活用の可能性も十分に感じられるモデルです。

2. 筆者の検証環境

続いて、今回の検証に使用した環境をご紹介します。推論速度の検証も兼ねて、最新のGPU環境でテストを行いました。

ローカルでQwen3-TTSを動かす場合、VRAMは最低でも8GB〜12GB程度あると安心です。ただし、今回はRTX 5090を使用しているため、メモリの心配は無用でした。その結果、サクサクと快適に検証を進めることができました。

項目 スペック
OS Ubuntu 22.04 LTS
GPU NVIDIA GeForce RTX 5090 (VRAM 32GB)
CUDA 12.8
Python 3.12

なお、RTX 3090やRTX 4090などのGPUでも、VRAMが24GB以上あれば十分に動作すると考えられます。もしVRAMが不足する場合は、dtype=torch.float16やモデルの量子化オプションを活用するとよいでしょう。

3. 環境構築:venvとWhisperの準備

それでは、早速環境を作っていきましょう。システム環境を汚さないよう、今回はuvを使って仮想環境を構築します。

3.1 仮想環境の作成と有効化

最初に、プロジェクト用のディレクトリを作成して仮想環境をセットアップします。

mkdir qwen3-tts && cd qwen3-tts
uv venv -p 3.12
source .venv/bin/activate

これで、Python 3.12ベースの隔離された仮想環境が用意できました。

3.2 必要なライブラリのインストール

次に、PyTorchやQwen-TTSを動かすためのライブラリ群をインストールします。ここで重要なのは、お使いのCUDAバージョンに合ったPyTorchを選ぶことです。今回はCUDA 12.8に対応したバージョンを指定しています。

# PyTorchのインストール (環境に合わせてURLは調整してください)
uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128

# 音声処理関連のライブラリ
uv pip install ffmpeg

もしCUDA 12.4環境の場合は、URLのcu128cu124に変更してください。

3.3 Whisper(medium)の準備

ゼロショットのボイスクローンを行う際には、「参照音声が何を喋っているか」をモデルに伝える必要があります。もちろん手動で文字起こしをしても構いません。しかし、作業を自動化するために、ここではOpenAIのWhisperを活用します。

uv pip install openai-whisper

Whisperにはtiny・base・small・medium・largeの5サイズがあります。今回は精度と速度のバランスが良いmediumモデルを採用しました。日本語の認識精度を最優先するなら、largeモデルを選ぶのも一つの手です。ただし、その分VRAMの消費量が増える点には注意が必要です。

4. 音声生成ハンズオン:いざ、ボイスクローン!

ここまでで環境が整いました。いよいよ、Pythonスクリプトを書いて実際に音声を生成してみましょう。

4.1 全体の流れ

処理の手順は、大きく以下の3ステップに分かれます。

  1. 参照音声の読み込みと、Whisperによる文字起こし
  2. Qwen3-TTSモデルのロード
  3. 参照音声+テキスト情報をもとに、新しい音声を生成

それぞれのステップについて、コードとあわせて詳しく見ていきます。

4.2 参照音声の準備

今回は、Macの標準録音機能を使って自分の声を収録し、そこから参照音声を作成しました。録音したMP3ファイルをそのまま使うのではなく、以下のffmpegコマンドでモノラル・24kHzのWAVファイルに変換しています。

ffmpeg -y -i input.mp3 -ac 1 -ar 24000 voice_sample.wav

各オプションの意味は次のとおりです。-ac 1でモノラルに変換し、-ar 24000でサンプリングレートを24kHzに統一しています。

こうして作成したvoice_sample.wavを、今回の参照音声として使用します。実際に使用した参照音声を以下に掲載しますので、ぜひ聞いてみてください。

参照音声サンプル(約10秒)

参照音声を選ぶ際のコツとして、以下の点に気をつけるとクローン精度が向上します。

  • ノイズが少ないクリーンな音声を選ぶ(BGMや環境音はNG)
  • できれば5秒〜10秒程度の長さがあるとベター
  • 話者の自然な口調が含まれていると、より忠実にクローンされる

4.3 Pythonコードの実装

generate_tts.pyというファイルを作成し、以下のコードを記述します。コメントで各ステップの役割を説明していますので、順番に読み進めてみてください。

import torch
import whisper
import soundfile as sf
from qwen_tts import Qwen3TTSModel

# ==========================================
# 1. Whisperで参照音声の文字起こし
# ==========================================
print("Loading Whisper model...")
whisper_model = whisper.load_model("medium")
ref_audio_path = "reference.wav"

print("Transcribing reference audio...")
result = whisper_model.transcribe(ref_audio_path, language="ja")
ref_text = result["text"]
print(f"Reference Text: {ref_text}")

# ==========================================
# 2. Qwen-TTSモデルのロード
# ==========================================
print("Loading Qwen-TTS model...")
model = Qwen3TTSModel.from_pretrained(
    "Qwen/Qwen3-TTS-12Hz-1.7B-Base",
    device_map="cuda:0",
    dtype=torch.float16,
    low_cpu_mem_usage=True,
    max_memory={0: "60GiB"},
)

# ==========================================
# 3. 音声の生成 (ボイスクローン)
# ==========================================
# 喋らせたい新しいテキスト
target_text = "ブログの読者の皆さん、こんにちは!この音声はQwenによって生成されています。いかがでしょうか?"

# プロンプトの構築(参照音声の特徴を使ってターゲットテキストを読むように指示)
wavs, sr = model.generate_voice_clone(
    text=target_text,
    language="Japanese",
    ref_audio=ref_audio_path,
    ref_text=ref_text,
)

# 出力された音声波形データを保存
sf.write("output_voice_clone.wav", wavs[0], sr)
print(f"Saved! Duration: {len(wavs[0])/sr:.1f}s, Sample rate: {sr}Hz")

4.4 コードのポイント解説

上記のコードで特に注目すべきポイントを補足します。

まず、Whisperの文字起こし部分では、language="ja"を明示的に指定しています。これを省略すると自動言語検出になりますが、短い音声では誤検出するケースがあります。そのため、日本語であることが分かっている場合は明示指定がおすすめです。

また、モデルロード時のdtype=torch.float16はVRAM節約のために重要です。float32に比べてメモリ使用量がおよそ半分になるため、特にVRAMが限られた環境では必須の設定といえます。

5. 実行結果と所感

スクリプトを実行すると、数秒〜十数秒で音声ファイルが出力されます。実際に生成されたoutput_voice_clone.wavを、ぜひ聞いてみてください。

Qwen3-TTSによる生成音声

5.1 クローン精度について

結論から言うと、控えめに言って驚愕のクオリティです。

参照音声の声の高さやかすれ具合が正確に再現されているのはもちろんのこと、「語尾の息の抜き方」といった細かいニュアンスまで見事にクローンされていました。特に驚いたのは、話すリズムやテンポまで元の話者に近い点です。

一方で、長文のテキストを読ませた場合には、イントネーションがやや不自然になる箇所も確認できました。とはいえ、3秒の参照音声からここまでの品質が出るのは、やはり大きなブレイクスルーだと感じます。

5.2 パイプラインとしての完成度

今回のように、Whisperを間に挟むことで手動での文字起こし作業が不要になります。そのため、「参照音声を用意する → スクリプトを実行する → 生成音声を得る」という一連のパイプラインが非常にシンプルにまとまっています。

また、Whisperの文字起こし精度も十分に高いため、パイプライン全体の精度を損なうことなく自動化できている点も好印象でした。

5.3 利用上の注意と倫理的配慮

Qwen3-TTSのようなボイスクローン技術は非常に強力である一方、利用には慎重な判断が求められます。

特に注意すべき点として、第三者の声を無断でクローンすることは、なりすましや詐欺に悪用されるリスクがあります。本人の同意なく声を複製・公開する行為は、肖像権・プライバシー権の侵害にあたる可能性もあります。検証目的であっても、使用する参照音声には必ず本人の許諾を得るようにしてください。

また、生成した音声をコンテンツとして公開する際は、「AI生成音声である」ことを明示することが、受け手への誠実な対応といえるでしょう。技術の可能性を探りながらも、倫理的な配慮を忘れずに活用していきましょう。

まとめ

本記事では、Alibaba Cloud発のオープンソース音声合成モデル「Qwen3-TTS」について、概要・環境構築・ハンズオン・生成結果までを一通り検証しました。改めてポイントを整理すると、以下のとおりです。

  • たった10秒の参照音声で高品質なボイスクローンが可能
  • 追加学習不要のゼロショット対応で、手軽に試せる
  • Whisperと組み合わせることで、文字起こしから音声生成まで自動化できる
  • Voice Design機能により、プロンプトだけで架空の声を設計することも可能
  • 一方で、長文での品質低下や倫理面への配慮も忘れずに

音声生成AIの進化スピードは、LLMや画像生成と比べても引けを取りません。今後のアップデートにも注目しながら、引き続きキャッチアップしていきたいと思います。

最後に

グループ研究開発本部 AI研究開発室では、データサイエンティスト/機械学習エンジニアを募集しています。ビッグデータの解析業務などAI研究開発室にご興味を持って頂ける方がいらっしゃいましたら、ぜひ募集職種一覧 からご応募をお待ちしています。

  • Twitter
  • Facebook
  • はてなブックマークに追加

グループ研究開発本部の最新情報をTwitterで配信中です。ぜひフォローください。

 
  • AI研究開発室
  • 大阪研究開発グループ

関連記事