Qwen3-TTSに自分の声でしゃべらせる

Qwen3-TTSというテキストto音声モデルが出ていて、どうせ日本語はしゃべれんのだろう?って思ってたけど案外しゃべれるし、自分の音声のクローンもできるようなので、試してみました。
Qwen3-TTS Family is Now Open Sourced: Voice Design, Clone, and Generation!

手順などはGitHubに。
https://github.com/QwenLM/Qwen3-TTS

基本的にはpip installするだけ

pip install -U qwen-tts

GPU対応でPyTorchを使うなら--upgrade --force-reinstalを付けてインストールする必要があります。
https://pytorch.org/get-started/locally/

flash-attnを入れたほうがいいということだけど、Windowsなのであきらめ。

pip install -U flash-attn --no-build-isolation

※ 追記 次の3点を行うことでインストールできましたが、生成時間に違いはなかったのでわざわざ入れなくてもいいと思う。

  • regedit でHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemLongPathsEnabledを1に
  • set DISTUTILS_USE_SDK=1
  • Developer Command Prompt for VS2022を使う

flash_attnをWindowsにインストールするためにやったこと - きしだのHatena

あと、SoXがないよと言ってくるのでインストールしてパスを通したらエラーになりました。これもいらない。

CustomVoiceモデルで話者や話し方を指定

デモがあるので起動。デフォルトではflash-attnを使うようになってるので、使わないようにする。
macの場合は--device mpsをつける必要があります。

qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --port 8800 --no-flash-attn

話者を選べるけど、Ono Annaが日本語ネイティブ。

Eric(四川訛りの中国語)やSohee(韓国語)をえらぶと、それっぽい訛りの日本語になる。RyanやAidenは英語ネイティブということだけど、割と自然な日本語になってた。

Baseモデルで音声クローン

Baseモデルを選ぶと、音声クローンがつくれる。

qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-Base --port 8800 --no-flash-attn

UIも変わって、リファレンス音声とその書き起こしを指定するようになっている。

自分の声なんだけど、こんなハキハキとはしゃべれないな。

※追記 リファレンスの音声でなるべく多くの音素が入るようにすると、もっと自然になりました。

ここでは次の文を読み上げ。カ、サ、タ、ハ、パ行といった無声子音と長音、促音、撥音が入るようにしてます。

今日はとても晴れた日で、風は少し冷たく感じます。
朝はパンとコーヒーを用意して、ゆっくりニュースを読みました。

英語でしゃべったのをリファレンスにすると、自分よりうまく英語を話すように。

リファレンスはサンプルコードにあったこれ

Okay. Yeah. I resent you. I love you. I respect you. But you know what? You blew it! And thanks to you.

Voice Designモデル

VoiceDesignモデルを選ぶと、声質を指定できるみたい。

qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-Base --port 8800 --no-flash-attn

UIも変わる。

female voiceを指定するとアニメ声になった。