Zero-Shot TTS: たった 5 秒間の音声サンプルで、即座にテキストからその音声に変換できます.
Few-Shot TTS: わずか 1 分間のトレーニングデータでモデルを微調整し、音声のクオリティを向上.
多言語サポート: 現在、英語、日本語、韓国語、広東語、中国語をサポートしています.
WebUI ツール: 統合されたツールは、音声と伴奏 (BGM 等) の分離、トレーニングセットの自動セグメンテーション、ASR (中国語のみ)、テキストラベリング等を含むため、初心者の方でもトレーニングデータセットの作成や GPT/SoVITS モデルのトレーニング等を非常に簡単に行えます.
デモ動画をチェック!
声の事前学習無しかつ Few-Shot でトレーニングされたモデルのデモ:
https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-80c060ab47fb
| Python Version | PyTorch Version | Device |
|---|---|---|
| Python 3.9 | PyTorch 2.0.1 | CUDA 11.8 |
| Python 3.10.13 | PyTorch 2.1.2 | CUDA 12.3 |
| Python 3.10.17 | PyTorch 2.5.1 | CUDA 12.4 |
| Python 3.9 | PyTorch 2.5.1 | Apple silicon |
| Python 3.11 | PyTorch 2.6.0 | Apple silicon |
| Python 3.9 | PyTorch 2.2.2 | CPU |
Windows ユーザー: (Windows 10 以降でテスト済み)、統合パッケージをダウンロードし、解凍後に go-webui.bat をダブルクリックすると、GPT-SoVITS-WebUI が起動します.
conda create -n GPTSoVits python=3.9
conda activate GPTSoVits
bash install.sh --source <HF|HF-Mirror|ModelScope> [--download-uvr5]
注: Mac で GPU を使用して訓練されたモデルは、他のデバイスで訓練されたモデルと比較して著しく品質が低下するため、当面は CPU を使用して訓練することを強く推奨します.
xcode-select --install を実行して、Xcode コマンドラインツールをインストールします.conda create -n GPTSoVits python=3.9
conda activate GPTSoVits
bash install.sh --source <HF|HF-Mirror|ModelScope> [--download-uvr5]
conda install ffmpeg
sudo apt install ffmpeg
sudo apt install libsox-dev
conda install -c conda-forge 'ffmpeg<7'
ffmpeg.exe と ffprobe.exe をダウンロードし、GPT-SoVITS のルートフォルダに置きます.
brew install ffmpeg
pip install -r extra-req.txt --no-deps
pip install -r requirementx.txt
イメージのタグについて: コードベースの更新が速い割に、イメージのパッケージングとテストが遅いため、Docker Hub(古いバージョン) で現在パッケージされている最新のイメージをご覧になり、ご自身の状況に応じて選択するか、またはご自身のニーズに応じて Dockerfile を使用してローカルでビルドしてください.
環境変数:
is_half: 半精度/倍精度の制御."SSL 抽出"ステップ中に4-cnhubert/5-wav32kディレクトリ内の内容が正しく生成されない場合、通常これが原因です.実際の状況に応じて True または False に調整してください.ボリューム設定: コンテナ内のアプリケーションのルートディレクトリは/workspaceに設定されます.デフォルトのdocker-compose.yamlには、アップロード/ダウンロードの内容の実例がいくつか記載されています.
shm_size: Windows の Docker Desktop のデフォルトの利用可能メモリは小さすぎるため、うまく動作しない可能性があります.状況に応じて適宜設定してください.
deployセクションの GPU に関連する内容は、システムと実際の状況に応じて慎重に設定してください.
docker compose -f "docker-compose.yaml" up -d
上記と同様に、実際の状況に基づいて対応するパラメータを変更し、次のコマンドを実行します:
docker run --rm -it --gpus=all --env=is_half=False --volume=G:\GPT-SoVITS-DockerTest\output:/workspace/output --volume=G:\GPT-SoVITS-DockerTest\logs:/workspace/logs --volume=G:\GPT-SoVITS-DockerTest\SoVITS_weights:/workspace/SoVITS_weights --workdir=/workspace -p 9880:9880 -p 9871:9871 -p 9872:9872 -p 9873:9873 -p 9874:9874 --shm-size="16G" -d breakstring/gpt-sovits:xxxxx
install.shが正常に実行された場合、No.1,2,3 はスキップしてかまいません.
GPT-SoVITS Models から事前訓練済みモデルをダウンロードし、GPT_SoVITS/pretrained_models ディレクトリに配置してください.
G2PWModel.zip(HF)| G2PWModel.zip(ModelScope) からモデルをダウンロードし、解凍して G2PWModel にリネームし、GPT_SoVITS/text ディレクトリに配置してください. (中国語 TTS のみ)
UVR5 (ボーカル/伴奏 (BGM 等) 分離 & リバーブ除去の追加機能) の場合は、UVR5 Weights からモデルをダウンロードし、tools/uvr5/uvr5_weights ディレクトリに配置してください.
UVR5 で bs_roformer または mel_band_roformer モデルを使用する場合、モデルと対応する設定ファイルを手動でダウンロードし、tools/UVR5/UVR5_weightsフォルダに配置することができます.モデルファイルと設定ファイルの名前は、拡張子を除いて同じであることを確認してください.さらに、モデルと設定ファイルの名前には**「roformer」が含まれている必要があります**.これにより、roformer クラスのモデルとして認識されます.
モデル名と設定ファイル名には、直接モデルタイプを指定することをお勧めします.例: mel_mand_roformer、bs_roformer.指定しない場合、設定文から特徴を照合して、モデルの種類を特定します.例えば、モデルbs_roformer_ep_368_sdr_12.9628.ckptと対応する設定ファイルbs_roformer_ep_368_sdr_12.9628.yamlはペアです.同様に、kim_mel_band_roformer.ckptとkim_mel_band_roformer.yamlもペアです.
中国語 ASR (追加機能) の場合は、Damo ASR Model、Damo VAD Model、および Damo Punc Model からモデルをダウンロードし、tools/asr/models ディレクトリに配置してください.
英語または日本語の ASR (追加機能) を使用する場合は、Faster Whisper Large V3 からモデルをダウンロードし、tools/asr/models ディレクトリに配置してください.また、他のモデル は、より小さいサイズで高クオリティな可能性があります.
TTS アノテーション .list ファイル形式:
vocal_path|speaker_name|language|text
言語辞書:
例:
D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin.
go-webui.batをダブルクリックするか、go-webui.ps1を使用します.
V1 に切り替えたい場合は、go-webui-v1.batをダブルクリックするか、go-webui-v1.ps1を使用してください.
python webui.py <言語(オプション)>
V1 に切り替えたい場合は
python webui.py v1 <言語(オプション)>
または WebUI で手動でバージョンを切り替えてください.
1. 音声パスを入力する
2. 音声を小さなチャンクに分割する
3. ノイズ除去 (オプション)
4. ASR
5. ASR転写を校正する
6. 次のタブに移動し、モデルを微調整する
go-webui-v2.batをダブルクリックするか、go-webui-v2.ps1を使用して、1-GPT-SoVITS-TTS/1C-inferenceで推論 webui を開きます.
python GPT_SoVITS/inference_webui.py <言語(オプション)>
または
python webui.py
その後、1-GPT-SoVITS-TTS/1C-inferenceで推論 webui を開きます.
新機能:
韓国語と広東語をサポート
最適化されたテキストフロントエンド
事前学習済みモデルが 2 千時間から 5 千時間に拡張
低品質の参照音声に対する合成品質の向上
V1 環境から V2 を使用するには:
pip install -r requirements.txtを使用していくつかのパッケージを更新
最新のコードを github からクローン
huggingfaceから V2 の事前学習モデルをダウンロードし、それらをGPT_SoVITS\pretrained_models\gsv-v2final-pretrainedに配置
中国語 V2 追加: G2PWModel.zip(HF)| G2PWModel.zip(ModelScope) (G2PW モデルをダウンロードし、解凍してG2PWModelにリネームし、GPT_SoVITS/textに配置します)
新機能:
音色の類似性が向上し、ターゲットスピーカーを近似するために必要な学習データが少なくなりました (音色の類似性は、ファインチューニングなしでベースモデルを直接使用することで顕著に改善されます).
GPT モデルがより安定し、繰り返しや省略が減少し、より豊かな感情表現を持つ音声の生成が容易になりました.
v2 環境から v3 を使用する方法:
pip install -r requirements.txt を実行して、いくつかのパッケージを更新します.
GitHub から最新のコードをクローンします.
v3 の事前学習済みモデル (s1v3.ckpt、s2Gv3.pth、models--nvidia--bigvgan_v2_24khz_100band_256x フォルダ) をHuggingface からダウンロードし、GPT_SoVITS\pretrained_models フォルダに配置します.
追加: 音声超解像モデルについては、ダウンロード方法を参照してください.
優先度 高:
機能:
コマンド ラインを使用して UVR5 の WebUI を開きます
python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5>
コマンド ラインを使用してデータセットのオーディオ セグメンテーションを行う方法は次のとおりです.
python audio_slicer.py \
--input_path "<path_to_original_audio_file_or_directory>" \
--output_root "<directory_where_subdivided_audio_clips_will_be_saved>" \
--threshold <volume_threshold> \
--min_length <minimum_duration_of_each_subclip> \
--min_interval <shortest_time_gap_between_adjacent_subclips>
--hop_size <step_size_for_computing_volume_curve>
コマンドラインを使用してデータセット ASR 処理を行う方法です (中国語のみ)
python tools/asr/funasr_asr.py -i <input> -o <output>
ASR 処理は Faster_Whisper を通じて実行されます(中国語を除く ASR マーキング)
(進行状況バーは表示されません.GPU のパフォーマンスにより時間遅延が発生する可能性があります)
python ./tools/asr/fasterwhisper_asr.py -i <input> -o <output> -l <language> -p <precision>
カスタムリストの保存パスが有効になっています
特に以下のプロジェクトと貢献者に感謝します:
@Naozumi520 さん、広東語のトレーニングセットの提供と、広東語に関する知識のご指導をいただき、感謝申し上げます.