sumandeng's picture
้ฆ–ๆฌกๆไบค
30ca954
|
raw
history blame
9.03 kB

GPT-SoVITS-WebUI

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

madewithlove


Open In Colab Licence Huggingface

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


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

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

์ค‘๊ตญ ์ง€์—ญ์˜ ์‚ฌ์šฉ์ž๋Š” AutoDL ํด๋ผ์šฐ๋“œ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฒดํ—˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: https://www.codewithgpu.com/i/RVC-Boss/GPT-SoVITS/GPT-SoVITS-Official

๊ธฐ๋Šฅ:

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

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

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

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

ํ™˜๊ฒฝ ์ค€๋น„

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

ํ…Œ์ŠคํŠธ๋œ Python ๋ฐ PyTorch ๋ฒ„์ „

  • 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.3.0.dev20240122 ๋ฐ macOS 14.3 (Apple ์นฉ, GPU)

์ฐธ๊ณ : numba==0.56.4 ๋Š” python<3.11 ์„ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค.

MacOS ์‚ฌ์šฉ์ž

MacOS ์‚ฌ์šฉ์ž๋Š” GPU๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ›ˆ๋ จ ๋ฐ ์ถ”๋ก ์„ ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

  • Apple ์นฉ ๋˜๋Š” AMD GPU๊ฐ€ ์žฅ์ฐฉ๋œ Mac
  • macOS 12.3 ์ด์ƒ
  • xcode-select --install์„ ์‹คํ–‰ํ•˜์—ฌ Xcode command-line tools๋ฅผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ Mac์€ CPU๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๋ก ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค:

ํ™˜๊ฒฝ ์„ค์ •

conda create -n GPTSoVits python=3.9
conda activate GPTSoVits

์˜์กด์„ฑ ๋ชจ๋“ˆ ์„ค์น˜

pip install -r requirements.txt
pip uninstall torch torchaudio
pip3 install --pre torch torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu

Conda๋ฅผ ์‚ฌ์šฉํ•œ ๊ฐ„ํŽธ ์„ค์น˜

conda create -n GPTSoVits python=3.9
conda activate GPTSoVits
bash install.sh

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

Pip ํŒจํ‚ค์ง€

pip install -r requirements.txt

FFmpeg

Conda ์‚ฌ์šฉ์ž
conda install ffmpeg
Ubuntu/Debian ์‚ฌ์šฉ์ž
sudo apt install ffmpeg
sudo apt install libsox-dev
conda install -c conda-forge 'ffmpeg<7'
MacOS ์‚ฌ์šฉ์ž
brew install ffmpeg
Windows ์‚ฌ์šฉ์ž

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

Docker์—์„œ ์‚ฌ์šฉ

docker-compose.yaml ์„ค์ •

  1. ์ด๋ฏธ์ง€ ํƒœ๊ทธ: ์ฝ”๋“œ ์ €์žฅ์†Œ๊ฐ€ ๋น ๋ฅด๊ฒŒ ์—…๋ฐ์ดํŠธ๋˜๊ณ  ํŒจํ‚ค์ง€๊ฐ€ ๋Š๋ฆฌ๊ฒŒ ๋นŒ๋“œ๋˜๊ณ  ํ…Œ์ŠคํŠธ๋˜๋ฏ€๋กœ, ํ˜„์žฌ ๋นŒ๋“œ๋œ ์ตœ์‹  ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ Docker Hub์—์„œ ํ™•์ธํ•˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ Dockerfile์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ์—์„œ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  2. ํ™˜๊ฒฝ ๋ณ€์ˆ˜:

  • is_half: ๋ฐ˜์ •๋ฐ€/๋ฐฐ์ •๋ฐ€ ์ œ์–ด. "SSL ์ถ”์ถœ" ๋‹จ๊ณ„์—์„œ 4-cnhubert/5-wav32k ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋‚ด์šฉ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๊ฒƒ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ ์ƒํ™ฉ์— ๋”ฐ๋ผ True ๋˜๋Š” False๋กœ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  1. ๋ณผ๋ฅจ ์„ค์ •, ์ปจํ…Œ์ด๋„ˆ ๋‚ด์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ /workspace๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ docker-compose.yaml์—๋Š” ์‹ค์ œ ์˜ˆ์ œ๊ฐ€ ๋‚˜์—ด๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์—…๋กœ๋“œ/๋‹ค์šด๋กœ๋“œ๋ฅผ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  2. shm_size: Windows์˜ Docker Desktop์˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‹ค์ œ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

  3. deploy ์„น์…˜์˜ gpu ๊ด€๋ จ ๋‚ด์šฉ์€ ์‹œ์Šคํ…œ ๋ฐ ์‹ค์ œ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

docker compose๋กœ ์‹คํ–‰

docker compose -f "docker-compose.yaml" up -d

docker ๋ช…๋ น์œผ๋กœ ์‹คํ–‰

์œ„์™€ ๋™์ผํ•˜๊ฒŒ ์‹ค์ œ ์ƒํ™ฉ์— ๋งž๊ฒŒ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ˆ˜์ •ํ•œ ๋‹ค์Œ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:

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 9870:9870 -p 9871:9871 -p 9872:9872 -p 9873:9873 -p 9874:9874 --shm-size="16G" -d breakstring/gpt-sovits:xxxxx

์‚ฌ์ „ ํ›ˆ๋ จ๋œ ๋ชจ๋ธ

GPT-SoVITS Models์—์„œ ์‚ฌ์ „ ํ›ˆ๋ จ๋œ ๋ชจ๋ธ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  GPT_SoVITS\pretrained_models์— ๋„ฃ์Šต๋‹ˆ๋‹ค.

์ค‘๊ตญ์–ด ์ž๋™ ์Œ์„ฑ ์ธ์‹(ASR), ์Œ์„ฑ ๋ฐ˜์ฃผ ๋ถ„๋ฆฌ ๋ฐ ์Œ์„ฑ ์ œ๊ฑฐ๋ฅผ ์œ„ํ•ด Damo ASR Model, Damo VAD Model ๋ฐ Damo Punc Model์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  tools/damo_asr/models์— ๋„ฃ์Šต๋‹ˆ๋‹ค.

UVR5(์Œ์„ฑ/๋ฐ˜์ฃผ ๋ถ„๋ฆฌ ๋ฐ ์ž”ํ–ฅ ์ œ๊ฑฐ)๋ฅผ ์œ„ํ•ด UVR5 Weights์—์„œ ๋ชจ๋ธ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  tools/uvr5/uvr5_weights์— ๋„ฃ์Šต๋‹ˆ๋‹ค.

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

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

vocal_path|speaker_name|language|text

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

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

์˜ˆ์‹œ:

D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin.

ํ•  ์ผ ๋ชฉ๋ก

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

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

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

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

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

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