見出し画像

Qwen3-TTS(クローン作成)

まずは下の音声を聞いてみてください。4種類の声のうち、1つだけ本物の私です。(答えはもう少し先で教えます。)

Qwen3-TTSをインストールする人の9割以上はクローン作成が目的なような気がしますが、私は中国語の音声教材を作るのが目的で、クローンにはあまり興味がありません。でも、そろそろ重い腰を上げてやってみようと思ったわけです。

そもそも、Qwen3-TTSで読み上げ音声を作るところまではやったのですが、あまりよく分かっておらず、今回はSeedとは何かGeminiに聞いたところから始まりました。

今まで一度もいじったことがなかったSeed値

QwenTTSの場合も、-1 設定は「実行するたびにシステムがランダムな Seed を生成して割り当てる」という挙動になります。そのため、おっしゃる通り、生成ボタンを押すたびにイントネーションやアクセントが変化します。

QwenTTSをより使いこなすためのポイントをまとめました。

1. 「当たり」の Seed を見つける方法
QwenTTSのような大規模言語モデルベースの音声合成は、Seed によって「息継ぎのタイミング」や「感情の乗り方」が劇的に変わることがあります。まずは -1 のまま何度か生成します。
「この喋り方が完璧だ!」と思ったら、出力ログ(コンソール画面や、UI上の表示)を確認してください。そこに表示されている数値(例:1234567)をコピーして、入力欄の -1 をその数値に書き換えます。これで、その喋り方が永久保存されます。

2. なぜ「固定」が重要なのか?
特に QwenTTS のようなモデルでは、以下のトラブルを防ぐために固定が推奨されます。長文のつなぎ合わせ: 1文目と2文目を別々に生成したとき、Seed が違うと「1文目は元気なのに、2文目は急にボソボソ喋る」といった不自然な境目ができるのを防げます。
再生成の恐怖: 「一文字だけ読み間違えたから修正して作り直したい」というとき、Seed が -1 だと、読み間違いは直っても全体の声色まで変わってしまい、動画編集などで使い物にならなくなることがあります。

3. 逆に -1 が便利なとき「ガチャ」を回すとき: AIの読み上げが不自然(機械的すぎる、またはアクセントがおかしい)な場合、Seed を変えるだけでコロッと直ることがあります。納得いくまで -1 で回し続けるのは有効な手段です。

ワンポイント・アドバイス: もし、特定のキャラクターとして一貫した声を出したいのであれば、早めに「お気に入りの Seed 値」をいくつかメモ帳などに控えておくのが、クオリティを安定させる一番の近道ですよ。

Geminiの回答

なるほど!そういうことだったのか!(気付くの遅すぎ…)

以前書いた記事に「Qwen3-TTSはプリセットのVoiceを選んでも、生成するごとに声が変化してしまいます」と書いたのですが、Seed値を指定することでこの問題は解決できそうです。(ただし、以前指摘した「最後の部分が生成しきれずに欠損してしまう」現象は今も起こるので、ダミーデータを入れる必要があります。)

ですから、「-1=AUTO」と書いてありますが、これは実際は「-1=ガチャ回し用」だったわけです。-1でガチャを回して、気に入った声が出来上がったら、そのSeed値をメモすればいいわけです。なるほど。(AI初心者なのでお許しください。)

もうひとつ分からなかったのがX-vectorです。

以前1回だけクローンを試した時に、このチェックを入れないと音声が生成されず、しかも生成された音声は元の音声と全然似ていなかったのです。これもGeminiに聞いてみました。

1. X-vectorとは?
「X-vector」は音声認識や音声合成の世界で使われる技術で、「声の特徴(声質、高さ、癖など)」を数値化したベクトルのことです。 通常、最新のAI(Qwenなど)は、テキストの内容と声の特徴を非常に複雑に計算してリッチな音声を作りますが、X-vectorモードはもっとシンプルに「この声の数値データ(ベクトル)だけを使って、サクッと音を出そう」という動き方をします。

2. 「only (no text needed)」の意味
通常の高品質モードでは、AIが「テキストの意味」を深く解読してから、それに合う感情や抑揚を乗せて喋ります。 対して、このモードは「テキストの意味を深く読み取らず、声の形(ベクトル)だけで出力する」という意味です。そのため、計算が非常に軽くなります。

Geminiの回答

ふむふむ。それでクローンなのに似ていなかったのか。

さらにもうひとつ、Reference Textに私は一度も何かを入力したことがないことに気付きました。

クローンを作ったのに似ていなかった理由の1つに、Reference Textが未入力なのもあるかもと思い、クローン元の音声(私の声)の文言を入力してみました。

『差不多先生傳』の冒頭部分です

これで、X-vector onlyのチェックを外した上でクローンを生成したところ、私の声に近い声がちゃんと生成されました。これが冒頭の音声ファイルの2番目の声です。ちなみに、1番目の声はクローン元の私のオリジナルの声です。

実際に読み上げさせたフレーズ

3番目の声はX-vector onlyのチェックを入れて、Seed値を-1にしたものです。

4番目の声はSeed値を-1にして何度かガチャを回して、私の声に近い値をメモし、その値で生成した声です。改めて、こちらに上と同じ音声を貼り付けておきます。

クローン元(私の声)→高品質クローン→Seed=-1→Seed値指定

改めて聞いてみると、声質は2番目の高品質クローンが本物にそっくりです。ただ、もっと長い文章を読み上げさせた時に、巻舌音が北方人風になっていて、強い違和感を感じました。単語の読み間違いも時々ありました。Seed=-1はもっさりしたキレのない中国語になってしまいました。意外と良かったのが最後のSeed値を指定したもので、長い文章でも読み間違えず、声質も私に近く、巻舌音も私と同じ感じでした。現時点ではX-vector onlyのチェックを入れて、Seed値を指定するのが実用的に感じました。以下は『差不多先生傳』全文を4番目の声で読ませたものです。(ちなみに、Qwen3-TTSは繁体字を読むのが苦手なようで、簡体字版を読ませました。)


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