wsj1995's picture
feat: init
8aad0a5

A newer version of the Gradio SDK is available: 5.42.0

Upgrade

GPT-SoVITS-WebUI

์†Œ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋กœ ์Œ์„ฑ ๋ณ€ํ™˜ ๋ฐ ์Œ์„ฑ ํ•ฉ์„ฑ์„ ์ง€์›ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ WebUI.

madewithlove


Open In Colab License Huggingface Discord

English | ไธญๆ–‡็ฎ€ไฝ“ | ๆ—ฅๆœฌ่ชž | ํ•œ๊ตญ์–ด | Tรผrkรงe


๊ธฐ๋Šฅ:

  1. ์ œ๋กœ์ƒท ํ…์ŠคํŠธ ์Œ์„ฑ ๋ณ€ํ™˜ (TTS): 5์ดˆ์˜ ์Œ์„ฑ ์ƒ˜ํ”Œ์„ ์ž…๋ ฅํ•˜๋ฉด ์ฆ‰์‹œ ํ…์ŠคํŠธ๋ฅผ ์Œ์„ฑ์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  2. ์†Œ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ TTS: 1๋ถ„์˜ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ๋งŒ์œผ๋กœ ๋ชจ๋ธ์„ ๋ฏธ์„ธ ์กฐ์ •ํ•˜์—ฌ ์Œ์„ฑ ์œ ์‚ฌ๋„์™€ ์‹ค์ œ๊ฐ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  3. ๋‹ค๊ตญ์–ด ์ง€์›: ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์…‹๊ณผ ๋‹ค๋ฅธ ์–ธ์–ด์˜ ์ถ”๋ก ์„ ์ง€์›ํ•˜๋ฉฐ, ํ˜„์žฌ ์˜์–ด, ์ผ๋ณธ์–ด, ์ค‘๊ตญ์–ด, ๊ด‘๋‘ฅ์–ด, ํ•œ๊ตญ์–ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  4. WebUI ๋„๊ตฌ: ์Œ์„ฑ ๋ฐ˜์ฃผ ๋ถ„๋ฆฌ, ์ž๋™ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์…‹ ๋ถ„ํ• , ์ค‘๊ตญ์–ด ์ž๋™ ์Œ์„ฑ ์ธ์‹(ASR) ๋ฐ ํ…์ŠคํŠธ ์ฃผ์„ ๋“ฑ์˜ ๋„๊ตฌ๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ ์ดˆ๋ณด์ž๊ฐ€ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์…‹๊ณผ GPT/SoVITS ๋ชจ๋ธ์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.

๋ฐ๋ชจ ๋น„๋””์˜ค๋ฅผ ํ™•์ธํ•˜์„ธ์š”! demo video

๋ณด์ง€ ๋ชปํ•œ ๋ฐœํ™”์ž์˜ ํ“จ์ƒท(few-shot) ํŒŒ์ธํŠœ๋‹ ๋ฐ๋ชจ:

https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-80c060ab47fb

์‚ฌ์šฉ์ž ์„ค๋ช…์„œ: ็ฎ€ไฝ“ไธญๆ–‡ | English

์„ค์น˜

ํ…Œ์ŠคํŠธ ํ†ต๊ณผ ํ™˜๊ฒฝ

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.9 PyTorch 2.8.0dev CUDA 12.8
Python 3.9 PyTorch 2.5.1 Apple silicon
Python 3.11 PyTorch 2.7.0 Apple silicon
Python 3.9 PyTorch 2.2.2 CPU

Windows

Windows ์‚ฌ์šฉ์ž๋ผ๋ฉด (win>=10์—์„œ ํ…Œ์ŠคํŠธ๋จ), ํ†ตํ•ฉ ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•œ ํ›„ ์••์ถ•์„ ํ’€๊ณ  go-webui.bat ํŒŒ์ผ์„ ๋”๋ธ” ํด๋ฆญํ•˜๋ฉด GPT-SoVITS-WebUI๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Linux

conda create -n GPTSoVits python=3.10
conda activate GPTSoVits
bash install.sh --device <CU126|CU128|ROCM|CPU> --source <HF|HF-Mirror|ModelScope> [--download-uvr5]

macOS

์ฃผ์˜: Mac์—์„œ GPU๋กœ ํ›ˆ๋ จ๋œ ๋ชจ๋ธ์€ ๋‹ค๋ฅธ OS์—์„œ ํ›ˆ๋ จ๋œ ๋ชจ๋ธ์— ๋น„ํ•ด ํ’ˆ์งˆ์ด ๋‚ฎ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์ „๊นŒ์ง€ MacOS์—์„  CPU๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ›ˆ๋ จ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์„ค์น˜ํ•˜์„ธ์š”

conda create -n GPTSoVits python=3.10
conda activate GPTSoVits
bash install.sh --device <MPS|CPU> --source <HF|HF-Mirror|ModelScope> [--download-uvr5]

์ˆ˜๋™ ์„ค์น˜

์˜์กด์„ฑ ์„ค์น˜

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 ์‚ฌ์šฉ์ž
conda activate GPTSoVits
conda install ffmpeg
Ubuntu/Debian ์‚ฌ์šฉ์ž
sudo apt install ffmpeg
sudo apt install libsox-dev
Windows ์‚ฌ์šฉ์ž

ffmpeg.exe์™€ ffprobe.exe๋ฅผ GPT-SoVITS root ๋””๋ ‰ํ† ๋ฆฌ์— ๋„ฃ์Šต๋‹ˆ๋‹ค

Visual Studio 2017 ์„ค์น˜

MacOS ์‚ฌ์šฉ์ž
brew install ffmpeg

GPT-SoVITS ์‹คํ–‰ํ•˜๊ธฐ (Docker ์‚ฌ์šฉ)

Docker ์ด๋ฏธ์ง€ ์„ ํƒ

์ฝ”๋“œ๋ฒ ์ด์Šค๊ฐ€ ๋น ๋ฅด๊ฒŒ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๋ฐ˜๋ฉด Docker ์ด๋ฏธ์ง€ ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ๋Š” ๋А๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”:

  • Docker Hub์—์„œ ์ตœ์‹  ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ฅผ ํ™•์ธํ•˜์„ธ์š”
  • ํ™˜๊ฒฝ์— ๋งž๋Š” ์ ์ ˆํ•œ ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ฅผ ์„ ํƒํ•˜์„ธ์š”
  • Lite ๋Š” Docker ์ด๋ฏธ์ง€์— ASR ๋ชจ๋ธ๊ณผ UVR5 ๋ชจ๋ธ์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. UVR5 ๋ชจ๋ธ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•˜๋ฉฐ, ASR ๋ชจ๋ธ์€ ํ•„์š” ์‹œ ํ”„๋กœ๊ทธ๋žจ์ด ์ž๋™์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค
  • Docker Compose ์‹คํ–‰ ์‹œ, ํ•ด๋‹น ์•„ํ‚คํ…์ฒ˜์— ๋งž๋Š” ์ด๋ฏธ์ง€(amd64 ๋˜๋Š” arm64)๊ฐ€ ์ž๋™์œผ๋กœ ๋‹ค์šด๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค
  • ์„ ํƒ ์‚ฌํ•ญ: ์ตœ์‹  ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜๋ ค๋ฉด ์ œ๊ณต๋œ Dockerfile์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ์—์„œ ์ง์ ‘ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

ํ™˜๊ฒฝ ๋ณ€์ˆ˜

  • is_half: ๋ฐ˜์ •๋ฐ€๋„(fp16) ์‚ฌ์šฉ ์—ฌ๋ถ€๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. GPU๊ฐ€ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ true๋กœ ์„ค์ •ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ์„ค์ •

Windows(Docker Desktop)์—์„œ๋Š” ๊ธฐ๋ณธ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๊ฐ€ ์ž‘์•„ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋™์ž‘์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ ์ƒํ™ฉ์— ๋”ฐ๋ผ Docker Compose ํŒŒ์ผ์—์„œ shm_size๋ฅผ (์˜ˆ: 16g)๋กœ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค

์„œ๋น„์Šค ์„ ํƒ

docker-compose.yaml ํŒŒ์ผ์—๋Š” ๋‘ ๊ฐ€์ง€ ์„œ๋น„์Šค ์œ ํ˜•์ด ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • GPT-SoVITS-CU126 ๋ฐ GPT-SoVITS-CU128: ์ „์ฒด ๊ธฐ๋Šฅ์„ ํฌํ•จํ•œ ํ’€ ๋ฒ„์ „
  • GPT-SoVITS-CU126-Lite ๋ฐ GPT-SoVITS-CU128-Lite: ์˜์กด์„ฑ์ด ์ค„์–ด๋“  ๊ฒฝ๋Ÿ‰ ๋ฒ„์ „

ํŠน์ • ์„œ๋น„์Šค๋ฅผ Docker Compose๋กœ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์„ธ์š”:

docker compose run --service-ports <GPT-SoVITS-CU126-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU126|GPT-SoVITS-CU128>

Docker ์ด๋ฏธ์ง€ ์ง์ ‘ ๋นŒ๋“œํ•˜๊ธฐ

์ง์ ‘ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”:

bash docker_build.sh --cuda <12.6|12.8> [--lite]

์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ์ ‘์†ํ•˜๊ธฐ (Bash Shell)

์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰ ์ค‘์ผ ๋•Œ ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ์…ธ์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

docker exec -it <GPT-SoVITS-CU126-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU126|GPT-SoVITS-CU128> bash

์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ

install.sh๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฉด No.1,2,3 ์€ ๊ฑด๋„ˆ๋›ฐ์–ด๋„ ๋ฉ๋‹ˆ๋‹ค.

  1. GPT-SoVITS Models ์—์„œ ์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ , GPT_SoVITS/pretrained_models ๋””๋ ‰ํ† ๋ฆฌ์— ๋ฐฐ์น˜ํ•˜์„ธ์š”.

  2. G2PWModel.zip(HF)| G2PWModel.zip(ModelScope) ์—์„œ ๋ชจ๋ธ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์••์ถ•์„ ํ’€์–ด G2PWModel๋กœ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•œ ํ›„, GPT_SoVITS/text ๋””๋ ‰ํ† ๋ฆฌ์— ๋ฐฐ์น˜ํ•˜์„ธ์š”. (์ค‘๊ตญ์–ด TTS ์ „์šฉ)

  3. UVR5 (๋ณด์ปฌ/๋ฐ˜์ฃผ ๋ถ„๋ฆฌ & ์ž”ํ–ฅ ์ œ๊ฑฐ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ)์˜ ๊ฒฝ์šฐ, 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, Damo VAD Model ๋ฐ Damo Punc Model ์—์„œ ๋ชจ๋ธ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ , tools/asr/models ๋””๋ ‰ํ† ๋ฆฌ์— ๋ฐฐ์น˜ํ•˜์„ธ์š”.

  5. ์˜์–ด ๋˜๋Š” ์ผ๋ณธ์–ด ASR (์ถ”๊ฐ€ ๊ธฐ๋Šฅ)์˜ ๊ฒฝ์šฐ, Faster Whisper Large V3 ์—์„œ ๋ชจ๋ธ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ , tools/asr/models ๋””๋ ‰ํ† ๋ฆฌ์— ๋ฐฐ์น˜ํ•˜์„ธ์š”. ๋˜ํ•œ, ๋‹ค๋ฅธ ๋ชจ๋ธ ์€ ๋” ์ ์€ ๋””์Šคํฌ ์šฉ๋Ÿ‰์œผ๋กœ ๋น„์Šทํ•œ ํšจ๊ณผ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ์…‹ ํ˜•์‹

ํ…์ŠคํŠธ ์Œ์„ฑ ํ•ฉ์„ฑ(TTS) ์ฃผ์„ .list ํŒŒ์ผ ํ˜•์‹:

vocal_path|speaker_name|language|text

์–ธ์–ด ์‚ฌ์ „:

  • 'zh': ์ค‘๊ตญ์–ด
  • 'ja': ์ผ๋ณธ์–ด
  • 'en': ์˜์–ด

์˜ˆ์‹œ:

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๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

๊ธฐํƒ€

python webui.py <์–ธ์–ด(์˜ต์…˜)>

V1์œผ๋กœ ์ „ํ™˜ํ•˜๋ ค๋ฉด,

python webui.py v1 <์–ธ์–ด(์˜ต์…˜)>

๋˜๋Š” WebUI์—์„œ ์ˆ˜๋™์œผ๋กœ ๋ฒ„์ „์„ ์ „ํ™˜ํ•˜์‹ญ์‹œ์˜ค.

๋ฏธ์„ธ ์กฐ์ •

๊ฒฝ๋กœ ์ž๋™ ์ฑ„์šฐ๊ธฐ๊ฐ€ ์ง€์›๋ฉ๋‹ˆ๋‹ค

  1. ์˜ค๋””์˜ค ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.
  2. ์˜ค๋””์˜ค๋ฅผ ์ž‘์€ ์ฒญํฌ๋กœ ๋ถ„ํ• ํ•˜์‹ญ์‹œ์˜ค.
  3. ๋…ธ์ด์ฆˆ ์ œ๊ฑฐ(์˜ต์…˜)
  4. ASR ์ˆ˜ํ–‰
  5. ASR ์ „์‚ฌ๋ฅผ ๊ต์ •ํ•˜์‹ญ์‹œ์˜ค.
  6. ๋‹ค์Œ ํƒญ์œผ๋กœ ์ด๋™ํ•˜์—ฌ ๋ชจ๋ธ์„ ๋ฏธ์„ธ ์กฐ์ •ํ•˜์‹ญ์‹œ์˜ค.

์ถ”๋ก  WebUI ์—ด๊ธฐ

ํ†ตํ•ฉ ํŒจํ‚ค์ง€ ์‚ฌ์šฉ์ž

go-webui-v2.bat์„ ๋”๋ธ” ํด๋ฆญํ•˜๊ฑฐ๋‚˜ go-webui-v2.ps1๋ฅผ ์‚ฌ์šฉํ•œ ๋‹ค์Œ 1-GPT-SoVITS-TTS/1C-inference์—์„œ ์ถ”๋ก  webui๋ฅผ ์—ฝ๋‹ˆ๋‹ค.

๊ธฐํƒ€

python GPT_SoVITS/inference_webui.py <์–ธ์–ด(์˜ต์…˜)>

๋˜๋Š”

python webui.py

๊ทธ๋Ÿฐ ๋‹ค์Œ 1-GPT-SoVITS-TTS/1C-inference์—์„œ ์ถ”๋ก  webui๋ฅผ ์—ฝ๋‹ˆ๋‹ค.

V2 ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ

์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ:

  1. ํ•œ๊ตญ์–ด ๋ฐ ๊ด‘๋‘ฅ์–ด ์ง€์›

  2. ์ตœ์ ํ™”๋œ ํ…์ŠคํŠธ ํ”„๋ก ํŠธ์—”๋“œ

  3. ์‚ฌ์ „ ํ•™์Šต ๋ชจ๋ธ์ด 2์ฒœ ์‹œ๊ฐ„์—์„œ 5์ฒœ ์‹œ๊ฐ„์œผ๋กœ ํ™•์žฅ

  4. ์ €ํ’ˆ์งˆ ์ฐธ์กฐ ์˜ค๋””์˜ค์— ๋Œ€ํ•œ ํ•ฉ์„ฑ ํ’ˆ์งˆ ํ–ฅ์ƒ

    ์ž์„ธํ•œ ๋‚ด์šฉ

V1 ํ™˜๊ฒฝ์—์„œ V2๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด:

  1. pip install -r requirements.txt๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๋ถ€ ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ

  2. github์—์„œ ์ตœ์‹  ์ฝ”๋“œ๋ฅผ ํด๋ก ํ•˜์‹ญ์‹œ์˜ค.

  3. huggingface์—์„œ V2 ์‚ฌ์ „ ํ•™์Šต ๋ชจ๋ธ์„ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ GPT_SoVITS/pretrained_models/gsv-v2final-pretrained์— ๋„ฃ์œผ์‹ญ์‹œ์˜ค.

    ์ค‘๊ตญ์–ด V2 ์ถ”๊ฐ€: G2PWModel.zip(HF)| G2PWModel.zip(ModelScope) (G2PW ๋ชจ๋ธ์„ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์••์ถ•์„ ํ’€๊ณ  G2PWModel๋กœ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•œ ๋‹ค์Œ GPT_SoVITS/text์— ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.)

V3 ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ

์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ:

  1. ์Œ์ƒ‰ ์œ ์‚ฌ์„ฑ์ด ๋” ๋†’์•„์ ธ ๋ชฉํ‘œ ์Œ์„ฑ์— ๋Œ€ํ•œ ํ•™์Šต ๋ฐ์ดํ„ฐ๊ฐ€ ์ ๊ฒŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. (๊ธฐ๋ณธ ๋ชจ๋ธ์„ ์ง์ ‘ ์‚ฌ์šฉํ•˜์—ฌ ๋ฏธ์„ธ ์กฐ์ • ์—†์ด ์Œ์ƒ‰ ์œ ์‚ฌ์„ฑ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.)

  2. GPT ๋ชจ๋ธ์ด ๋” ์•ˆ์ •์ ์ด๋ฉฐ ๋ฐ˜๋ณต ๋ฐ ์ƒ๋žต์ด ์ ๊ณ , ๋” ํ’๋ถ€ํ•œ ๊ฐ์ • ํ‘œํ˜„์„ ๊ฐ€์ง„ ์Œ์„ฑ์„ ์ƒ์„ฑํ•˜๊ธฐ๊ฐ€ ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค.

    ์ž์„ธํ•œ ๋‚ด์šฉ

v2 ํ™˜๊ฒฝ์—์„œ v3 ์‚ฌ์šฉํ•˜๊ธฐ:

  1. pip install -r requirements.txt๋กœ ์ผ๋ถ€ ํŒจํ‚ค์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

  2. ์ตœ์‹  ์ฝ”๋“œ๋ฅผ github ์—์„œ ํด๋ก ํ•ฉ๋‹ˆ๋‹ค.

  3. v3 ์‚ฌ์ „ ํ›ˆ๋ จ๋œ ๋ชจ๋ธ(s1v3.ckpt, s2Gv3.pth, ๊ทธ๋ฆฌ๊ณ  models--nvidia--bigvgan_v2_24khz_100band_256x ํด๋”)์„ huggingface์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ GPT_SoVITS/pretrained_models ํด๋”์— ๋„ฃ์Šต๋‹ˆ๋‹ค.

    ์ถ”๊ฐ€: ์˜ค๋””์˜ค ์Šˆํผ ํ•ด์ƒ๋„ ๋ชจ๋ธ์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค์šด๋กœ๋“œ ๋ฐฉ๋ฒ•์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

V4 ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ

์‹ ๊ทœ ๊ธฐ๋Šฅ:

  1. V4๋Š” V3์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋น„์ •์ˆ˜ ๋ฐฐ์œจ ์—…์ƒ˜ํ”Œ๋ง์œผ๋กœ ์ธํ•œ ๊ธˆ์†์„ฑ ์žก์Œ ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ–ˆ์œผ๋ฉฐ, ์†Œ๋ฆฌ๊ฐ€ ๋จน๋จนํ•ด์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ 48kHz ์˜ค๋””์˜ค๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค (V3๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 24kHz๋งŒ ์ง€์›). ๊ฐœ๋ฐœ์ž๋Š” V4๋ฅผ V3์˜ ์ง์ ‘์ ์ธ ๋Œ€์ฒด ๋ฒ„์ „์œผ๋กœ ๋ณด๊ณ  ์žˆ์ง€๋งŒ ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ๋ณด๊ธฐ

V1/V2/V3 ํ™˜๊ฒฝ์—์„œ V4๋กœ ์ „ํ™˜ ๋ฐฉ๋ฒ•:

  1. ์ผ๋ถ€ ์˜์กด ํŒจํ‚ค์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด pip install -r requirements.txt ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”.

  2. GitHub์—์„œ ์ตœ์‹  ์ฝ”๋“œ๋ฅผ ํด๋ก ํ•˜์„ธ์š”.

  3. huggingface์—์„œ V4 ์‚ฌ์ „ ํ•™์Šต ๋ชจ๋ธ(gsv-v4-pretrained/s2v4.ckpt ๋ฐ gsv-v4-pretrained/vocoder.pth)์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  GPT_SoVITS/pretrained_models ๋””๋ ‰ํ† ๋ฆฌ์— ๋„ฃ์œผ์„ธ์š”.

V2Pro ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ

์‹ ๊ทœ ๊ธฐ๋Šฅ:

  1. V2๋ณด๋‹ค ์•ฝ๊ฐ„ ๋†’์€ VRAM ์‚ฌ์šฉ๋Ÿ‰์ด์ง€๋งŒ ์„ฑ๋Šฅ์€ V4๋ณด๋‹ค ์šฐ์ˆ˜ํ•˜๋ฉฐ, V2 ์ˆ˜์ค€์˜ ํ•˜๋“œ์›จ์–ด ๋น„์šฉ๊ณผ ์†๋„๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ๋ณด๊ธฐ

  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์—์„œ V2Pro ์‚ฌ์ „ ํ•™์Šต ๋ชจ๋ธ(v2Pro/s2Dv2Pro.pth, v2Pro/s2Gv2Pro.pth, v2Pro/s2Dv2ProPlus.pth, v2Pro/s2Gv2ProPlus.pth, ๋ฐ sv/pretrained_eres2netv2w24s4ep4.ckpt)์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  GPT_SoVITS/pretrained_models ๋””๋ ‰ํ† ๋ฆฌ์— ๋„ฃ์œผ์„ธ์š”.

ํ•  ์ผ ๋ชฉ๋ก

  • ์ตœ์šฐ์„ ์ˆœ์œ„:

    • ์ผ๋ณธ์–ด ๋ฐ ์˜์–ด ์ง€์—ญํ™”.
    • ์‚ฌ์šฉ์ž ๊ฐ€์ด๋“œ.
    • ์ผ๋ณธ์–ด ๋ฐ ์˜์–ด ๋ฐ์ดํ„ฐ์…‹ ๋ฏธ์„ธ ์กฐ์ • ํ›ˆ๋ จ.
  • ๊ธฐ๋Šฅ:

    • ์ œ๋กœ์ƒท ์Œ์„ฑ ๋ณ€ํ™˜ (5์ดˆ) / ์†Œ๋Ÿ‰์˜ ์Œ์„ฑ ๋ณ€ํ™˜ (1๋ถ„).
    • TTS ์†๋„ ์ œ์–ด.
    • ํ–ฅ์ƒ๋œ TTS ๊ฐ์ • ์ œ์–ด.
    • SoVITS ํ† ํฐ ์ž…๋ ฅ์„ ๋‹จ์–ด ํ™•๋ฅ  ๋ถ„ํฌ๋กœ ๋ณ€๊ฒฝํ•ด ๋ณด์„ธ์š”.
    • ์˜์–ด ๋ฐ ์ผ๋ณธ์–ด ํ…์ŠคํŠธ ํ”„๋ก ํŠธ ์—”๋“œ ๊ฐœ์„ .
    • ์ž‘์€ ํฌ๊ธฐ์™€ ํฐ ํฌ๊ธฐ์˜ TTS ๋ชจ๋ธ ๊ฐœ๋ฐœ.
    • Colab ์Šคํฌ๋ฆฝํŠธ.
    • ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์…‹ ํ™•์žฅ (2k ์‹œ๊ฐ„์—์„œ 10k ์‹œ๊ฐ„).
    • ๋” ๋‚˜์€ sovits ๊ธฐ๋ณธ ๋ชจ๋ธ (ํ–ฅ์ƒ๋œ ์˜ค๋””์˜ค ํ’ˆ์งˆ).
    • ๋ชจ๋ธ ๋ธ”๋ Œ๋”ฉ.

(์ถ”๊ฐ€์ ์ธ) ๋ช…๋ น์ค„์—์„œ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ช…๋ น์ค„์„ ์‚ฌ์šฉํ•˜์—ฌ UVR5์šฉ WebUI ์—ด๊ธฐ

python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5>

๋ช…๋ น์ค„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์„ธํŠธ์˜ ์˜ค๋””์˜ค ๋ถ„ํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

python audio_slicer.py \
    --input_path "<path_to_original_audio_file_or_directory>" \
    --output_root "<directory_where_subdivided_audio_clips_will_be_saved>" \
    --threshold <volume_threshold> \
    --min_length <minimum_duration_of_each_subclip> \
    --min_interval <shortest_time_gap_between_adjacent_subclips>
    --hop_size <step_size_for_computing_volume_curve>

๋ช…๋ น์ค„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์„ธํŠธ ASR ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค(์ค‘๊ตญ์–ด๋งŒ ํ•ด๋‹น).

python tools/asr/funasr_asr.py -i <input> -o <output>

ASR ์ฒ˜๋ฆฌ๋Š” Faster_Whisper(์ค‘๊ตญ์–ด๋ฅผ ์ œ์™ธํ•œ ASR ๋งˆํ‚น)๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

(์ง„ํ–‰๋ฅ  ํ‘œ์‹œ์ค„ ์—†์Œ, GPU ์„ฑ๋Šฅ์œผ๋กœ ์ธํ•ด ์‹œ๊ฐ„ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ)

python ./tools/asr/fasterwhisper_asr.py -i <input> -o <output> -l <language> -p <precision>

์‚ฌ์šฉ์ž ์ •์˜ ๋ชฉ๋ก ์ €์žฅ ๊ฒฝ๋กœ๊ฐ€ ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ์˜ ๋ง

๋‹ค์Œ ํ”„๋กœ์ ํŠธ์™€ ๊ธฐ์—ฌ์ž๋“ค์—๊ฒŒ ํŠน๋ณ„ํžˆ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค:

์ด๋ก  ์—ฐ๊ตฌ

์‚ฌ์ „ ํ•™์Šต ๋ชจ๋ธ

์ถ”๋ก ์šฉ ํ…์ŠคํŠธ ํ”„๋ก ํŠธ์—”๋“œ

WebUI ๋„๊ตฌ

@Naozumi520 ๋‹˜๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ด‘๋‘ฅ์–ด ํ•™์Šต ์ž๋ฃŒ๋ฅผ ์ œ๊ณตํ•ด ์ฃผ์‹œ๊ณ , ๊ด‘๋‘ฅ์–ด ๊ด€๋ จ ์ง€์‹์„ ์ง€๋„ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ๊ธฐ์—ฌ์ž๋“ค์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค ;)