1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qwenを使ってTTS(Text-To-Speech)を実現する

1
Posted at

はじめに

前回は、faster-whisperによる文字起こしを実現しました。

次はText-To-Speechを実現してみます。

環境構築

今の時代、コードは生成AIに頼めばよいのですが、環境構築は頑張って自分でする必要があります。

モデルの入手

ChatGPTに聞くと、Qwen3を進められました。

image.png

まずはお試しということで、一番小さいモデルのQwen3-TTS-12Hz-0.6B-CustomVoiceを入手します。

と言っても、Qwenをインストールして音声を作ると、初回に必要なモデルをダウンロードしてくれるので、特に「モデルのインストール」という作業は必要ありません。

仮想環境を作って、PyTouchと必要なモジュールをインストール。

> python -m venv .venv

> pip install torch torchaudio
> pip install -U qwen-tts
> pip install soundfile

そして、Ono_Annaで「こんにちは」と言ってもらうためのスクリプトを動かします(このコード自体もChatGPTに作ってもらっています)

hello.py
import torch
import soundfile as sf
from qwen_tts import Qwen3TTSModel

# 使用するモデル(軽量な0.6Bモデル)
MODEL = "Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice"

# GPUがない場合はCPUを使用
device = "cuda:0" if torch.cuda.is_available() else "cpu"
dtype = torch.float16 if device == "cuda:0" else torch.float32

print(f"実行デバイス: {device}")
print("モデルを読み込んでいます。初回はダウンロードに時間がかかります...")

model = Qwen3TTSModel.from_pretrained(
    MODEL,
    device_map=device,
    dtype=dtype,
)

print("音声を生成しています...")

wavs, sr = model.generate_custom_voice(
    text="こんにちは。これは、Qwen3-TTSによる日本語音声のテストです。",
    language="Japanese",
    speaker="Ono_Anna",
)

sf.write("hello.wav", wavs[0], sr)

print("生成完了: C:\\python\\_qwen\\hello.wav")

これで、無事に動きました。

その後

instructというプロパティを使うと「喋り方」をさらに望み通りにできるようで、モデルを1.7Bに変えるよりも良いらしいです。いろいろ試してみようと思います。

(おわり)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?