rvc-v2-voice / docs /kr /README.ko.md
Daryl Fung
initial commit
39f3704
<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>