Files
GPT-SoVITS/gpt-sovits_kaggle.ipynb
T
XXXXRT666andGitHub 53cac93589 Refactor: Format Code with Ruff and Update Deprecated G2PW Link (#2255)
* ruff check --fix

* ruff format --line-length 120 --target-version py39

* Change the link for G2PW Model

* update pytorch version and colab
2025-04-07 16:42:47 +08:00

7.2 KiB

In [ ]:
!git clone https://github.com/RVC-Boss/GPT-SoVITS.git
%cd GPT-SoVITS
!apt-get update && apt-get install -y --no-install-recommends tzdata ffmpeg libsox-dev parallel aria2 git git-lfs && git lfs install
!pip install -r requirements.txt
!pip install -r extra-req.txt --no-deps
In [ ]:
# @title Download pretrained models 下载预训练模型
!mkdir -p /kaggle/working/GPT-SoVITS/GPT_SoVITS/pretrained_models
!mkdir -p /kaggle/working/GPT-SoVITS/tools/asr/models
!mkdir -p /kaggle/working/GPT-SoVITS/tools/uvr5
%cd /kaggle/working/GPT-SoVITS/GPT_SoVITS/pretrained_models
!git clone https://huggingface.co/lj1995/GPT-SoVITS
%cd /kaggle/working/GPT-SoVITS/tools/asr/models
!git clone https://www.modelscope.cn/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch.git
!git clone https://www.modelscope.cn/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch.git
!git clone https://www.modelscope.cn/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch.git
# # @title UVR5 pretrains 安装uvr5模型
%cd /kaggle/working/GPT-SoVITS/tools/uvr5
!git clone https://huggingface.co/Delik/uvr5_weights
!git config core.sparseCheckout true
!mv /kaggle/working/GPT-SoVITS/GPT_SoVITS/pretrained_models/GPT-SoVITS/* /kaggle/working/GPT-SoVITS/GPT_SoVITS/pretrained_models/
In [ ]:
# @title launch WebUI 启动WebUI
%cd /kaggle/working/GPT-SoVITS/
!npm install -g localtunnel
import subprocess
import threading
import time
import socket
import urllib.request


def iframe_thread(port):
    while True:
        time.sleep(0.5)
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        result = sock.connect_ex(("127.0.0.1", port))
        if result == 0:
            break
        sock.close()

        from colorama import Fore, Style
    print(
        Fore.GREEN + "\nIP: ",
        Fore.RED,
        urllib.request.urlopen("https://ipv4.icanhazip.com").read().decode("utf8").strip("\n"),
        "\n",
        Style.RESET_ALL,
    )
    p = subprocess.Popen(["lt", "--port", "{}".format(port)], stdout=subprocess.PIPE)
    for line in p.stdout:
        print(line.decode(), end="")


threading.Thread(target=iframe_thread, daemon=True, args=(9874,)).start()

!python  webui.py
In [ ]:
# 开启推理页面
%cd /kaggle/working/GPT-SoVITS/
!npm install -g localtunnel
import threading


def iframe_thread(port):
    while True:
        time.sleep(0.5)
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        result = sock.connect_ex(("127.0.0.1", port))
        if result == 0:
            break
        sock.close()

        from colorama import Fore, Style
    print(
        Fore.GREEN + "\nIP: ",
        Fore.RED,
        urllib.request.urlopen("https://ipv4.icanhazip.com").read().decode("utf8").strip("\n"),
        "\n",
        Style.RESET_ALL,
    )
    p = subprocess.Popen(["lt", "--port", "{}".format(port)], stdout=subprocess.PIPE)
    for line in p.stdout:
        print(line.decode(), end="")


threading.Thread(target=iframe_thread, daemon=True, args=(9872,)).start()

!python  ./GPT_SoVITS/inference_webui.py