Update Docs and fix bugs

This commit is contained in:
XXXXRT666 2025-05-01 13:19:15 +01:00
parent d3176bc50e
commit b2096b88f8
8 changed files with 338 additions and 186 deletions

View File

@ -241,7 +241,7 @@ jobs:
run: | run: |
sudo apt-get update && sudo apt-get install -y jq sudo apt-get update && sudo apt-get install -y jq
TOKEN=$(curl -s -u $DOCKER_HUB_USERNAME:$DOCKER_HUB_TOKEN" \ TOKEN=$(curl -s -u $DOCKER_HUB_USERNAME:$DOCKER_HUB_TOKEN \
"https://auth.docker.io/token?service=registry.docker.io&scope=repository:xxxxrt666/gpt-sovits:pull,push,delete" \ "https://auth.docker.io/token?service=registry.docker.io&scope=repository:xxxxrt666/gpt-sovits:pull,push,delete" \
| jq -r .token) | jq -r .token)

View File

@ -42,8 +42,9 @@ EXPOSE 9871 9872 9873 9874 9880
ENV PYTHONPATH="/workspace/GPT-SoVITS" ENV PYTHONPATH="/workspace/GPT-SoVITS"
RUN conda init bash && echo "conda activate base" >> ~/.bashrc
CMD ["/bin/bash", "-c", "\ CMD ["/bin/bash", "-c", "\
source $HOME/anaconda3/etc/profile.d/conda.sh && \
rm -rf /workspace/GPT-SoVITS/GPT_SoVITS/pretrained_models && \ rm -rf /workspace/GPT-SoVITS/GPT_SoVITS/pretrained_models && \
rm -rf /workspace/GPT-SoVITS/tools/asr/models && \ rm -rf /workspace/GPT-SoVITS/tools/asr/models && \
rm -rf /workspace/GPT-SoVITS/tools/uvr5/uvr5_weights && \ rm -rf /workspace/GPT-SoVITS/tools/uvr5/uvr5_weights && \

View File

@ -45,14 +45,14 @@ For users in China, you can [click here](https://www.codewithgpu.com/i/RVC-Boss/
### Tested Environments ### Tested Environments
| Python Version | PyTorch Version | Device | | Python Version | PyTorch Version | Device |
|----------------|------------------|-----------------| | -------------- | ---------------- | -------------------- |
| Python 3.9 | PyTorch 2.0.1 | CUDA 11.8 | | Python 3.9 | PyTorch 2.0.1 | CUDA 11.8 |
| Python 3.10.13 | PyTorch 2.1.2 | CUDA 12.3 | | Python 3.10.13 | PyTorch 2.1.2 | CUDA 12.3 |
| Python 3.10.17 | PyTorch 2.5.1 | CUDA 12.4 | | Python 3.10.17 | PyTorch 2.5.1 | CUDA 12.4 |
| Python 3.9 | PyTorch 2.8.0dev | CUDA12.8 (for sm120) |
| Python 3.9 | PyTorch 2.5.1 | Apple silicon | | Python 3.9 | PyTorch 2.5.1 | Apple silicon |
| Python 3.11 | PyTorch 2.6.0 | Apple silicon | | Python 3.11 | PyTorch 2.6.0 | Apple silicon |
| Python 3.9 | PyTorch 2.2.2 | CPU | | Python 3.9 | PyTorch 2.2.2 | CPU |
| Python 3.9 | PyTorch 2.8.0dev | CUDA12.8(for Nvidia50x0) |
### Windows ### Windows
@ -118,29 +118,51 @@ pip install -r extra-req.txt --no-deps
pip install -r requirements.txt pip install -r requirements.txt
``` ```
### Using Docker ### Running GPT-SoVITS with Docker
#### docker-compose.yaml configuration #### Docker Image Selection
0. Regarding image tags: Due to rapid updates in the codebase and the slow process of packaging and testing images, please check [Docker Hub](https://hub.docker.com/r/breakstring/gpt-sovits)(outdated) for the currently packaged latest images and select as per your situation, or alternatively, build locally using a Dockerfile according to your own needs. Due to rapid development in the codebase and a slower Docker image release cycle, please:
1. Environment Variables:
- is_half: Controls half-precision/double-precision. This is typically the cause if the content under the directories 4-cnhubert/5-wav32k is not generated correctly during the "SSL extracting" step. Adjust to True or False based on your actual situation.
2. Volumes Configuration, The application's root directory inside the container is set to /workspace. The default docker-compose.yaml lists some practical examples for uploading/downloading content.
3. shm_size: The default available memory for Docker Desktop on Windows is too small, which can cause abnormal operations. Adjust according to your own situation.
4. Under the deploy section, GPU-related settings should be adjusted cautiously according to your system and actual circumstances.
#### Running with docker compose - Check [Docker Hub](https://hub.docker.com/r/xxxxrt666/gpt-sovits) for the latest available image tags.
- Choose an appropriate image tag for your environment.
- Optionally, build the image locally using the provided Dockerfile for the most up-to-date changes.
``` #### Environment Variables
docker compose -f "docker-compose.yaml" up -d
- `is_half`: Controls whether half-precision (fp16) is enabled. Set to `true` if your GPU supports it to reduce memory usage.
#### Shared Memory Configuration
On Windows (Docker Desktop), the default shared memory size is small and may cause unexpected behavior. Increase `shm_size` (e.g., to `16g`) in your Docker Compose file based on your available system memory.
#### Choosing a Service
The `docker-compose.yaml` defines two services:
- `GPT-SoVITS-CU124` & `GPT-SoVITS-CU128`: Full version with all features.
- `GPT-SoVITS-CU124-Lite` & `GPT-SoVITS-CU128-Lite`: Lightweight version with reduced dependencies and functionality.
To run a specific service with Docker Compose, use:
```bash
docker compose run --service-ports <GPT-SoVITS-CU124-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU124|GPT-SoVITS-CU128>
``` ```
#### Running with docker command #### Building the Docker Image Locally
As above, modify the corresponding parameters based on your actual situation, then run the following command: If you want to build the image yourself, use:
```bash
bash docker_build.sh --cuda <12.4|12.8> [--lite]
``` ```
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
#### Accessing the Running Container (Bash Shell)
Once the container is running in the background, you can access it using:
```bash
docker exec -it <GPT-SoVITS-CU124-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU124|GPT-SoVITS-CU128> bash
``` ```
## Pretrained Models ## Pretrained Models
@ -168,7 +190,9 @@ docker run --rm -it --gpus=all --env=is_half=False --volume=G:\GPT-SoVITS-Docker
The TTS annotation .list file format: The TTS annotation .list file format:
``` ```
vocal_path|speaker_name|language|text vocal_path|speaker_name|language|text
``` ```
Language dictionary: Language dictionary:
@ -182,7 +206,9 @@ Language dictionary:
Example: Example:
``` ```
D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin. D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin.
``` ```
## Finetune and inference ## Finetune and inference
@ -322,7 +348,7 @@ Use v4 from v1/v2/v3 environment:
Use the command line to open the WebUI for UVR5 Use the command line to open the WebUI for UVR5
``` ```bash
python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5> python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5>
``` ```
@ -333,7 +359,7 @@ python mdxnet.py --model --input_root --output_vocal --output_ins --agg_level --
This is how the audio segmentation of the dataset is done using the command line This is how the audio segmentation of the dataset is done using the command line
``` ```bash
python audio_slicer.py \ python audio_slicer.py \
--input_path "<path_to_original_audio_file_or_directory>" \ --input_path "<path_to_original_audio_file_or_directory>" \
--output_root "<directory_where_subdivided_audio_clips_will_be_saved>" \ --output_root "<directory_where_subdivided_audio_clips_will_be_saved>" \
@ -345,7 +371,7 @@ python audio_slicer.py \
This is how dataset ASR processing is done using the command line(Only Chinese) This is how dataset ASR processing is done using the command line(Only Chinese)
``` ```bash
python tools/asr/funasr_asr.py -i <input> -o <output> python tools/asr/funasr_asr.py -i <input> -o <output>
``` ```
@ -353,7 +379,7 @@ ASR processing is performed through Faster_Whisper(ASR marking except Chinese)
(No progress bars, GPU performance may cause time delays) (No progress bars, GPU performance may cause time delays)
``` ```bash
python ./tools/asr/fasterwhisper_asr.py -i <input> -o <output> -l <language> -p <precision> python ./tools/asr/fasterwhisper_asr.py -i <input> -o <output> -l <language> -p <precision>
``` ```

View File

@ -1,9 +1,9 @@
version: "3.8" version: "3.8"
services: services:
GPT-SoVITS: GPT-SoVITS-CU124:
image: xxxxrt666/gpt-sovits:latest image: xxxxrt666/gpt-sovits:latest-cu124
container_name: GPT-SoVITS container_name: GPT-SoVITS-CU124
ports: ports:
- "9871:9871" - "9871:9871"
- "9872:9872" - "9872:9872"
@ -22,9 +22,51 @@ services:
shm_size: "16g" shm_size: "16g"
restart: unless-stopped restart: unless-stopped
runtime: nvidia runtime: nvidia
GPT-SoVITS-Lite: GPT-SoVITS-CU124-Lite:
image: xxxxrt666/gpt-sovits:latest-lite image: xxxxrt666/gpt-sovits:latest-cu124-lite
container_name: GPT-SoVITS-Lite container_name: GPT-SoVITS-CU124-Lite
ports:
- "9871:9871"
- "9872:9872"
- "9873:9873"
- "9874:9874"
- "9880:9880"
volumes:
- .:/workspace/GPT-SoVITS
- /dev/null:/workspace/GPT-SoVITS/pretrained_models
- /dev/null:/workspace/tools/asr/models
- /dev/null:/workspace/tools/uvr5/uvr5_weights
environment:
- is_half=true
tty: true
stdin_open: true
shm_size: "16g"
restart: unless-stopped
runtime: nvidia
GPT-SoVITS-CU128:
image: xxxxrt666/gpt-sovits:latest-cu128
container_name: GPT-SoVITS-CU128
ports:
- "9871:9871"
- "9872:9872"
- "9873:9873"
- "9874:9874"
- "9880:9880"
volumes:
- .:/workspace/GPT-SoVITS
- /dev/null:/workspace/GPT-SoVITS/pretrained_models
- /dev/null:/workspace/tools/asr/models
- /dev/null:/workspace/tools/uvr5/uvr5_weights
environment:
- is_half=true
tty: true
stdin_open: true
shm_size: "16g"
restart: unless-stopped
runtime: nvidia
GPT-SoVITS-CU128-Lite:
image: xxxxrt666/gpt-sovits:latest-cu128-lite
container_name: GPT-SoVITS-CU128-Lite
ports: ports:
- "9871:9871" - "9871:9871"
- "9872:9872" - "9872:9872"

View File

@ -20,7 +20,7 @@
--- ---
## 功能: ## 功能
1. **零样本文本到语音 (TTS):** 输入 5 秒的声音样本, 即刻体验文本到语音转换. 1. **零样本文本到语音 (TTS):** 输入 5 秒的声音样本, 即刻体验文本到语音转换.
@ -34,7 +34,7 @@
未见过的说话者 few-shot 微调演示: 未见过的说话者 few-shot 微调演示:
https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-80c060ab47fb <https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-80c060ab47fb>
**用户手册: [简体中文](https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e) | [English](https://rentry.co/GPT-SoVITS-guide#/)** **用户手册: [简体中文](https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e) | [English](https://rentry.co/GPT-SoVITS-guide#/)**
@ -45,10 +45,11 @@ https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-
### 测试通过的环境 ### 测试通过的环境
| Python Version | PyTorch Version | Device | | Python Version | PyTorch Version | Device |
|----------------|------------------|-----------------| | -------------- | ---------------- | -------------------- |
| Python 3.9 | PyTorch 2.0.1 | CUDA 11.8 | | Python 3.9 | PyTorch 2.0.1 | CUDA 11.8 |
| Python 3.10.13 | PyTorch 2.1.2 | CUDA 12.3 | | Python 3.10.13 | PyTorch 2.1.2 | CUDA 12.3 |
| Python 3.10.17 | PyTorch 2.5.1 | CUDA 12.4 | | Python 3.10.17 | PyTorch 2.5.1 | CUDA 12.4 |
| Python 3.9 | PyTorch 2.8.0dev | CUDA12.8 (for sm120) |
| Python 3.9 | PyTorch 2.5.1 | Apple silicon | | Python 3.9 | PyTorch 2.5.1 | Apple silicon |
| Python 3.11 | PyTorch 2.6.0 | Apple silicon | | Python 3.11 | PyTorch 2.6.0 | Apple silicon |
| Python 3.9 | PyTorch 2.2.2 | CPU | | Python 3.9 | PyTorch 2.2.2 | CPU |
@ -117,31 +118,51 @@ pip install -r extra-req.txt --no-deps
pip install -r requirements.txt pip install -r requirements.txt
``` ```
### 在 Docker 中使用 ### 运行 GPT-SoVITS使用 Docker
#### docker-compose.yaml 设置 #### Docker 镜像选择
0. image 的标签: 由于代码库更新很快, 镜像的打包和测试又很慢, 所以请自行在 [Docker Hub](https://hub.docker.com/r/breakstring/gpt-sovits)(旧版本) 查看当前打包好的最新的镜像并根据自己的情况选用, 或者在本地根据您自己的需求通过 Dockerfile 进行构建. 由于代码库更新频繁,而 Docker 镜像的发布周期相对较慢,请注意:
1. 环境变量:
- is_half: 半精度/双精度控制.在进行 "SSL extracting" 步骤时如果无法正确生成 4-cnhubert/5-wav32k 目录下的内容时, 一般都是它引起的, 可以根据实际情况来调整为 True 或者 False. - 前往 [Docker Hub](https://hub.docker.com/r/xxxxrt666/gpt-sovits) 查看最新可用的镜像标签tags
- 根据你的运行环境选择合适的镜像标签。
- 可选:为了获得最新的更改,你可以使用提供的 Dockerfile 在本地构建镜像。
2. Volume 设置, 容器内的应用根目录设置为 /workspace. 默认的 docker-compose.yaml 中列出了一些实际的例子, 便于上传/下载内容. #### 环境变量
3. shm_size: Windows 下的 Docker Desktop 默认可用内存过小, 会导致运行异常, 根据自己情况酌情设置.
4. deploy 小节下的 gpu 相关内容, 请根据您的系统和实际情况酌情设置.
#### 通过 docker compose 运行 - `is_half`控制是否启用半精度fp16。如果你的 GPU 支持,设置为 `true` 可以减少显存占用。
``` #### 共享内存配置
docker compose -f "docker-compose.yaml" up -d
在 WindowsDocker Desktop默认共享内存大小较小可能导致运行异常。请在 Docker Compose 文件中根据系统内存情况,增大 `shm_size`(例如设置为 `16g`)。
#### 选择服务
`docker-compose.yaml` 文件定义了两个主要服务类型:
- `GPT-SoVITS-CU124``GPT-SoVITS-CU128`:完整版,包含所有功能。
- `GPT-SoVITS-CU124-Lite``GPT-SoVITS-CU128-Lite`:轻量版,依赖更少,功能略有删减。
如需使用 Docker Compose 运行指定服务,请执行:
```bash
docker compose run --service-ports <GPT-SoVITS-CU124-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU124|GPT-SoVITS-CU128>
``` ```
#### 通过 docker 命令运行 #### 本地构建 Docker 镜像
同上, 根据您自己的实际情况修改对应的参数, 然后运行如下命令: 如果你希望自行构建镜像,请使用以下命令:
```bash
bash docker_build.sh --cuda <12.4|12.8> [--lite]
``` ```
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
#### 访问运行中的容器Bash Shell
当容器在后台运行时,你可以通过以下命令进入容器:
```bash
docker exec -it <GPT-SoVITS-CU124-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU124|GPT-SoVITS-CU128> bash
``` ```
## 预训练模型 ## 预训练模型
@ -308,7 +329,7 @@ python webui.py
使用命令行打开 UVR5 的 WebUI 使用命令行打开 UVR5 的 WebUI
``` ```bash
python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5> python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5>
``` ```
@ -319,7 +340,7 @@ python mdxnet.py --model --input_root --output_vocal --output_ins --agg_level --
这是使用命令行完成数据集的音频切分的方式 这是使用命令行完成数据集的音频切分的方式
``` ```bash
python audio_slicer.py \ python audio_slicer.py \
--input_path "<path_to_original_audio_file_or_directory>" \ --input_path "<path_to_original_audio_file_or_directory>" \
--output_root "<directory_where_subdivided_audio_clips_will_be_saved>" \ --output_root "<directory_where_subdivided_audio_clips_will_be_saved>" \
@ -331,7 +352,7 @@ python audio_slicer.py \
这是使用命令行完成数据集 ASR 处理的方式 (仅限中文) 这是使用命令行完成数据集 ASR 处理的方式 (仅限中文)
``` ```bash
python tools/asr/funasr_asr.py -i <input> -o <output> python tools/asr/funasr_asr.py -i <input> -o <output>
``` ```
@ -339,7 +360,7 @@ python tools/asr/funasr_asr.py -i <input> -o <output>
(没有进度条, GPU 性能可能会导致时间延迟) (没有进度条, GPU 性能可能会导致时间延迟)
``` ```bash
python ./tools/asr/fasterwhisper_asr.py -i <input> -o <output> -l <language> -p <precision> python ./tools/asr/fasterwhisper_asr.py -i <input> -o <output> -l <language> -p <precision>
``` ```

View File

@ -41,13 +41,14 @@ https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-
### テスト済みの環境 ### テスト済みの環境
| Python Version | PyTorch Version | Device | | Python Version | PyTorch Version | Device |
|----------------|------------------|-----------------| | -------------- | ---------------- | -------------------- |
| Python 3.9 | PyTorch 2.0.1 | CUDA 11.8 | | Python 3.9 | PyTorch 2.0.1 | CUDA 11.8 |
| Python 3.10.13 | PyTorch 2.1.2 | CUDA 12.3 | | Python 3.10.13 | PyTorch 2.1.2 | CUDA 12.3 |
| Python 3.10.17 | PyTorch 2.5.1 | CUDA 12.4 | | Python 3.10.17 | PyTorch 2.5.1 | CUDA 12.4 |
| Python 3.9 | PyTorch 2.5.1 | Apple silicon | | Python 3.9 | PyTorch 2.5.1 | Apple silicon |
| Python 3.11 | PyTorch 2.6.0 | Apple silicon | | Python 3.11 | PyTorch 2.6.0 | Apple silicon |
| Python 3.9 | PyTorch 2.2.2 | CPU | | Python 3.9 | PyTorch 2.2.2 | CPU |
| Python 3.9 | PyTorch 2.8.0dev | CUDA12.8 (for sm120) |
### Windows ### Windows
@ -109,31 +110,51 @@ pip install -r extra-req.txt --no-deps
pip install -r requirementx.txt pip install -r requirementx.txt
``` ```
### Docker 使用 ### GPT-SoVITS の実行(Docker 使用
#### docker-compose.yaml の設定 #### Docker イメージの選択
0. イメージのタグについて: コードベースの更新が速い割に、イメージのパッケージングとテストが遅いため、[Docker Hub](https://hub.docker.com/r/breakstring/gpt-sovits)(古いバージョン) で現在パッケージされている最新のイメージをご覧になり、ご自身の状況に応じて選択するか、またはご自身のニーズに応じて Dockerfile を使用してローカルでビルドしてください. コードベースの更新が頻繁である一方、Docker イメージのリリースは比較的遅いため、以下を確認してください:
1. 環境変数:
- `is_half`: 半精度/倍精度の制御."SSL 抽出"ステップ中に`4-cnhubert/5-wav32k`ディレクトリ内の内容が正しく生成されない場合、通常これが原因です.実際の状況に応じて True または False に調整してください. - [Docker Hub](https://hub.docker.com/r/xxxxrt666/gpt-sovits) で最新のイメージタグを確認してください。
- 環境に合った適切なイメージタグを選択してください。
- オプション:最新の変更を反映させるため、提供されている Dockerfile を使ってローカルでイメージをビルドすることも可能です。
2. ボリューム設定: コンテナ内のアプリケーションのルートディレクトリは`/workspace`に設定されます.デフォルトの`docker-compose.yaml`には、アップロード/ダウンロードの内容の実例がいくつか記載されています. #### 環境変数
3. `shm_size`: Windows の Docker Desktop のデフォルトの利用可能メモリは小さすぎるため、うまく動作しない可能性があります.状況に応じて適宜設定してください.
4. `deploy`セクションの GPU に関連する内容は、システムと実際の状況に応じて慎重に設定してください.
#### docker compose で実行する - `is_half`半精度fp16を使用するかどうかを制御します。GPU が対応している場合、`true` に設定することでメモリ使用量を削減できます。
```markdown #### 共有メモリの設定
docker compose -f "docker-compose.yaml" up -d
WindowsDocker Desktopでは、デフォルトの共有メモリサイズが小さいため、予期しない動作が発生する可能性があります。Docker Compose ファイル内の `shm_size` を(例:`16g`)に増やすことをおすすめします。
#### サービスの選択
`docker-compose.yaml` ファイルには次の 2 種類のサービスが定義されています:
- `GPT-SoVITS-CU124` および `GPT-SoVITS-CU128`:すべての機能を含むフルバージョン
- `GPT-SoVITS-CU124-Lite` および `GPT-SoVITS-CU128-Lite`:依存関係を削減した軽量バージョン
特定のサービスを Docker Compose で実行するには、以下のコマンドを使用します:
```bash
docker compose run --service-ports <GPT-SoVITS-CU124-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU124|GPT-SoVITS-CU128>
``` ```
#### docker コマンドで実行する #### Docker イメージのローカルビルド
上記と同様に、実際の状況に基づいて対応するパラメータを変更し、次のコマンドを実行します: 自分でイメージをビルドするには、以下のコマンドを使ってください:
```markdown ```bash
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 bash docker_build.sh --cuda <12.4|12.8> [--lite]
```
#### 実行中のコンテナへアクセスBash Shell
コンテナがバックグラウンドで実行されている場合、以下のコマンドでシェルにアクセスできます:
```bash
docker exec -it <GPT-SoVITS-CU124-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU124|GPT-SoVITS-CU128> bash
``` ```
## 事前訓練済みモデル ## 事前訓練済みモデル
@ -296,7 +317,7 @@ v2 環境から v3 を使用する方法:
コマンド ラインを使用して UVR5 の WebUI を開きます コマンド ラインを使用して UVR5 の WebUI を開きます
``` ```bash
python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5> python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5>
``` ```
@ -307,7 +328,7 @@ python mdxnet.py --model --input_root --output_vocal --output_ins --agg_level --
コマンド ラインを使用してデータセットのオーディオ セグメンテーションを行う方法は次のとおりです. コマンド ラインを使用してデータセットのオーディオ セグメンテーションを行う方法は次のとおりです.
``` ```bash
python audio_slicer.py \ python audio_slicer.py \
--input_path "<path_to_original_audio_file_or_directory>" \ --input_path "<path_to_original_audio_file_or_directory>" \
--output_root "<directory_where_subdivided_audio_clips_will_be_saved>" \ --output_root "<directory_where_subdivided_audio_clips_will_be_saved>" \
@ -319,7 +340,7 @@ python audio_slicer.py \
コマンドラインを使用してデータセット ASR 処理を行う方法です (中国語のみ) コマンドラインを使用してデータセット ASR 処理を行う方法です (中国語のみ)
``` ```bash
python tools/asr/funasr_asr.py -i <input> -o <output> python tools/asr/funasr_asr.py -i <input> -o <output>
``` ```
@ -327,7 +348,7 @@ ASR 処理は Faster_Whisper を通じて実行されます(中国語を除く A
(進行状況バーは表示されません.GPU のパフォーマンスにより時間遅延が発生する可能性があります) (進行状況バーは表示されません.GPU のパフォーマンスにより時間遅延が発生する可能性があります)
``` ```bash
python ./tools/asr/fasterwhisper_asr.py -i <input> -o <output> -l <language> -p <precision> python ./tools/asr/fasterwhisper_asr.py -i <input> -o <output> -l <language> -p <precision>
``` ```

View File

@ -41,10 +41,11 @@ https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-
### 테스트 통과 환경 ### 테스트 통과 환경
| Python Version | PyTorch Version | Device | | Python Version | PyTorch Version | Device |
|----------------|------------------|-----------------| | -------------- | ---------------- | -------------------- |
| Python 3.9 | PyTorch 2.0.1 | CUDA 11.8 | | Python 3.9 | PyTorch 2.0.1 | CUDA 11.8 |
| Python 3.10.13 | PyTorch 2.1.2 | CUDA 12.3 | | Python 3.10.13 | PyTorch 2.1.2 | CUDA 12.3 |
| Python 3.10.17 | PyTorch 2.5.1 | CUDA 12.4 | | Python 3.10.17 | PyTorch 2.5.1 | CUDA 12.4 |
| Python 3.9 | PyTorch 2.8.0dev | CUDA12.8 (for sm120) |
| Python 3.9 | PyTorch 2.5.1 | Apple silicon | | Python 3.9 | PyTorch 2.5.1 | Apple silicon |
| Python 3.11 | PyTorch 2.6.0 | Apple silicon | | Python 3.11 | PyTorch 2.6.0 | Apple silicon |
| Python 3.9 | PyTorch 2.2.2 | CPU | | Python 3.9 | PyTorch 2.2.2 | CPU |
@ -111,34 +112,51 @@ pip install -r extra-req.txt --no-deps
pip install -r requirements.txt pip install -r requirements.txt
``` ```
### Docker에서 사용 ### GPT-SoVITS 실행하기 (Docker 사용)
#### docker-compose.yaml 설정 #### Docker 이미지 선택
0. 이미지 태그: 코드 저장소가 빠르게 업데이트되고 패키지가 느리게 빌드되고 테스트되므로, 현재 빌드된 최신 도커 이미지를 [Docker Hub](https://hub.docker.com/r/breakstring/gpt-sovits)(오래된 버전) 에서 확인하고 필요에 따라 Dockerfile을 사용하여 로컬에서 빌드할 수 있습니다. 코드베이스가 빠르게 업데이트되는 반면 Docker 이미지 릴리스 주기는 느리기 때문에 다음을 참고하세요:
1. 환경 변수: - [Docker Hub](https://hub.docker.com/r/xxxxrt666/gpt-sovits)에서 최신 이미지 태그를 확인하세요.
- 환경에 맞는 적절한 이미지 태그를 선택하세요.
- 선택 사항: 최신 변경사항을 반영하려면 제공된 Dockerfile을 사용하여 로컬에서 직접 이미지를 빌드할 수 있습니다.
- is_half: 반정밀/배정밀 제어. "SSL 추출" 단계에서 4-cnhubert/5-wav32k 디렉토리의 내용을 올바르게 생성할 수 없는 경우, 일반적으로 이것 때문입니다. 실제 상황에 따라 True 또는 False로 조정할 수 있습니다. #### 환경 변수
2. 볼륨 설정, 컨테이너 내의 애플리케이션 루트 디렉토리를 /workspace로 설정합니다. 기본 docker-compose.yaml에는 실제 예제가 나열되어 있으므로 업로드/다운로드를 쉽게 할 수 있습니다. - `is_half`: 반정밀도(fp16) 사용 여부를 제어합니다. GPU가 지원하는 경우 `true`로 설정하면 메모리 사용량을 줄일 수 있습니다.
3. shm_size: Windows의 Docker Desktop의 기본 사용 가능한 메모리가 너무 작아 오류가 발생할 수 있으므로 실제 상황에 따라 조정합니다. #### 공유 메모리 설정
4. deploy 섹션의 gpu 관련 내용은 시스템 및 실제 상황에 따라 조정합니다. Windows(Docker Desktop)에서는 기본 공유 메모리 크기가 작아 예기치 않은 동작이 발생할 수 있습니다. 시스템 메모리 상황에 따라 Docker Compose 파일에서 `shm_size`를 (예: `16g`)로 증가시키는 것이 좋습니다.
#### docker compose로 실행 #### 서비스 선택
``` `docker-compose.yaml` 파일에는 두 가지 서비스 유형이 정의되어 있습니다:
docker compose -f "docker-compose.yaml" up -d
- `GPT-SoVITS-CU124``GPT-SoVITS-CU128`: 전체 기능을 포함한 풀 버전
- `GPT-SoVITS-CU124-Lite``GPT-SoVITS-CU128-Lite`: 의존성이 줄어든 경량 버전
특정 서비스를 Docker Compose로 실행하려면 다음 명령을 사용하세요:
```bash
docker compose run --service-ports <GPT-SoVITS-CU124-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU124|GPT-SoVITS-CU128>
``` ```
#### docker 명령으로 실행 #### Docker 이미지 직접 빌드하기
위와 동일하게 실제 상황에 맞게 매개변수를 수정한 다음 다음 명령을 실행합니다: 직접 이미지를 빌드하려면 다음 명령어를 사용하세요:
```bash
bash docker_build.sh --cuda <12.4|12.8> [--lite]
``` ```
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
#### 실행 중인 컨테이너 접속하기 (Bash Shell)
컨테이너가 백그라운드에서 실행 중일 때 다음 명령어로 셸에 접속할 수 있습니다:
```bash
docker exec -it <GPT-SoVITS-CU124-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU124|GPT-SoVITS-CU128> bash
``` ```
## 사전 학습된 모델 ## 사전 학습된 모델
@ -302,7 +320,7 @@ v2 환경에서 v3 사용하기:
명령줄을 사용하여 UVR5용 WebUI 열기 명령줄을 사용하여 UVR5용 WebUI 열기
``` ```bash
python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5> python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5>
``` ```
@ -313,7 +331,7 @@ python mdxnet.py --model --input_root --output_vocal --output_ins --agg_level --
명령줄을 사용하여 데이터세트의 오디오 분할을 수행하는 방법은 다음과 같습니다. 명령줄을 사용하여 데이터세트의 오디오 분할을 수행하는 방법은 다음과 같습니다.
``` ```bash
python audio_slicer.py \ python audio_slicer.py \
--input_path "<path_to_original_audio_file_or_directory>" \ --input_path "<path_to_original_audio_file_or_directory>" \
--output_root "<directory_where_subdivided_audio_clips_will_be_saved>" \ --output_root "<directory_where_subdivided_audio_clips_will_be_saved>" \
@ -325,7 +343,7 @@ python audio_slicer.py \
명령줄을 사용하여 데이터 세트 ASR 처리를 수행하는 방법입니다(중국어만 해당). 명령줄을 사용하여 데이터 세트 ASR 처리를 수행하는 방법입니다(중국어만 해당).
``` ```bash
python tools/asr/funasr_asr.py -i <input> -o <output> python tools/asr/funasr_asr.py -i <input> -o <output>
``` ```
@ -333,7 +351,7 @@ ASR 처리는 Faster_Whisper(중국어를 제외한 ASR 마킹)를 통해 수행
(진행률 표시줄 없음, GPU 성능으로 인해 시간 지연이 발생할 수 있음) (진행률 표시줄 없음, GPU 성능으로 인해 시간 지연이 발생할 수 있음)
``` ```bash
python ./tools/asr/fasterwhisper_asr.py -i <input> -o <output> -l <language> -p <precision> python ./tools/asr/fasterwhisper_asr.py -i <input> -o <output> -l <language> -p <precision>
``` ```

View File

@ -43,10 +43,11 @@ https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-
### Test Edilmiş Ortamlar ### Test Edilmiş Ortamlar
| Python Version | PyTorch Version | Device | | Python Version | PyTorch Version | Device |
|----------------|------------------|-----------------| | -------------- | ---------------- | -------------------- |
| Python 3.9 | PyTorch 2.0.1 | CUDA 11.8 | | Python 3.9 | PyTorch 2.0.1 | CUDA 11.8 |
| Python 3.10.13 | PyTorch 2.1.2 | CUDA 12.3 | | Python 3.10.13 | PyTorch 2.1.2 | CUDA 12.3 |
| Python 3.10.17 | PyTorch 2.5.1 | CUDA 12.4 | | Python 3.10.17 | PyTorch 2.5.1 | CUDA 12.4 |
| Python 3.9 | PyTorch 2.8.0dev | CUDA12.8 (for sm120) |
| Python 3.9 | PyTorch 2.5.1 | Apple silicon | | Python 3.9 | PyTorch 2.5.1 | Apple silicon |
| Python 3.11 | PyTorch 2.6.0 | Apple silicon | | Python 3.11 | PyTorch 2.6.0 | Apple silicon |
| Python 3.9 | PyTorch 2.2.2 | CPU | | Python 3.9 | PyTorch 2.2.2 | CPU |
@ -111,29 +112,51 @@ pip install -r extra-req.txt --no-deps
pip install -r requirements.txt pip install -r requirements.txt
``` ```
### Docker Kullanarak ### GPT-SoVITS Çalıştırma (Docker Kullanarak)
#### docker-compose.yaml yapılandırması #### Docker İmajı Seçimi
0. Görüntü etiketleri hakkında: Kod tabanındaki hızlı güncellemeler ve görüntüleri paketleme ve test etme işleminin yavaş olması nedeniyle, lütfen şu anda paketlenmiş en son görüntüleri kontrol etmek için [Docker Hub](https://hub.docker.com/r/breakstring/gpt-sovits)(eski sürüm) adresini kontrol edin ve durumunuza göre seçim yapın veya alternatif olarak, kendi ihtiyaçlarınıza göre bir Dockerfile kullanarak yerel olarak oluşturun. Kod tabanı hızla geliştiği halde Docker imajları daha yavaş yayınlandığı için lütfen şu adımları izleyin:
1. Ortam Değişkenleri:
- is_half: Yarım hassasiyet/çift hassasiyeti kontrol eder. Bu genellikle "SSL çıkarma" adımı sırasında 4-cnhubert/5-wav32k dizinleri altındaki içeriğin doğru şekilde oluşturulmamasının nedenidir. Gerçek durumunuza göre True veya False olarak ayarlayın.
2. Birim Yapılandırması, Kapsayıcı içindeki uygulamanın kök dizini /workspace olarak ayarlanmıştır. Varsayılan docker-compose.yaml, içerik yükleme/indirme için bazı pratik örnekler listeler.
3. shm_size: Windows üzerinde Docker Desktop için varsayılan kullanılabilir bellek çok küçüktür, bu da anormal işlemlere neden olabilir. Kendi durumunuza göre ayarlayın.
4. Dağıtım bölümü altında, GPU ile ilgili ayarlar sisteminize ve gerçek koşullara göre dikkatlice ayarlanmalıdır.
#### docker compose ile çalıştırma - En güncel kullanılabilir imaj etiketlerini görmek için [Docker Hub](https://hub.docker.com/r/xxxxrt666/gpt-sovits) adresini kontrol edin.
- Ortamınıza uygun bir imaj etiketi seçin.
- Opsiyonel: En güncel değişiklikleri almak için, sağlanan Dockerfile ile yerel olarak imajı kendiniz oluşturabilirsiniz.
``` #### Ortam Değişkenleri
docker compose -f "docker-compose.yaml" up -d
- `is_half`: Yarı hassasiyet (fp16) kullanımını kontrol eder. GPUnuz destekliyorsa, belleği azaltmak için `true` olarak ayarlayın.
#### Paylaşılan Bellek Yapılandırması
Windows (Docker Desktop) ortamında, varsayılan paylaşılan bellek boyutu düşüktür ve bu beklenmedik hatalara neden olabilir. Sistem belleğinize göre Docker Compose dosyasındaki `shm_size` değerini (örneğin `16g`) artırmanız önerilir.
#### Servis Seçimi
`docker-compose.yaml` dosyasında iki tür servis tanımlanmıştır:
- `GPT-SoVITS-CU124` ve `GPT-SoVITS-CU128`: Tüm özellikleri içeren tam sürüm.
- `GPT-SoVITS-CU124-Lite` ve `GPT-SoVITS-CU128-Lite`: Daha az bağımlılığa ve sınırlı işlevselliğe sahip hafif sürüm.
Belirli bir servisi Docker Compose ile çalıştırmak için şu komutu kullanın:
```bash
docker compose run --service-ports <GPT-SoVITS-CU124-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU124|GPT-SoVITS-CU128>
``` ```
#### docker komutu ile çalıştırma #### Docker İmajını Yerel Olarak Oluşturma
Yukarıdaki gibi, ilgili parametreleri gerçek durumunuza göre değiştirin, ardından aşağıdaki komutu çalıştırın: Docker imajını kendiniz oluşturmak isterseniz şu komutu kullanın:
```bash
bash docker_build.sh --cuda <12.4|12.8> [--lite]
``` ```
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
#### Çalışan Konteynere Erişim (Bash Shell)
Konteyner arka planda çalışırken, aşağıdaki komutla içine girebilirsiniz:
```bash
docker exec -it <GPT-SoVITS-CU124-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU124|GPT-SoVITS-CU128> bash
``` ```
## Önceden Eğitilmiş Modeller ## Önceden Eğitilmiş Modeller
@ -298,7 +321,7 @@ V1 ortamından V2'yi kullanmak için:
UVR5 için Web Arayüzünü açmak için komut satırını kullanın UVR5 için Web Arayüzünü açmak için komut satırını kullanın
``` ```bash
python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5> python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5>
``` ```
@ -309,7 +332,7 @@ python mdxnet.py --model --input_root --output_vocal --output_ins --agg_level --
Veri setinin ses segmentasyonu komut satırı kullanılarak bu şekilde yapılır Veri setinin ses segmentasyonu komut satırı kullanılarak bu şekilde yapılır
``` ```bash
python audio_slicer.py \ python audio_slicer.py \
--input_path "<orijinal_ses_dosyası_veya_dizininin_yolu>" \ --input_path "<orijinal_ses_dosyası_veya_dizininin_yolu>" \
--output_root "<alt_bölümlere_ayrılmış_ses_kliplerinin_kaydedileceği_dizin>" \ --output_root "<alt_bölümlere_ayrılmış_ses_kliplerinin_kaydedileceği_dizin>" \
@ -321,7 +344,7 @@ python audio_slicer.py \
Veri seti ASR işleme komut satırı kullanılarak bu şekilde yapılır (Yalnızca Çince) Veri seti ASR işleme komut satırı kullanılarak bu şekilde yapılır (Yalnızca Çince)
``` ```bash
python tools/asr/funasr_asr.py -i <girdi> -o <çıktı> python tools/asr/funasr_asr.py -i <girdi> -o <çıktı>
``` ```
@ -329,7 +352,7 @@ ASR işleme Faster_Whisper aracılığıyla gerçekleştirilir (Çince dışınd
(İlerleme çubukları yok, GPU performansı zaman gecikmelerine neden olabilir) (İlerleme çubukları yok, GPU performansı zaman gecikmelerine neden olabilir)
``` ```bash
python ./tools/asr/fasterwhisper_asr.py -i <girdi> -o <çıktı> -l <dil> python ./tools/asr/fasterwhisper_asr.py -i <girdi> -o <çıktı> -l <dil>
``` ```