
GPT-SoVITS ゼロショットで多言語TTS(テキスト合成音声)を試してみる
GPT-SoVITSというゼロショット TTS(テキスト合成音声)ができるOSSが公開されたので試してみました。
1. GPT-SoVITS
GPT-SoVITSには下記の特徴があります。
ゼロショットTTS
5秒間のボーカルサンプルを入力し、即時のテキストから音声への変換
フューショットTTS
わずか1分のトレーニングデータでモデルを微調整し、声の類似性とリアリズムを向上
クロスリンガルサポート
トレーニングデータセットとは異なる言語での推論をサポートし、現在は英語、日本語、中国語に対応
WebUIツール
統合されたツールには、声の伴奏分離、自動トレーニングセットセグメンテーション、中国語ASR、テキストラベリングが含まれており、トレーニングデータセットやGPT/SoVITSモデルの作成をサポート
2. セットアップ
公式のREADMEを確認して、セットアップを行います。
Windowsユーザーであれば、下記のリンクから全部がバンドルされた圧縮ファイルが用意されているので、そちらのダウンロードがおすすめです。
ダウンロードが完了したら、go-webui.batをダブルクリックで起動します。起動するとブラウザが開いて下記のUIが表示されるはずです。

もしUIの文字が中国語だった場合は、https://github.com/RVC-Boss/GPT-SoVITS/blob/main/i18n/locale/ja_JP.json をダウンロードして/i18n/localeに配置してください。UIが日本語になるはずです。
3. ゼロショット TTSを試す
それでは早速ゼロショットTTSを試してみます。まずはUIのTopページから下記の手順でTTSのページを開きます。
1-GPT-SoVITS-TTSのタブを選択
1-GPT-SoVITS-TTSのタブ内の1C-推論のタブを選択
1C-推論のタブ内の「TTS推理WebUIを開始しますか」にチェック
しばらくすると別のURLでTTSのページが自動的に開かれます。

TTSのページが開いたら下記の手順でゼロショットTTSを実行してみましょう!
好きな音声ファイルをアップロード
参考音声のテキストに音声ファイルに含まれるテキストを入力
参考言語を日本語であれば日文を選択
合成するテキストには合成したいテキストの入力
合成する言語を選択
音声合成のボタンを押して合成音声!しばらくすると合成音声が出力されるはずです。
日本語の音声をアップロードした場合でも、中国語、英語での合成音声もできるので、ぜひ試してみてください!

GPT-SoVITS
— よしかい (@yoshikai_man) January 17, 2024
を検証しました。
一個の音声ファイルでゼロショットTTSを試してます。
元の音声: つくよみちゃんコーパス
UIが中国語なので使い方が間違っているかもしれないですが、元音声ファイルと元音声のセリフ、合成したいセリフ渡すと音声合成できるみたいです。
RTX… pic.twitter.com/UYJG4305WZ
GPT-SoVITSの日本語化記念に、つくよみちゃんの音声でゼロショットTTS
— よしかい (@yoshikai_man) January 23, 2024
試しに中国語と英語で試したけど、普通に発音してびっくり、事前学習モデルに英語と中国語が含まれているからだろうけど、ゼロショットTTSでここまで出来るのか・・・
デモの動画は
元の日本語音声 → 中国語(TTS) →… pic.twitter.com/OgObiUBhPs