Retrieval-based-Voice-Conversion-WebUI

Easily train a good VC model with voice data <= 10 mins!

37,128 stars Python Markdown Skills API Spec #audio-analysis#change#conversational-ai#conversion
AI Prompts & Specs

Repository: RVC-Project/Retrieval-based-Voice-Conversion-WebUI


Stars: 35250

README.md

<div align="center">

<h1>Retrieval-based-Voice-Conversion-WebUI</h1>
一个基于VITS的简单易用的变声框架<br><br>

![madewithlove](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI)

<img src="https://counter.seku.su/cmoe?name=rvc&theme=r34" /><br>

![Open In Colab](https://colab.research.google.com/github/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/main/Retrieval_based_Voice_Conversion_WebUI.ipynb)
![Licence](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/main/LICENSE)
![Huggingface](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/)

![Discord](https://discord.gg/HcsmBBGyVk)

更新日志 | 常见问题解答 | AutoDL·5毛钱训练AI歌手 | 对照实验记录) | 在线演示

English | 中文简体 | 日本語 | 한국어 (韓國語) | Français | Türkçe | Português

</div>

底模使用接近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>

简介


本仓库具有以下特点
+ 使用top1检索替换输入源特征为训练集特征来杜绝音色泄漏
+ 即便在相对较差的显卡上也能快速训练
+ 使用少量数据进行训练也能得到较好结果(推荐至少收集10分钟低底噪语音数据)
+ 可以通过模型融合来改变音色(借助ckpt处理选项卡中的ckpt-merge)
+ 简单易用的网页界面
+ 可调用UVR5模型来快速分离人声和伴奏
+ 使用最先进的人声音高提取算法InterSpeech2023-RMVPE根绝哑音问题。效果最好(显著地)但比crepe_full更快、资源占用更小
+ A卡I卡加速支持

点此查看我们的演示视频 !

环境配置


以下指令需在 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 安装依赖时,python 建议使用 3.7-3.10 版本,其余版本在安装 llvmlite==0.39.0 时会出现冲突

bash
poetry init -n
poetry env use "path to your python.exe"
poetry run pip install -r requirments.txt

MacOS


可以通过 run.sh 来安装依赖
bash
sh ./run.sh

其他预模型准备


RVC需要其他一些预模型来推理和训练。

你可以从我们的Hugging Face space下载到这些模型。

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

- 下载ffprobe.exe

3. 下载 rmvpe 人声音高提取算法所需文件

如果你想使用最新的RMVPE人声音高提取算法,则你需要下载音高提取模型参数并放置于RVC根目录。

- 下载rmvpe.pt

#### 下载 rmvpe 的 dml 环境(可选, A卡/I卡用户)

- 下载rmvpe.onnx

4. AMD显卡Rocm(可选, 仅Linux)

如果你想基于AMD的Rocm技术在Linux系统上运行RVC,请先在这里安装所需的驱动。

若你使用的是Arch Linux,可以使用pacman来安装所需驱动:

text
pacman -S rocm-hip-sdk rocm-opencl-sdk

对于某些型号的显卡,你可能需要额外配置如下的环境变量(如:RX6700XT):
text
export ROCM_PATH=/opt/rocm
export HSA_OVERRIDE_GFX_VERSION=10.3.0

同时确保你的当前用户处于rendervideo用户组内:
text
sudo usermod -aG render $USERNAME
sudo usermod -aG video $USERNAME

开始使用


直接启动


使用以下指令来启动 WebUI
bash
python infer-web.py

若先前使用 Poetry 安装依赖,则可以通过以下方式启动WebUI

bash
poetry run 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
+ VITS
+ HIFIGAN
+ Gradio
+ FFmpeg
+ Ultimate Vocal Remover
+ audio-slicer
+ Vocal pitch extraction:RMVPE
+ The pretrained model is trained and tested by yxlllc and 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>