GPT-SoVITS-WebUI
パワフルなFew-Shot音声変換・音声合成 WebUI.
[](https://github.com/RVC-Boss/GPT-SoVITS)

[](https://www.python.org)
[](https://github.com/RVC-Boss/gpt-sovits/releases)
[](https://colab.research.google.com/github/RVC-Boss/GPT-SoVITS/blob/main/Colab-WebUI.ipynb)
[](https://lj1995-gpt-sovits-proplus.hf.space/)
[](https://hub.docker.com/r/xxxxrt666/gpt-sovits)
[](https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e)
[](https://rentry.co/GPT-SoVITS-guide#/)
[](https://github.com/RVC-Boss/GPT-SoVITS/blob/main/docs/en/Changelog_EN.md)
[](https://github.com/RVC-Boss/GPT-SoVITS/blob/main/LICENSE)
[**English**](../../README.md) | [**中文简体**](../cn/README.md) | **日本語** | [**한국어**](../ko/README.md) | [**Türkçe**](../tr/README.md)
---
## 推論速度
| Device | RTF | TTFB | Batch Size | Backend |
| :---------: | :---: | :----: | :--------: | :-------------------------: |
| RTX 5090 | 0.05 | 150 ms | 1 | Flash Attn Varlen CUDAGraph |
| RTX 4090 | 0.014 | UNK | 24 | Flash Attn Varlen CUDAGraph |
| RTX 4060 Ti | 0.07 | 460 ms | 1 | Flash Attn Varlen CUDAGraph |
| RTX 4060 Ti | 0.028 | UNK | 28 | Flash Attn Varlen CUDAGraph |
| Apple M4 | 0.21 | UNK | 1 | MLX Quantized Affined |
**ユーザーマニュアル: [简体中文](https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e) | [English](https://rentry.co/GPT-SoVITS-guide#/)**
## インストール
### テスト済みの環境
| Python Version | PyTorch Version | Device |
| :------------: | :-------------: | :-----------: |
| Python 3.10 | PyTorch 2.5.1 | CUDA 12.4 |
| Python 3.11 | PyTorch 2.5.1 | CUDA 12.4 |
| Python 3.11 | PyTorch 2.7.0 | CUDA 12.8 |
| Python 3.11 | PyTorch 2.8.0 | Apple Silicon |
| Python 3.10 | PyTorch 2.8.0 | CPU |
### Windows
Windows ユーザー: (Windows 10 以降でテスト済み)、[統合パッケージをダウンロード](https://huggingface.co/lj1995/GPT-SoVITS-windows-package/resolve/main/GPT-SoVITS-v3lora-20250228.7z?download=true)し、解凍後に _go-webui.bat_ をダブルクリックすると、GPT-SoVITS-WebUI が起動します.
### Linux
```bash
conda create -n GPTSoVits python=3.10
conda activate GPTSoVits
bash install.sh --device --source [--download-uvr5]
```
### macOS
**注: Mac で GPU を使用して訓練されたモデルは、他のデバイスで訓練されたモデルと比較して著しく品質が低下するため、当面は CPU を使用して訓練することを強く推奨します.**
以下のコマンドを実行してこのプロジェクトをインストールします:
```bash
conda create -n GPTSoVits python=3.10
conda activate GPTSoVits
bash install.sh --device --source [--download-uvr5]
```
### 手動インストール
#### 依存関係をインストールします
```bash
conda create -n GPTSoVits python=3.10
conda activate GPTSoVits
pip install -r extra-req.txt --no-deps
pip install -r requirements.txt
```
#### FFmpeg をインストールします
##### Conda ユーザー
```bash
conda activate GPTSoVits
conda install ffmpeg=7 -c conda-forge
```
##### Ubuntu/Debian ユーザー
```bash
sudo apt install ffmpeg=7
sudo apt install libsox-dev
```
##### Windows ユーザー
[ffmpeg.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffmpeg.exe) と [ffprobe.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffprobe.exe) をダウンロードし、GPT-SoVITS のルートフォルダに置きます
[Visual Studio 2017](https://aka.ms/vs/17/release/vc_redist.x86.exe) 環境をインストールしてください
##### MacOS ユーザー
```bash
brew install ffmpeg
```
### Docker を使用して GPT-SoVITS を実行
#### Docker イメージの選択
コードベースの更新が頻繁である一方、Docker イメージのリリースは比較的遅いため、以下を確認してください:
- [Docker Hub](https://hub.docker.com/r/xxxxrt666/gpt-sovits) で最新のイメージタグを確認してください
- 環境に合った適切なイメージタグを選択してください
- `Lite` とは、Docker イメージに ASR モデルおよび UVR5 モデルが**含まれていない**ことを意味します. UVR5 モデルは手動でダウンロードし、ASR モデルは必要に応じてプログラムが自動的にダウンロードします
- Docker Compose 実行時に、対応するアーキテクチャ (amd64 または arm64) のイメージが自動的に取得されます
- Docker Compose は現在のディレクトリ内の**すべてのファイル**をマウントします. Docker イメージを使用する前に、プロジェクトのルートディレクトリに移動し、**コードを最新の状態に更新**してください
- オプション:最新の変更を反映させるため、提供されている Dockerfile を使ってローカルでイメージをビルドすることも可能です
#### 環境変数
- `is_half`:半精度 (fp16) を使用するかどうかを制御します. GPU が対応している場合、`true` に設定することでメモリ使用量を削減できます
#### 共有メモリの設定
Windows (Docker Desktop) では、デフォルトの共有メモリサイズが小さいため、予期しない動作が発生する可能性があります. Docker Compose ファイル内の `shm_size` を (例:`16g`) に増やすことをおすすめします
#### サービスの選択
`docker-compose.yaml` ファイルには次の 2 種類のサービスが定義されています:
- `GPT-SoVITS-CU126` および `GPT-SoVITS-CU128`:すべての機能を含むフルバージョン
- `GPT-SoVITS-CU126-Lite` および `GPT-SoVITS-CU128-Lite`:依存関係を削減した軽量バージョン
特定のサービスを Docker Compose で実行するには、以下のコマンドを使用します:
```bash
docker compose run --service-ports
```
#### Docker イメージのローカルビルド
自分でイメージをビルドするには、以下のコマンドを使ってください:
```bash
bash docker_build.sh --cuda <12.6|12.8> [--lite]
```
#### 実行中のコンテナへアクセス (Bash Shell)
コンテナがバックグラウンドで実行されている場合、以下のコマンドでシェルにアクセスできます:
```bash
docker exec -it bash
```
## 事前訓練済みモデル
**`install.sh`が正常に実行された場合、No.1,2,3 はスキップしてかまいません.**
1. [GPT-SoVITS Models](https://huggingface.co/lj1995/GPT-SoVITS) から事前訓練済みモデルをダウンロードし、`GPT_SoVITS/pretrained_models` ディレクトリに配置してください.
2. [G2PWModel.zip(HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip(ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip) からモデルをダウンロードし、解凍して `G2PWModel` にリネームし、`GPT_SoVITS/text` ディレクトリに配置してください. (中国語 TTS のみ)
3. UVR5 (ボーカル/伴奏 (BGM 等) 分離 & リバーブ除去の追加機能) の場合は、[UVR5 Weights](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/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`もペアです.
4. 中国語 ASR (追加機能) の場合は、[Damo ASR Model](https://modelscope.cn/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/files)、[Damo VAD Model](https://modelscope.cn/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/files)、および [Damo Punc Model](https://modelscope.cn/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/files) からモデルをダウンロードし、`tools/asr/models` ディレクトリに配置してください.
5. 英語または日本語の ASR (追加機能) を使用する場合は、[Faster Whisper Large V3](https://huggingface.co/Systran/faster-whisper-large-v3) からモデルをダウンロードし、`tools/asr/models` ディレクトリに配置してください.また、[他のモデル](https://huggingface.co/Systran) は、より小さいサイズで高クオリティな可能性があります.
## データセット形式
TTS アノテーション .list ファイル形式:
```text
vocal_path|speaker_name|language|text
```
言語辞書:
- 'zh': 中国語
- 'ja': 日本語
- 'en': 英語
例:
```text
D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin.
```
## 微調整と推論
### WebUI を開く
#### 統合パッケージ利用者
`go-webui.bat`をダブルクリックするか、`go-webui.ps1`を使用します.
V1 に切り替えたい場合は、`go-webui-v1.bat`をダブルクリックするか、`go-webui-v1.ps1`を使用してください.
#### その他
```bash
python webui.py <言語(オプション)>
```
### 微調整
#### パス自動補完のサポート
1. 音声パスを入力する
2. 音声を小さなチャンクに分割する
3. ノイズ除去 (オプション)
4. ASR
5. ASR 転写を校正する
6. 次のタブに移動し、モデルを微調整する
### 推論 WebUI を開く
#### 統合パッケージ利用者
`go-webui-v2.bat`をダブルクリックするか、`go-webui-v2.ps1`を使用して、`1-GPT-SoVITS-TTS/1C-inference`で推論 webui を開きます.
#### その他
```bash
python -m GPT_SoVITS.inference_webui -b -p
```
または
```bash
python webui.py
```
その後、`1-GPT-SoVITS-TTS/1C-inference`で推論 webui を開きます.
## V2 リリースノート
新機能:
1. 韓国語と広東語をサポート
2. 最適化されたテキストフロントエンド
3. 事前学習済みモデルが 2 千時間から 5 千時間に拡張
4. 低品質の参照音声に対する合成品質の向上
[詳細はこちら]()
## V3 リリースノート
新機能:
1. 音色の類似性が向上し、ターゲットスピーカーを近似するために必要な学習データが少なくなりました (音色の類似性は、ファインチューニングなしでベースモデルを直接使用することで顕著に改善されます).
2. GPT モデルがより安定し、繰り返しや省略が減少し、より豊かな感情表現を持つ音声の生成が容易になりました.
[詳細情報はこちら]()
## V4 リリースノート
新機能:
1. **V4 は、V3 で発生していた非整数倍アップサンプリングによる金属音の問題を修正し、音声がこもる問題を防ぐためにネイティブに 48kHz 音声を出力します(V3 はネイティブに 24kHz 音声のみ出力)**. 作者は V4 を V3 の直接的な置き換えとして推奨していますが、さらなるテストが必要です.
[詳細はこちら]()
## V2Pro リリースノート
新機能:
1. **V2 と比較してやや高いメモリ使用量ですが、ハードウェアコストと推論速度は維持しつつ、V4 よりも高い性能と音質を実現します.**
[詳細はこちら]()
2. V1/V2 と V2Pro シリーズは類似した特徴を持ち、V3/V4 も同様の機能を持っています. 平均音質が低いトレーニングセットの場合、V1/V2/V2Pro は良好な結果を出すことができますが、V3/V4 では対応できません. また、V3/V4 の合成音声はトレーニング全体ではなく、より参考音声に寄った音質になります.
V1/V2/V3/V4 環境から V2Pro への移行方法:
1. `pip install -r requirements.txt` を実行して一部の依存パッケージを更新してください.
2. GitHub から最新のコードをクローンします.
3. [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main) から V2Pro の事前学習済みモデル (`v2Pro/s2Dv2Pro.pth`, `v2Pro/s2Gv2Pro.pth`, `v2Pro/s2Dv2ProPlus.pth`, `v2Pro/s2Gv2ProPlus.pth`, および `sv/pretrained_eres2netv2w24s4ep4.ckpt`) をダウンロードし、`GPT_SoVITS/pretrained_models` ディレクトリへ配置してください.
## Todo リスト
- [x] **優先度 高:**
- [x] 日本語と英語でのローカライズ.
- [x] ユーザーガイド.
- [x] 日本語データセットと英語データセットのファインチューニングトレーニング.
- [ ] **機能:**
- [x] ゼロショット音声変換 (5 秒) /数ショット音声変換 (1 分).
- [x] TTS スピーキングスピードコントロール.
- [ ] ~~TTS の感情コントロールの強化.~~
- [ ] SoVITS トークン入力を語彙の確率分布に変更する実験.
- [x] 英語と日本語のテキストフロントエンドを改善.
- [ ] 小型と大型の TTS モデルを開発する.
- [x] Colab のスクリプト.
- [ ] トレーニングデータセットを拡張する (2k→10k).
- [x] より良い sovits ベースモデル (音質向上)
- [ ] モデルミックス
## (追加の) コマンドラインから実行する方法
コマンド ラインを使用して UVR5 の WebUI を開きます
```bash
python tools/uvr5/webui.py ""
```
コマンド ラインを使用してデータセットのオーディオ セグメンテーションを行う方法は次のとおりです.
```bash
python audio_slicer.py \
--input_path "" \
--output_root "" \
--threshold \
--min_length \
--min_interval
--hop_size
```
コマンドラインを使用してデータセット ASR 処理を行う方法です (中国語のみ)
```bash
python tools/asr/funasr_asr.py -i -o