|
<div align="center"> |
|
|
|
<h1>Retrieval-based-Voice-Conversion-WebUI</h1> |
|
VITS ๊ธฐ๋ฐ์ ๊ฐ๋จํ๊ณ ์ฌ์ฉํ๊ธฐ ์ฌ์ด ์์ฑ ๋ณํ ํ๋ ์์ํฌ.<br><br> |
|
|
|
[![madewithlove](https://img.shields.io/badge/made_with-%E2%9D%A4-red?style=for-the-badge&labelColor=orange)](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI) |
|
|
|
<img src="https://counter.seku.su/cmoe?name=rvc&theme=r34" /><br> |
|
|
|
[![RVC v1](https://img.shields.io/badge/RVCv1-F9AB00?style=for-the-badge&logo=googlecolab&color=525252)](https://colab.research.google.com/github/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/main/tools/ipynb/v1.ipynb) |
|
[![RVC v2](https://img.shields.io/badge/RVCv2-F9AB00?style=for-the-badge&logo=googlecolab&color=525252)](https://colab.research.google.com/github/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/main/tools/ipynb/v2.ipynb) |
|
[![Licence](https://img.shields.io/badge/LICENSE-MIT-green.svg?style=for-the-badge)](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/main/LICENSE) |
|
[![Huggingface](https://img.shields.io/badge/๐ค%20-Spaces-yellow.svg?style=for-the-badge)](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/) |
|
|
|
[![Discord](https://img.shields.io/badge/RVC%20Developers-Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/HcsmBBGyVk) |
|
|
|
[**์
๋ฐ์ดํธ ๋ก๊ทธ**](./Changelog_KO.md) | [**์์ฃผ ๋ฌป๋ ์ง๋ฌธ**](./faq_ko.md) | [**AutoDLยท5์์ผ๋ก AI ๊ฐ์ ํ๋ จ**](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/wiki/Autodl%E8%AE%AD%E7%BB%83RVC%C2%B7AI%E6%AD%8C%E6%89%8B%E6%95%99%E7%A8%8B) | [**๋์กฐ ์คํ ๊ธฐ๋ก**](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/wiki/%E5%AF%B9%E7%85%A7%E5%AE%9E%E9%AA%8C%C2%B7%E5%AE%9E%E9%AA%8C%E8%AE%B0%E5%BD%95) | [**์จ๋ผ์ธ ๋ฐ๋ชจ**](https://modelscope.cn/studios/FlowerCry/RVCv2demo) |
|
|
|
[**English**](../en/README.en.md) | [**ไธญๆ็ฎไฝ**](../../README.md) | [**ๆฅๆฌ่ช**](../jp/README.ja.md) | [**ํ๊ตญ์ด**](../kr/README.ko.md) ([**้ๅ่ช**](../kr/README.ko.han.md)) | [**Franรงais**](../fr/README.fr.md) | [**Tรผrkรงe**](../tr/README.tr.md) | [**Portuguรชs**](../pt/README.pt.md) |
|
|
|
</div> |
|
|
|
> [๋ฐ๋ชจ ์์](https://www.bilibili.com/video/BV1pm4y1z7Gm/)์ ํ์ธํด ๋ณด์ธ์! |
|
|
|
> RVC๋ฅผ ํ์ฉํ ์ค์๊ฐ ์์ฑ๋ณํ: [w-okada/voice-changer](https://github.com/w-okada/voice-changer) |
|
|
|
> ๊ธฐ๋ณธ ๋ชจ๋ธ์ 50์๊ฐ ๊ฐ๋์ ๊ณ ํ๋ฆฌํฐ ์คํ ์์ค VCTK ๋ฐ์ดํฐ์
์ ์ฌ์ฉํ์์ผ๋ฏ๋ก, ์ ์๊ถ์์ ์ผ๋ ค๊ฐ ์์ผ๋ ์์ฌํ๊ณ ์ฌ์ฉํ์๊ธฐ ๋ฐ๋๋๋ค. |
|
|
|
> ๋ ํฐ ๋งค๊ฐ๋ณ์, ๋ ํฐ ๋ฐ์ดํฐ, ๋ ๋์ ํจ๊ณผ, ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ผํ ์ถ๋ก ์๋, ๋ ์ ์ ์์ ํ๋ จ ๋ฐ์ดํฐ๊ฐ ํ์ํ RVCv3์ ๊ธฐ๋ณธ ๋ชจ๋ธ์ ๊ธฐ๋ํด ์ฃผ์ญ์์ค. |
|
|
|
<table> |
|
<tr> |
|
<td align="center">ํ๋ จ ๋ฐ ์ถ๋ก ์ธํฐํ์ด์ค</td> |
|
<td align="center">์ค์๊ฐ ์์ฑ ๋ณํ ์ธํฐํ์ด์ค</td> |
|
</tr> |
|
<tr> |
|
<td align="center"><img src="https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/assets/129054828/092e5c12-0d49-4168-a590-0b0ef6a4f630"></td> |
|
<td align="center"><img src="https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/assets/129054828/730b4114-8805-44a1-ab1a-04668f3c30a6"></td> |
|
</tr> |
|
<tr> |
|
<td align="center">go-web.bat</td> |
|
<td align="center">go-realtime-gui.bat</td> |
|
</tr> |
|
<tr> |
|
<td align="center">์ํ๋ ์์
์ ์์ ๋กญ๊ฒ ์ ํํ ์ ์์ต๋๋ค.</td> |
|
<td align="center">์ฐ๋ฆฌ๋ ์ด๋ฏธ ๋์์ ๋๊น์ง 170ms์ ์ง์ฐ์ ์คํํ์ต๋๋ค. ASIO ์
๋ ฅ ๋ฐ ์ถ๋ ฅ ์ฅ์น๋ฅผ ์ฌ์ฉํ๋ฉด ๋์์ ๋๊น์ง 90ms์ ์ง์ฐ์ ๋ฌ์ฑํ ์ ์์ง๋ง, ์ด๋ ํ๋์จ์ด ๋๋ผ์ด๋ฒ ์ง์์ ๋งค์ฐ ์์กด์ ์
๋๋ค.</td> |
|
</tr> |
|
</table> |
|
|
|
## ์๊ฐ |
|
|
|
๋ณธ Repo๋ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค: |
|
|
|
- top1 ๊ฒ์์ ์ด์ฉํ์ฌ ์
๋ ฅ ์์ ํน์ง์ ํ๋ จ ์ธํธ ์์ ํน์ง์ผ๋ก ๋์ฒดํ์ฌ ์์์ ๋์ถ์ ๋ฐฉ์ง |
|
- ์๋์ ์ผ๋ก ๋ฎ์ ์ฑ๋ฅ์ GPU์์๋ ๋น ๋ฅธ ํ๋ จ ๊ฐ๋ฅ |
|
- ์ ์ ์์ ๋ฐ์ดํฐ๋ก ํ๋ จํด๋ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ (์ต์ 10๋ถ ์ด์์ ์ ์ก์ ์์ฑ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅ) |
|
- ๋ชจ๋ธ ์ตํฉ์ ํตํ ์์์ ๋ณ์กฐ ๊ฐ๋ฅ (ckpt ์ฒ๋ฆฌ ํญ->ckpt ๋ณํฉ ์ ํ) |
|
- ์ฌ์ฉํ๊ธฐ ์ฌ์ด WebUI (์น ์ธํฐํ์ด์ค) |
|
- UVR5 ๋ชจ๋ธ์ ์ด์ฉํ์ฌ ๋ชฉ์๋ฆฌ์ ๋ฐฐ๊ฒฝ์์
์ ๋น ๋ฅธ ๋ถ๋ฆฌ; |
|
- ์ต์ฒจ๋จ [์์ฑ ํผ์น ์ถ์ถ ์๊ณ ๋ฆฌ์ฆ InterSpeech2023-RMVPE](#ๅ่้กน็ฎ)์ ์ฌ์ฉํ์ฌ ๋ฌด์ฑ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ํจ๊ณผ๋ ์ต๊ณ (์๋์ )์ด๋ฉฐ crepe_full๋ณด๋ค ๋ ๋น ๋ฅด๊ณ ๋ฆฌ์์ค ์ฌ์ฉ์ด ์ ์ |
|
- A์นด๋์ I์นด๋ ๊ฐ์์ ์ง์ |
|
|
|
ํด๋น ํ๋ก์ ํธ์ [๋ฐ๋ชจ ๋น๋์ค](https://www.bilibili.com/video/BV1pm4y1z7Gm/)๋ฅผ ํ์ธํด๋ณด์ธ์! |
|
|
|
## ํ๊ฒฝ ์ค์ |
|
|
|
๋ค์ ๋ช
๋ น์ Python ๋ฒ์ ์ด 3.8 ์ด์์ธ ํ๊ฒฝ์์ ์คํํด์ผ ํฉ๋๋ค. |
|
|
|
### Windows/Linux/MacOS ๋ฑ ํ๋ซํผ ๊ณตํต ๋ฐฉ๋ฒ |
|
|
|
์๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ฅผ ์ ํํ์ธ์. |
|
|
|
#### 1. pip๋ฅผ ํตํ ์์กด์ฑ ์ค์น |
|
|
|
1. Pytorch ๋ฐ ์์กด์ฑ ๋ชจ๋ ์ค์น, ์ด๋ฏธ ์ค์น๋์ด ์์ผ๋ฉด ์๋ต. ์ฐธ์กฐ: https://pytorch.org/get-started/locally/ |
|
|
|
```bash |
|
pip install torch torchvision torchaudio |
|
``` |
|
|
|
2. win ์์คํ
+ Nvidia Ampere ์ํคํ
์ฒ(RTX30xx) ์ฌ์ฉ ์, #21์ ์ฌ๋ก์ ๋ฐ๋ผ pytorch์ ํด๋นํ๋ cuda ๋ฒ์ ์ ์ง์ |
|
|
|
```bash |
|
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117 |
|
``` |
|
|
|
3. ์์ ์ ๊ทธ๋ํฝ ์นด๋์ ๋ง๋ ์์กด์ฑ ์ค์น |
|
|
|
- N์นด๋ |
|
|
|
```bash |
|
pip install -r requirements.txt |
|
``` |
|
|
|
- A์นด๋/I์นด๋ |
|
|
|
```bash |
|
pip install -r requirements-dml.txt |
|
``` |
|
|
|
- A์นด๋ROCM(Linux) |
|
|
|
```bash |
|
pip install -r requirements-amd.txt |
|
``` |
|
|
|
- I์นด๋IPEX(Linux) |
|
|
|
```bash |
|
pip install -r requirements-ipex.txt |
|
``` |
|
|
|
#### 2. poetry๋ฅผ ํตํ ์์กด์ฑ ์ค์น |
|
|
|
Poetry ์์กด์ฑ ๊ด๋ฆฌ ๋๊ตฌ ์ค์น, ์ด๋ฏธ ์ค์น๋ ๊ฒฝ์ฐ ์๋ต. ์ฐธ์กฐ: https://python-poetry.org/docs/#installation |
|
|
|
```bash |
|
curl -sSL https://install.python-poetry.org | python3 - |
|
``` |
|
|
|
poetry๋ฅผ ํตํ ์์กด์ฑ ์ค์น |
|
|
|
```bash |
|
poetry install |
|
``` |
|
|
|
### MacOS |
|
|
|
`run.sh`๋ฅผ ํตํด ์์กด์ฑ ์ค์น ๊ฐ๋ฅ |
|
|
|
```bash |
|
sh ./run.sh |
|
``` |
|
|
|
## ๊ธฐํ ์ฌ์ ํ๋ จ๋ ๋ชจ๋ธ ์ค๋น |
|
|
|
RVC๋ ์ถ๋ก ๊ณผ ํ๋ จ์ ์ํด ๋ค๋ฅธ ์ผ๋ถ ์ฌ์ ํ๋ จ๋ ๋ชจ๋ธ์ด ํ์ํฉ๋๋ค. |
|
|
|
์ด๋ฌํ ๋ชจ๋ธ์ ์ ํฌ์ [Hugging Face space](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/)์์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. |
|
|
|
### 1. assets ๋ค์ด๋ก๋ |
|
|
|
๋ค์์ RVC์ ํ์ํ ๋ชจ๋ ์ฌ์ ํ๋ จ๋ ๋ชจ๋ธ๊ณผ ๊ธฐํ ํ์ผ์ ๋ชฉ๋ก์
๋๋ค. `tools` ํด๋์์ ์ด๋ค์ ๋ค์ด๋ก๋ํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. |
|
|
|
- ./assets/hubert/hubert_base.pt |
|
|
|
- ./assets/pretrained |
|
|
|
- ./assets/uvr5_weights |
|
|
|
v2 ๋ฒ์ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ค๋ฉด ์ถ๊ฐ๋ก ๋ค์์ ๋ค์ด๋ก๋ํด์ผ ํฉ๋๋ค. |
|
|
|
- ./assets/pretrained_v2 |
|
|
|
### 2. ffmpeg ์ค์น |
|
|
|
ffmpeg์ ffprobe๊ฐ ์ด๋ฏธ ์ค์น๋์ด ์๋ค๋ฉด ๊ฑด๋๋๋๋ค. |
|
|
|
#### Ubuntu/Debian ์ฌ์ฉ์ |
|
|
|
```bash |
|
sudo apt install ffmpeg |
|
``` |
|
|
|
#### MacOS ์ฌ์ฉ์ |
|
|
|
```bash |
|
brew install ffmpeg |
|
``` |
|
|
|
#### Windows ์ฌ์ฉ์ |
|
|
|
๋ค์ด๋ก๋ ํ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ ๋ฐฐ์น. |
|
|
|
- [ffmpeg.exe ๋ค์ด๋ก๋](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffmpeg.exe) |
|
|
|
- [ffprobe.exe ๋ค์ด๋ก๋](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffprobe.exe) |
|
|
|
### 3. RMVPE ์ธ๊ฐ ์์ฑ ํผ์น ์ถ์ถ ์๊ณ ๋ฆฌ์ฆ์ ํ์ํ ํ์ผ ๋ค์ด๋ก๋ |
|
|
|
์ต์ RMVPE ์ธ๊ฐ ์์ฑ ํผ์น ์ถ์ถ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ค๋ฉด ์ํผ์น ์ถ์ถ ๋ชจ๋ธ ๋งค๊ฐ๋ณ์๋ฅผ ๋ค์ด๋ก๋ํ๊ณ RVC ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ ๋ฐฐ์นํด์ผ ํฉ๋๋ค. |
|
|
|
- [rmvpe.pt ๋ค์ด๋ก๋](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/rmvpe.pt) |
|
|
|
#### dml ํ๊ฒฝ์ RMVPE ๋ค์ด๋ก๋(์ ํ์ฌํญ, A์นด๋/I์นด๋ ์ฌ์ฉ์) |
|
|
|
- [rmvpe.onnx ๋ค์ด๋ก๋](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/rmvpe.onnx) |
|
|
|
### 4. AMD ๊ทธ๋ํฝ ์นด๋ Rocm(์ ํ์ฌํญ, Linux๋ง ํด๋น) |
|
|
|
Linux ์์คํ
์์ AMD์ Rocm ๊ธฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก RVC๋ฅผ ์คํํ๋ ค๋ฉด [์ฌ๊ธฐ](https://rocm.docs.amd.com/en/latest/deploy/linux/os-native/install.html)์์ ํ์ํ ๋๋ผ์ด๋ฒ๋ฅผ ๋จผ์ ์ค์นํ์ธ์. |
|
|
|
Arch Linux๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ pacman์ ์ฌ์ฉํ์ฌ ํ์ํ ๋๋ผ์ด๋ฒ๋ฅผ ์ค์นํ ์ ์์ต๋๋ค. |
|
|
|
``` |
|
pacman -S rocm-hip-sdk rocm-opencl-sdk |
|
``` |
|
|
|
์ผ๋ถ ๋ชจ๋ธ์ ๊ทธ๋ํฝ ์นด๋(์: RX6700XT)์ ๊ฒฝ์ฐ, ๋ค์๊ณผ ๊ฐ์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ถ๊ฐ๋ก ์ค์ ํด์ผ ํ ์ ์์ต๋๋ค. |
|
|
|
``` |
|
export ROCM_PATH=/opt/rocm |
|
export HSA_OVERRIDE_GFX_VERSION=10.3.0 |
|
``` |
|
|
|
๋์์ ํ์ฌ ์ฌ์ฉ์๊ฐ `render` ๋ฐ `video` ์ฌ์ฉ์ ๊ทธ๋ฃน์ ์ํด ์๋์ง ํ์ธํ์ธ์. |
|
|
|
``` |
|
sudo usermod -aG render $USERNAME |
|
sudo usermod -aG video $USERNAME |
|
``` |
|
|
|
## ์์ํ๊ธฐ |
|
|
|
### ์ง์ ์์ |
|
|
|
๋ค์ ๋ช
๋ น์ด๋ก WebUI๋ฅผ ์์ํ์ธ์ |
|
|
|
```bash |
|
python infer-web.py |
|
``` |
|
|
|
### ํตํฉ ํจํค์ง ์ฌ์ฉ |
|
|
|
`RVC-beta.7z`๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ์์ถ ํด์ |
|
|
|
#### Windows ์ฌ์ฉ์ |
|
|
|
`go-web.bat` ๋๋ธ ํด๋ฆญ |
|
|
|
#### MacOS ์ฌ์ฉ์ |
|
|
|
```bash |
|
sh ./run.sh |
|
``` |
|
|
|
### IPEX ๊ธฐ์ ์ด ํ์ํ I์นด๋ ์ฌ์ฉ์๋ฅผ ์ํ ์ง์นจ(Linux๋ง ํด๋น) |
|
|
|
```bash |
|
source /opt/intel/oneapi/setvars.sh |
|
``` |
|
|
|
## ์ฐธ์กฐ ํ๋ก์ ํธ |
|
|
|
- [ContentVec](https://github.com/auspicious3000/contentvec/) |
|
- [VITS](https://github.com/jaywalnut310/vits) |
|
- [HIFIGAN](https://github.com/jik876/hifi-gan) |
|
- [Gradio](https://github.com/gradio-app/gradio) |
|
- [FFmpeg](https://github.com/FFmpeg/FFmpeg) |
|
- [Ultimate Vocal Remover](https://github.com/Anjok07/ultimatevocalremovergui) |
|
- [audio-slicer](https://github.com/openvpi/audio-slicer) |
|
- [Vocal pitch extraction:RMVPE](https://github.com/Dream-High/RMVPE) |
|
- ์ฌ์ ํ๋ จ๋ ๋ชจ๋ธ์ [yxlllc](https://github.com/yxlllc/RMVPE)์ [RVC-Boss](https://github.com/RVC-Boss)์ ์ํด ํ๋ จ๋๊ณ ํ
์คํธ๋์์ต๋๋ค. |
|
|
|
## ๋ชจ๋ ๊ธฐ์ฌ์๋ค์ ๋
ธ๋ ฅ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค |
|
|
|
<a href="https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/graphs/contributors" target="_blank"> |
|
<img src="https://contrib.rocks/image?repo=RVC-Project/Retrieval-based-Voice-Conversion-WebUI" /> |
|
</a> |
|
|