diff --git a/colab_webui.ipynb b/colab_webui.ipynb index 5faee515..111bd414 100644 --- a/colab_webui.ipynb +++ b/colab_webui.ipynb @@ -30,10 +30,11 @@ "!pip install -q condacolab\n", "# Setting up condacolab and installing packages\n", "import condacolab\n", - "condacolab.install_from_url(\"https://repo.anaconda.com/miniconda/Miniconda3-py39_23.11.0-2-Linux-x86_64.sh\")\n", + "condacolab.install_from_url(\"https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh\")\n", + "\n", "%cd -q /content\n", "!git clone https://github.com/RVC-Boss/GPT-SoVITS\n", - "%cd -q /content/GPT-SoVITS\n", + "%cd -q GPT-SoVITS\n", "!bash install.sh" ] }, @@ -45,22 +46,12 @@ }, "outputs": [], "source": [ - "# @title Download pretrained models 下载预训练模型\n", - "!mkdir -p /content/GPT-SoVITS/GPT_SoVITS/pretrained_models\n", - "!mkdir -p /content/GPT-SoVITS/tools/damo_asr/models\n", - "!mkdir -p /content/GPT-SoVITS/tools/uvr5\n", - "%cd /content/GPT-SoVITS/GPT_SoVITS/pretrained_models\n", - "!git clone https://huggingface.co/lj1995/GPT-SoVITS\n", - "%cd /content/GPT-SoVITS/tools/damo_asr/models\n", - "!git clone https://www.modelscope.cn/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch.git\n", - "!git clone https://www.modelscope.cn/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch.git\n", - "!git clone https://www.modelscope.cn/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch.git\n", - "# @title UVR5 pretrains 安装uvr5模型\n", - "%cd /content/GPT-SoVITS/tools/uvr5\n", - "%rm -r uvr5_weights\n", - "!git clone https://huggingface.co/Delik/uvr5_weights\n", - "!git config core.sparseCheckout true\n", - "!mv /content/GPT-SoVITS/GPT_SoVITS/pretrained_models/GPT-SoVITS/* /content/GPT-SoVITS/GPT_SoVITS/pretrained_models/" + "# @title UVR5 Pretrained Models\n", + "!wget https://www.modelscope.cn/models/XXXXRT/UVR5Weights4GSV/resolve/master/uvr5_weights.zip\n", + "!unzip uvr5_weights.zip\n", + "!rm -rf uvr5_weights.zip\n", + "!mv uvr5_weights/* tools/uvr5/uvr5_weights\n", + "!rm -rf uvr5_weights" ] }, { diff --git a/docs/ko/README.md b/docs/ko/README.md index 4b2fb632..9a9276e4 100644 --- a/docs/ko/README.md +++ b/docs/ko/README.md @@ -40,12 +40,14 @@ https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350- ### 테스트 통과 환경 -- Python 3.9, PyTorch 2.0.1, CUDA 11 -- Python 3.10.13, PyTorch 2.1.2, CUDA 12.3 -- Python 3.9, Pytorch 2.2.2, macOS 14.4.1 (Apple Slilicon) -- Python 3.9, PyTorch 2.2.2, CPU 장치 - -_참고: numba==0.56.4 는 python<3.11 을 필요로 합니다._ +| 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 @@ -115,7 +117,7 @@ pip install -r requirements.txt #### docker-compose.yaml 설정 -0. 이미지 태그: 코드 저장소가 빠르게 업데이트되고 패키지가 느리게 빌드되고 테스트되므로, 현재 빌드된 최신 도커 이미지를 [Docker Hub](https://hub.docker.com/r/breakstring/gpt-sovits)에서 확인하고 필요에 따라 Dockerfile을 사용하여 로컬에서 빌드할 수 있습니다. +0. 이미지 태그: 코드 저장소가 빠르게 업데이트되고 패키지가 느리게 빌드되고 테스트되므로, 현재 빌드된 최신 도커 이미지를 [Docker Hub](https://hub.docker.com/r/breakstring/gpt-sovits)(오래된 버전) 에서 확인하고 필요에 따라 Dockerfile을 사용하여 로컬에서 빌드할 수 있습니다. 1. 환경 변수: @@ -143,6 +145,8 @@ docker run --rm -it --gpus=all --env=is_half=False --volume=G:\GPT-SoVITS-Docker ## 사전 학습된 모델 +**`install.sh`가 성공적으로 실행되면 No.1은 건너뛰어도 됩니다.** + 1. [GPT-SoVITS Models](https://huggingface.co/lj1995/GPT-SoVITS) 에서 사전 학습된 모델을 다운로드하고, `GPT_SoVITS/pretrained_models` 디렉토리에 배치하세요. 2. [G2PWModel_1.1.zip](https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/g2p/G2PWModel_1.1.zip) 에서 모델을 다운로드하고 압축을 풀어 `G2PWModel`로 이름을 변경한 후, `GPT_SoVITS/text` 디렉토리에 배치하세요. (중국어 TTS 전용) diff --git a/docs/tr/README.md b/docs/tr/README.md index 2e16e730..84a5e8c8 100644 --- a/docs/tr/README.md +++ b/docs/tr/README.md @@ -42,12 +42,14 @@ https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350- ### Test Edilmiş Ortamlar -- Python 3.9, PyTorch 2.0.1, CUDA 11 -- Python 3.10.13, PyTorch 2.1.2, CUDA 12.3 -- Python 3.9, PyTorch 2.2.2, macOS 14.4.1 (Apple silikon) -- Python 3.9, PyTorch 2.2.2, CPU cihazları - -_Not: numba==0.56.4, py<3.11 gerektirir_ +| 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 @@ -115,10 +117,10 @@ pip install -r requirements.txt #### docker-compose.yaml yapılandırması -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) 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. +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. 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. +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. @@ -138,6 +140,8 @@ docker run --rm -it --gpus=all --env=is_half=False --volume=G:\GPT-SoVITS-Docker ## Önceden Eğitilmiş Modeller +**Eğer `install.sh` başarıyla çalıştırılırsa, No.1 adımını atlayabilirsiniz.** + 1. [GPT-SoVITS Models](https://huggingface.co/lj1995/GPT-SoVITS) üzerinden önceden eğitilmiş modelleri indirip `GPT_SoVITS/pretrained_models` dizinine yerleştirin. 2. [G2PWModel_1.1.zip](https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/g2p/G2PWModel_1.1.zip) üzerinden modeli indirip sıkıştırmayı açın ve `G2PWModel` olarak yeniden adlandırın, ardından `GPT_SoVITS/text` dizinine yerleştirin. (Sadece Çince TTS için) diff --git a/go-webui.bat b/go-webui.bat index 398f6d9b..a2dfff6c 100644 --- a/go-webui.bat +++ b/go-webui.bat @@ -1,2 +1,2 @@ -runtime\python.exe webui.py zh_CN +runtime\python.exe -I webui.py zh_CN pause diff --git a/go-webui.ps1 b/go-webui.ps1 index 6e8dce25..f9427263 100644 --- a/go-webui.ps1 +++ b/go-webui.ps1 @@ -1,4 +1,4 @@ $ErrorActionPreference = "SilentlyContinue" chcp 65001 -& "$PSScriptRoot\runtime\python.exe" "$PSScriptRoot\webui.py" zh_CN +& "$PSScriptRoot\runtime\python.exe" -I "$PSScriptRoot\webui.py" zh_CN pause diff --git a/install.sh b/install.sh index 2f93e9fd..b12b44ac 100644 --- a/install.sh +++ b/install.sh @@ -1,7 +1,14 @@ #!/bin/bash +# cd into GPT-SoVITS Base Path +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)" + +cd "$SCRIPT_DIR" || exit 1 + set -e +trap 'echo "Error Occured at \"$BASH_COMMAND\" with exit code $?"; exit 1' ERR + # 安装构建工具 # Install build tools echo "Installing GCC..." @@ -13,6 +20,47 @@ conda install -c conda-forge gxx -y echo "Installing ffmpeg and cmake..." conda install ffmpeg cmake -y +echo "Installing git-lfs and zip..." +conda install git-lfs -y +conda apt install zip -y + +git-lfs install + +# Download Pretrained Models +if find "GPT_SoVITS/pretrained_models" -mindepth 1 ! -name '.gitignore' | grep -q .; then + echo "Pretrained Model Exists" +else + echo "Download Pretrained Models" + wget --tries=25 --wait=5 --read-timeout=40 --retry-on-http-error=404 "https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/pretrained_models.zip" + + unzip pretrained_models.zip + rm -rf pretrained_models.zip + mv pretrained_models/* GPT_SoVITS/pretrained_models + rm -rf pretrained_models +fi + +# Download G2PW Models +if [ ! -d "GPT_SoVITS/text/G2PWModel" ]; then + echo "Download G2PWModel" + wget --tries=25 --wait=5 --read-timeout=40 --retry-on-http-error=404 "https://www.modelscope.cn/models/kamiorinn/g2pw/resolve/master/G2PWModel_1.1.zip" + + unzip G2PWModel_1.1.zip + rm -rf G2PWModel_1.1.zip + mv G2PWModel_1.1 GPT_SoVITS/text/G2PWModel +else + echo "G2PWModel Exists" +fi + +if [ ! -d "GPT_SoVITS/pretrained_models/fast_langdetect" ]; then + echo "Download Fast Langdetect Model" + wget --tries=25 --wait=5 --read-timeout=40 --retry-on-http-error=404 "https://dl.fbaipublicfiles.com/fasttext/supervised-models/lid.176.bin" + + mkdir "GPT_SoVITS/pretrained_models/fast_langdetect" + mv "lid.176.bin" "GPT_SoVITS/pretrained_models/fast_langdetect" +else + echo "Fast Langdetect Model Exists" +fi + # 设置编译环境 # Set up build environment export CMAKE_MAKE_PROGRAM="$CONDA_PREFIX/bin/cmake" @@ -63,37 +111,6 @@ echo "Installing Python dependencies from requirements.txt..." # Refresh environment hash -r -# pyopenjtalk Installation -conda install jq -y - -OS_TYPE=$(uname) - -PACKAGE_NAME="pyopenjtalk" - -VERSION=$(curl -s https://pypi.org/pypi/$PACKAGE_NAME/json | jq -r .info.version) - -wget "https://files.pythonhosted.org/packages/source/${PACKAGE_NAME:0:1}/$PACKAGE_NAME/$PACKAGE_NAME-$VERSION.tar.gz" - -TAR_FILE=$(ls ${PACKAGE_NAME}-*.tar.gz) -DIR_NAME="${TAR_FILE%.tar.gz}" - -tar -xzf "$TAR_FILE" -rm "$TAR_FILE" - -CMAKE_FILE="$DIR_NAME/lib/open_jtalk/src/CMakeLists.txt" - -if [[ "$OS_TYPE" == "darwin"* ]]; then - sed -i '' -E 's/cmake_minimum_required\(VERSION[^\)]*\)/cmake_minimum_required(VERSION 3.5...3.31)/' "$CMAKE_FILE" -else - sed -i -E 's/cmake_minimum_required\(VERSION[^\)]*\)/cmake_minimum_required(VERSION 3.5...3.31)/' "$CMAKE_FILE" -fi - -tar -czf "$TAR_FILE" "$DIR_NAME" - -pip install "$TAR_FILE" - -rm -rf "$TAR_FILE" "$DIR_NAME" - pip install -r extra-req.txt --no-deps pip install -r requirements.txt diff --git a/requirements.txt b/requirements.txt index e02069ac..66754cda 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,10 +1,10 @@ -numpy==1.23.4 +numpy<2.0 scipy tensorboard librosa==0.9.2 -numba==0.56.4 -pytorch-lightning>2.0 -gradio>=4.0,<=4.24.0 +numba +pytorch-lightning>=2.4 +gradio<5 ffmpeg-python onnxruntime; sys_platform == 'darwin' onnxruntime-gpu; sys_platform != 'darwin' @@ -12,7 +12,7 @@ tqdm funasr==1.0.27 cn2an pypinyin -pyopenjtalk>=0.3.4 +pyopenjtalk>=0.4.1 g2p_en torchaudio modelscope==1.10.0 @@ -25,7 +25,7 @@ psutil jieba_fast jieba split-lang -fast_langdetect>=0.3.0 +fast_langdetect>=0.3.1 wordsegment rotary_embedding_torch ToJyutping @@ -34,7 +34,7 @@ ko_pron opencc; sys_platform != 'linux' opencc==1.1.1; sys_platform == 'linux' python_mecab_ko; sys_platform != 'win32' -fastapi<0.112.2 +fastapi>=0.115.1 x_transformers torchmetrics<=1.5 pydantic<=2.10.6