見出し画像

Qwen3-TTSをWindowsで導入して、自分の声で喋らせる方法。会話テキストを一括で音声ファイル化できる。

こんにちは。 最近話題のオープンソースTTS(テキスト読み上げ)モデル「Qwen3-TTS」を、自分のPCで動かしてみたくて試行錯誤したので、その手順をまとめました。

Qwen3-TTSは、わずか3秒程度でも、自分の声(または好きな声)をアップロードするだけで、その声で任意の文章を喋らせられる非常に高性能なモデルです。 特にVoice Cloning(声のクローン)性能が優秀で、YouTubeのナレーションなどに使えそうです。

今回はWindows環境でGPU(RTXシリーズ)を使って動かす方法を解説します。

おまけ1にAとBのそれぞれを個別に音声ファイル化するプログラム。
おまけ2にAとBの会話を1個の音声ファイル化するプログラム。


1.必要なもの

  • Windows 10 / 11(64bit)

  • NVIDIA GPU(RTXシリーズ推奨)

  • 最新のNVIDIAドライバ(Studio Driver推奨)

  • インターネット接続(モデルダウンロードで数GB必要)


GPUが使えるか確認する方法
PowerShellを開いて以下を実行:

nvidia-smi

GPUの名前とCUDAバージョンが表示されればOKです。


2.Python環境の作成

  1. Python 3.10または3.12をインストール

  2. https://www.python.org/downloads/ から最新版をダウンロード

  3. インストール時に「Add Python to PATH」に必ずチェック

  4. PowerShellを開き、仮想環境を作成

PowerShell

# 仮想環境作成
python -m venv qwen3-tts

# 仮想環境に入る
.\qwen3-tts\Scripts\activate

(以降のコマンドは必ずこの仮想環境内で実行してください)


3.PyTorch(CUDA対応版)のインストール

重要:Blackwell世代GPU(RTX 50シリーズなど)をお使いの方は、通常のPyTorchでは動かない場合があります。

その場合は「nightly版 + cu128」をインストールしてください。


通常のRTX 30/40シリーズの場合

PowerShell

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121


Blackwell(RTX50シリーズ Blackwellなど)の場合

PowerShell

pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128


インストール後、GPUが使えるか確認:

PowerShell

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

True とGPU名が出れば成功です。


4.Qwen3-TTS本体のインストール

PowerShell

pip install qwen-tts

これで必要なライブラリがすべて入ります。


5.参照音声を使ったVoice Cloningスクリプトの作成

以下のスクリプトをvoice_clone.pyという名前でデスクトップなどに保存してください。

  • ref_audio:自分の声のwavファイル(3〜10秒程度が最適)

  • ref_text:そのwavで話している内容を正確に書き写す(これが重要!)

  • text_to_speak:喋らせたい文章


6.実際に音声を生成してみる

1.仮想環境に入る

PowerShell

.\qwen3-tts\Scripts\activate

2.スクリプト実行

PowerShell

python C:\Users\ユーザー名\Desktop\voice_clone.py

数秒〜数十秒待つと、output.wav がデスクトップにできます。
再生して自分の声で喋っているのを確認してください!


7.よくあるエラーと対処法

  • Torch not compiled with CUDA enabled → PyTorchをCPU版でインストールしてしまった。手順3をやり直し。

  • Unsupported languages: ['ja'] → language="japanese" に変更

  • Unsupported speakers → Baseモデルを使い、generate_voice_clone を使う

  • 音質が悪い・似ていない → ref_textを正確に書き写す → 参照音声をクリアでノイズのないものにする → instruct文を工夫する


8.おまけのプログラム1

こっちのプログラムのほうが需要が高いと思ったので、アップロードさせてもらいます。主に、2人での会話用です。

例えば、最初に5秒程度、ドラゴンボールの孫悟空とベジータの声真似すれば、テキストを入力するだけで、ずっと音声生成できるという感じです。

プログラムの変更箇所は、11行目から19行目付近だけです。20行と21行は男性に変更してもいいかも。

どういうことかと言うと、
音声Aにドラゴンボールの孫悟空の声を設定すれば、テキストAに書き込んだ内容を孫悟空の声で喋ってもらえます。
音声Bにドラゴンボールのベジータの声を設定すれば、テキストBに書き込んだ内容をベジータの声で喋ってもらえます。

具体的な手順として、
1.voice_a.wavは音声ファイルで、孫悟空の真似をして録音します。
2.『ここに、Aさんの音声に関するセリフ内容を入れます。』を削除して、音声ファイル(voice_a.wav)の文字起こしをして、保存します。
3.dialogue_a.txtはテキストファイルで、孫悟空に喋らせたい内容を書き込みます。

bの方も同様にします。
(出力先のフォルダのパス)はデスクトップにあるフォルダを指定すればいいと思います。

そのあと、この音声生成プログラムを実行すると、指定したフォルダに音声ファイルが2個出てきます。

  • skit_a.wav(Aの声で喋るセリフ)

  • skit_b.wav(Bの声で喋るセリフ)


ファイルのパスについて

デスクトップ画面

ファイル内容に、
"C:\(音声のパス)\voice_a.wav"
と書いてあると思います。

これは、通常であれば、
"C:\Users\son_goku\Desktop\voice_a.wav"
という感じになると思います。

マウスの右クリックで、パスのコピーをすると、パスを取得できます。

音声を録音して、デスクトップなどに保存したあと、パスをコピーして、そのパスをプログラムのファイルに貼り付ければいいと思います。


プログラムの変更箇所

コードの参考例

パスの入力個所は5個あり、
AとBの音声で2個、AとBのテキストで2個、出力先フォルダで1個
となります。

テキストの入力個所は2個あり、
AとBの音声に関するセリフを入れます。

以上により、7個は最初に設定すれば、変更しないでOKとなります。

あとは、喋らせたいセリフを『dialogue_a.txt』と『dialogue_b.txt』に書くだけです。

2分程度の音声までなら大丈夫だと思いますが、長いテキストだとエラーが出るかもしれません。


9.おまけのプログラム2

これは、1個のテキストファイルにAとBのセリフを書いたら、順番に音声を生成して、1個の音声にするプログラムです。

例えば、テキストファイル(dialogue.txt)に
A「オッス、オラ悟空」
B「ベジータだ」
A「オラのYouTubeチャンネルがBANされたぞ!」
B「ダニィ」
A「バ〇ヤロー!」
と書いたら、この順番で統合されて、1個の音声ファイルができます。

注意点として、
セリフを「」で囲むことと、「」の前にAかBを書かないと判定できません。

おまけ1と手順はほぼ一緒です。

デスクトップに
short_skit_final.wav
というファイルが出力されたらOKです。


感想

最近、Youtubeなどで、ゆっくり系やずんだもん系の動画収益をBANされる人が結構いるらしく、少しは需要があるかなと思いアップロードしてみました。

自分の声を複製したら、大丈夫だろうから、できるだけ声真似すればいいんじゃないかと思います。

今回の記事は、あんまり見る人がいないと思っていたら、割と見ている人がいたので、おまけのプログラムを作ってみました。

初心者の方は、パスの設定がわかんないかもしれないので、AIにソースを丸投げすれば、なんとかできると思います。

今回は、自分でプログラムのソースコードの一部を変更しないといけないのが面倒だと思います。

おそらく、CUDAの設定がうまくいっていれば、大丈夫だと思います。

以上、よろしくお願いします。


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