From 9c42a133d3b6c58571ed6018930e9f3b218465ca Mon Sep 17 00:00:00 2001 From: XXXXRT666 <157766680+XXXXRT666@users.noreply.github.com> Date: Sun, 4 May 2025 11:06:55 +0100 Subject: [PATCH] Update Docs, Add Dict Auto Download in install.sh --- Colab-Inference.ipynb | 4 ++-- Docker/install_wrapper.sh | 6 +++--- Docker/miniconda_install.sh | 2 +- README.md | 1 + docker-compose.yaml | 36 ++++++++++++++++++++---------------- docs/cn/README.md | 27 ++++++++++++++------------- docs/ja/README.md | 15 ++++++++------- docs/ko/README.md | 11 ++++++----- docs/tr/README.md | 7 ++++--- install.sh | 25 +++++++++++++++++++++---- 10 files changed, 80 insertions(+), 54 deletions(-) diff --git a/Colab-Inference.ipynb b/Colab-Inference.ipynb index 8a317013..0b6be3d7 100644 --- a/Colab-Inference.ipynb +++ b/Colab-Inference.ipynb @@ -39,9 +39,9 @@ "\n", "cd GPT-SoVITS\n", "\n", - "mkdir GPT_weights\n", + "mkdir -p GPT_weights\n", "\n", - "mkdir SoVITS_weights\n", + "mkdir -p SoVITS_weights\n", "\n", "if conda env list | awk '{print $1}' | grep -Fxq \"GPTSoVITS\"; then\n", " :\n", diff --git a/Docker/install_wrapper.sh b/Docker/install_wrapper.sh index ede8a050..f3860ffe 100644 --- a/Docker/install_wrapper.sh +++ b/Docker/install_wrapper.sh @@ -10,9 +10,9 @@ set -e source "$HOME/miniconda3/etc/profile.d/conda.sh" -mkdir GPT_SoVITS +mkdir -p GPT_SoVITS -mkdir GPT_SoVITS/text +mkdir -p GPT_SoVITS/text ln -s /workspace/models/pretrained_models /workspace/GPT-SoVITS/GPT_SoVITS/pretrained_models @@ -28,6 +28,6 @@ rm -rf /tmp/* /var/tmp/* rm -rf "$HOME/miniconda3/pkgs" -mkdir "$HOME/miniconda3/pkgs" +mkdir -p "$HOME/miniconda3/pkgs" rm -rf /root/.conda /root/.cache diff --git a/Docker/miniconda_install.sh b/Docker/miniconda_install.sh index d0fa48d6..d626b3a1 100644 --- a/Docker/miniconda_install.sh +++ b/Docker/miniconda_install.sh @@ -65,6 +65,6 @@ rm $LOG_PATH rm -rf "$HOME/miniconda3/pkgs" -mkdir "$HOME/miniconda3/pkgs" +mkdir -p "$HOME/miniconda3/pkgs" rm -rf "$HOME/.conda" "$HOME/.cache" diff --git a/README.md b/README.md index 997b9b00..f3d38201 100644 --- a/README.md +++ b/README.md @@ -126,6 +126,7 @@ Due to rapid development in the codebase and a slower Docker image release cycle - 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. +- `Lite` means the Docker image does not include ASR models and UVR5 models. You can manually download the UVR5 models, while the program will automatically download the ASR models as needed. - Optionally, build the image locally using the provided Dockerfile for the most up-to-date changes. #### Environment Variables diff --git a/docker-compose.yaml b/docker-compose.yaml index cea85f7e..803c3219 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -12,10 +12,10 @@ services: - "9880:9880" volumes: - .:/workspace/GPT-SoVITS - - /dev/null:/workspace/GPT-SoVITS/pretrained_models - - /dev/null:/workspace/GPT-SoVITS/text/G2PWModel - - /dev/null:/workspace/tools/asr/models - - /dev/null:/workspace/tools/uvr5/uvr5_weights + - /dev/null:/workspace/GPT-SoVITS/GPT_SoVITS/pretrained_models + - /dev/null:/workspace/GPT-SoVITS/GPT_SoVITS/text/G2PWModel + - /dev/null:/workspace/GPT-SoVITS/tools/asr/models + - /dev/null:/workspace/GPT-SoVITS/tools/uvr5/uvr5_weights environment: - is_half=true tty: true @@ -34,10 +34,12 @@ services: - "9880:9880" volumes: - .:/workspace/GPT-SoVITS - - /dev/null:/workspace/GPT-SoVITS/pretrained_models - - /dev/null:/workspace/GPT-SoVITS/text/G2PWModel - - /dev/null:/workspace/tools/asr/models - - /dev/null:/workspace/tools/uvr5/uvr5_weights + - /dev/null:/workspace/GPT-SoVITS/GPT_SoVITS/pretrained_models + - /dev/null:/workspace/GPT-SoVITS/GPT_SoVITS/text/G2PWModel + - /dev/null:/workspace/GPT-SoVITS/tools/asr/models + - /dev/null:/workspace/GPT-SoVITS/tools/uvr5/uvr5_weights + - tools/asr/models:/workspace/models/asr_models + - tools/uvr5/uvr5_weights:/workspace/models/uvr5_weights environment: - is_half=true tty: true @@ -56,10 +58,10 @@ services: - "9880:9880" volumes: - .:/workspace/GPT-SoVITS - - /dev/null:/workspace/GPT-SoVITS/pretrained_models - - /dev/null:/workspace/GPT-SoVITS/text/G2PWModel - - /dev/null:/workspace/tools/asr/models - - /dev/null:/workspace/tools/uvr5/uvr5_weights + - /dev/null:/workspace/GPT-SoVITS/GPT_SoVITS/pretrained_models + - /dev/null:/workspace/GPT-SoVITS/GPT_SoVITS/text/G2PWModel + - /dev/null:/workspace/GPT-SoVITS/tools/asr/models + - /dev/null:/workspace/GPT-SoVITS/tools/uvr5/uvr5_weights environment: - is_half=true tty: true @@ -78,10 +80,12 @@ services: - "9880:9880" volumes: - .:/workspace/GPT-SoVITS - - /dev/null:/workspace/GPT-SoVITS/pretrained_models - - /dev/null:/workspace/GPT-SoVITS/text/G2PWModel - - /dev/null:/workspace/tools/asr/models - - /dev/null:/workspace/tools/uvr5/uvr5_weights + - /dev/null:/workspace/GPT-SoVITS/GPT_SoVITS/pretrained_models + - /dev/null:/workspace/GPT-SoVITS/GPT_SoVITS/text/G2PWModel + - /dev/null:/workspace/GPT-SoVITS/tools/asr/models + - /dev/null:/workspace/GPT-SoVITS/tools/uvr5/uvr5_weights + - tools/asr/models:/workspace/models/asr_models + - tools/uvr5/uvr5_weights:/workspace/models/uvr5_weights environment: - is_half=true tty: true diff --git a/docs/cn/README.md b/docs/cn/README.md index df41c797..89513450 100644 --- a/docs/cn/README.md +++ b/docs/cn/README.md @@ -118,32 +118,33 @@ pip install -r extra-req.txt --no-deps pip install -r requirements.txt ``` -### 运行 GPT-SoVITS(使用 Docker) +### 运行 GPT-SoVITS (使用 Docker) #### Docker 镜像选择 -由于代码库更新频繁,而 Docker 镜像的发布周期相对较慢,请注意: +由于代码库更新频繁, 而 Docker 镜像的发布周期相对较慢, 请注意: -- 前往 [Docker Hub](https://hub.docker.com/r/xxxxrt666/gpt-sovits) 查看最新可用的镜像标签(tags)。 -- 根据你的运行环境选择合适的镜像标签。 -- 可选:为了获得最新的更改,你可以使用提供的 Dockerfile 在本地构建镜像。 +- 前往 [Docker Hub](https://hub.docker.com/r/xxxxrt666/gpt-sovits) 查看最新可用的镜像标签(tags) +- 根据你的运行环境选择合适的镜像标签 +- `Lite` Docker 镜像不包含 ASR 模型和 UVR5 模型. 你可以自行下载 UVR5 模型, ASR 模型则会在需要时由程序自动下载 +- 可选:为了获得最新的更改, 你可以使用提供的 Dockerfile 在本地构建镜像 #### 环境变量 -- `is_half`:控制是否启用半精度(fp16)。如果你的 GPU 支持,设置为 `true` 可以减少显存占用。 +- `is_half`:控制是否启用半精度(fp16). 如果你的 GPU 支持, 设置为 `true` 可以减少显存占用 #### 共享内存配置 -在 Windows(Docker Desktop)中,默认共享内存大小较小,可能导致运行异常。请在 Docker Compose 文件中根据系统内存情况,增大 `shm_size`(例如设置为 `16g`)。 +在 Windows (Docker Desktop) 中, 默认共享内存大小较小, 可能导致运行异常. 请在 Docker Compose 文件中根据系统内存情况, 增大 `shm_size` (例如设置为 `16g`) #### 选择服务 `docker-compose.yaml` 文件定义了两个主要服务类型: -- `GPT-SoVITS-CU124` 与 `GPT-SoVITS-CU128`:完整版,包含所有功能。 -- `GPT-SoVITS-CU124-Lite` 与 `GPT-SoVITS-CU128-Lite`:轻量版,依赖更少,功能略有删减。 +- `GPT-SoVITS-CU124` 与 `GPT-SoVITS-CU128`:完整版, 包含所有功能 +- `GPT-SoVITS-CU124-Lite` 与 `GPT-SoVITS-CU128-Lite`:轻量版, 依赖更少, 功能略有删减 -如需使用 Docker Compose 运行指定服务,请执行: +如需使用 Docker Compose 运行指定服务, 请执行: ```bash docker compose run --service-ports @@ -151,15 +152,15 @@ docker compose run --service-ports [--lite] ``` -#### 访问运行中的容器(Bash Shell) +#### 访问运行中的容器 (Bash Shell) -当容器在后台运行时,你可以通过以下命令进入容器: +当容器在后台运行时, 你可以通过以下命令进入容器: ```bash docker exec -it bash diff --git a/docs/ja/README.md b/docs/ja/README.md index 15955f1f..d89c2a60 100644 --- a/docs/ja/README.md +++ b/docs/ja/README.md @@ -110,23 +110,24 @@ pip install -r extra-req.txt --no-deps pip install -r requirementx.txt ``` -### GPT-SoVITS の実行(Docker 使用) +### GPT-SoVITS の実行 (Docker 使用) #### Docker イメージの選択 コードベースの更新が頻繁である一方、Docker イメージのリリースは比較的遅いため、以下を確認してください: -- [Docker Hub](https://hub.docker.com/r/xxxxrt666/gpt-sovits) で最新のイメージタグを確認してください。 -- 環境に合った適切なイメージタグを選択してください。 -- オプション:最新の変更を反映させるため、提供されている Dockerfile を使ってローカルでイメージをビルドすることも可能です。 +- [Docker Hub](https://hub.docker.com/r/xxxxrt666/gpt-sovits) で最新のイメージタグを確認してください +- 環境に合った適切なイメージタグを選択してください +- `Lite` とは、Docker イメージに ASR モデルおよび UVR5 モデルが含まれていないことを意味します. UVR5 モデルは手動でダウンロードし、ASR モデルは必要に応じてプログラムが自動的にダウンロードします +- オプション:最新の変更を反映させるため、提供されている Dockerfile を使ってローカルでイメージをビルドすることも可能です #### 環境変数 -- `is_half`:半精度(fp16)を使用するかどうかを制御します。GPU が対応している場合、`true` に設定することでメモリ使用量を削減できます。 +- `is_half`:半精度 (fp16) を使用するかどうかを制御します. GPU が対応している場合、`true` に設定することでメモリ使用量を削減できます #### 共有メモリの設定 -Windows(Docker Desktop)では、デフォルトの共有メモリサイズが小さいため、予期しない動作が発生する可能性があります。Docker Compose ファイル内の `shm_size` を(例:`16g`)に増やすことをおすすめします。 +Windows (Docker Desktop) では、デフォルトの共有メモリサイズが小さいため、予期しない動作が発生する可能性があります. Docker Compose ファイル内の `shm_size` を (例:`16g`) に増やすことをおすすめします #### サービスの選択 @@ -149,7 +150,7 @@ docker compose run --service-ports [--lite] ``` -#### 実行中のコンテナへアクセス(Bash Shell) +#### 実行中のコンテナへアクセス (Bash Shell) コンテナがバックグラウンドで実行されている場合、以下のコマンドでシェルにアクセスできます: diff --git a/docs/ko/README.md b/docs/ko/README.md index ce313c3a..d499a325 100644 --- a/docs/ko/README.md +++ b/docs/ko/README.md @@ -118,17 +118,18 @@ pip install -r requirements.txt 코드베이스가 빠르게 업데이트되는 반면 Docker 이미지 릴리스 주기는 느리기 때문에 다음을 참고하세요: -- [Docker Hub](https://hub.docker.com/r/xxxxrt666/gpt-sovits)에서 최신 이미지 태그를 확인하세요. -- 환경에 맞는 적절한 이미지 태그를 선택하세요. -- 선택 사항: 최신 변경사항을 반영하려면 제공된 Dockerfile을 사용하여 로컬에서 직접 이미지를 빌드할 수 있습니다. +- [Docker Hub](https://hub.docker.com/r/xxxxrt666/gpt-sovits)에서 최신 이미지 태그를 확인하세요 +- 환경에 맞는 적절한 이미지 태그를 선택하세요 +- `Lite` 는 Docker 이미지에 ASR 모델과 UVR5 모델이 포함되어 있지 않음을 의미합니다. UVR5 모델은 사용자가 직접 다운로드해야 하며, ASR 모델은 필요 시 프로그램이 자동으로 다운로드합니다 +- 선택 사항: 최신 변경사항을 반영하려면 제공된 Dockerfile을 사용하여 로컬에서 직접 이미지를 빌드할 수 있습니다 #### 환경 변수 -- `is_half`: 반정밀도(fp16) 사용 여부를 제어합니다. GPU가 지원하는 경우 `true`로 설정하면 메모리 사용량을 줄일 수 있습니다. +- `is_half`: 반정밀도(fp16) 사용 여부를 제어합니다. GPU가 지원하는 경우 `true`로 설정하면 메모리 사용량을 줄일 수 있습니다 #### 공유 메모리 설정 -Windows(Docker Desktop)에서는 기본 공유 메모리 크기가 작아 예기치 않은 동작이 발생할 수 있습니다. 시스템 메모리 상황에 따라 Docker Compose 파일에서 `shm_size`를 (예: `16g`)로 증가시키는 것이 좋습니다. +Windows(Docker Desktop)에서는 기본 공유 메모리 크기가 작아 예기치 않은 동작이 발생할 수 있습니다. 시스템 메모리 상황에 따라 Docker Compose 파일에서 `shm_size`를 (예: `16g`)로 증가시키는 것이 좋습니다 #### 서비스 선택 diff --git a/docs/tr/README.md b/docs/tr/README.md index 83b7c160..12c841b3 100644 --- a/docs/tr/README.md +++ b/docs/tr/README.md @@ -118,9 +118,10 @@ pip install -r requirements.txt Kod tabanı hızla geliştiği halde Docker imajları daha yavaş yayınlandığı için lütfen şu adımları izleyin: -- 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. +- 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 +- `Lite`, Docker imajında ASR modelleri ve UVR5 modellerinin bulunmadığı anlamına gelir. UVR5 modellerini manuel olarak indirebilirsiniz; ASR modelleri ise gerektiğinde program tarafından otomatik olarak indirilir +- Opsiyonel: En güncel değişiklikleri almak için, sağlanan Dockerfile ile yerel olarak imajı kendiniz oluşturabilirsiniz #### Ortam Değişkenleri diff --git a/install.sh b/install.sh index d5474d57..d5512103 100644 --- a/install.sh +++ b/install.sh @@ -144,16 +144,22 @@ if [ "$USE_HF" = "true" ]; then PRETRINED_URL="https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/pretrained_models.zip" G2PW_URL="https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip" UVR5_URL="https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/uvr5_weights.zip" + NLTK_URL="https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/nltk_data.zip" + PYOPENJTALK_URL="https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/open_jtalk_dic_utf_8-1.11.tar.gz" elif [ "$USE_HF_MIRROR" = "true" ]; then echo "Download Model From HuggingFace-Mirror" PRETRINED_URL="https://hf-mirror.com/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/pretrained_models.zip" G2PW_URL="https://hf-mirror.com/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip" UVR5_URL="https://hf-mirror.com/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/uvr5_weights.zip" + NLTK_URL="https://hf-mirror.com/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/nltk_data.zip" + PYOPENJTALK_URL="https://hf-mirror.com/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/open_jtalk_dic_utf_8-1.11.tar.gz" elif [ "$USE_MODELSCOPE" = "true" ]; then echo "Download Model From ModelScope" PRETRINED_URL="https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/pretrained_models.zip" G2PW_URL="https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip" UVR5_URL="https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/uvr5_weights.zip" + NLTK_URL="https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/nltk_data.zip" + PYOPENJTALK_URL="https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/open_jtalk_dic_utf_8-1.11.tar.gz" fi if [ "$WORKFLOW" = "true" ]; then @@ -170,7 +176,7 @@ else unzip -q pretrained_models.zip rm -rf pretrained_models.zip - mv pretrained_models/* GPT_SoVITS/pretrained_models + mv -f pretrained_models/* GPT_SoVITS/pretrained_models rm -rf pretrained_models fi @@ -180,7 +186,7 @@ if [ ! -d "GPT_SoVITS/text/G2PWModel" ]; then unzip -q G2PWModel.zip rm -rf G2PWModel.zip - mv G2PWModel GPT_SoVITS/text/G2PWModel + mv -f G2PWModel GPT_SoVITS/text/G2PWModel else echo "G2PWModel Exists" fi @@ -194,7 +200,7 @@ if [ "$DOWNLOAD_UVR5" = "true" ]; then unzip -q uvr5_weights.zip rm -rf uvr5_weights.zip - mv uvr5_weights/* tools/uvr5/uvr5_weights + mv-f uvr5_weights/* tools/uvr5/uvr5_weights rm -rf uvr5_weights fi fi @@ -256,7 +262,18 @@ pip install -r extra-req.txt --no-deps --quiet pip install -r requirements.txt --quiet -python -c "import nltk; nltk.download(['averaged_perceptron_tagger','averaged_perceptron_tagger_eng','cmudict'])" +PY_PREFIX=$(python -c "import sys; print(sys.prefix)") +PYOPENJTALK_PREFIX=$(python -c "import os, pyopenjtalk; print(os.path.dirname(pyopenjtalk.__file__))") + +$WGET_CMD "$NLTK_URL" +unzip -q nltk_data +rm -rf nltk_data.zip +mv -f nltk_data "$PY_PREFIX" + +$WGET_CMD "$PYOPENJTALK_URL" +tar -xvzf open_jtalk_dic_utf_8-1.11.tar.gz +rm -rf open_jtalk_dic_utf_8-1.11.tar.gz +mv -f open_jtalk_dic_utf_8-1.11 "$PYOPENJTALK_PREFIX" if [ "$USE_ROCM" = true ] && [ "$IS_WSL" = true ]; then echo "Update to WSL compatible runtime lib..."