179 lines
7.9 KiB
Markdown
179 lines
7.9 KiB
Markdown
<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>
|
||
|
||
[![Open In Colab](https://img.shields.io/badge/Colab-F9AB00?style=for-the-badge&logo=googlecolab&color=525252)](https://colab.research.google.com/github/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/main/Retrieval_based_Voice_Conversion_WebUI.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)
|
||
|
||
[**更新日志**](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/main/docs/Changelog_CN.md) | [**常见问题解答**](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E8%A7%A3%E7%AD%94) | [**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/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)
|
||
|
||
</div>
|
||
|
||
------
|
||
|
||
[**English**](./docs/en/README.en.md) | [**中文简体**](./README.md) | [**日本語**](./docs/jp/README.ja.md) | [**한국어**](./docs/kr/README.ko.md) ([**韓國語**](./docs/kr/README.ko.han.md)) | [**Français**](./docs/fr/README.fr.md)| [**Türkçe**](./docs/tr/README.tr.md)
|
||
|
||
点此查看我们的[演示视频](https://www.bilibili.com/video/BV1pm4y1z7Gm/) !
|
||
|
||
训练推理界面:go-web.bat
|
||
|
||
![image](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/assets/129054828/092e5c12-0d49-4168-a590-0b0ef6a4f630)
|
||
|
||
实时变声界面:go-realtime-gui.bat(我们已经实现端到端170ms延迟。如使用ASIO输入输出设备,已能实现端到端90ms延迟,但非常依赖硬件驱动支持。)
|
||
|
||
![image](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/assets/129054828/730b4114-8805-44a1-ab1a-04668f3c30a6)
|
||
|
||
|
||
> 底模使用接近50小时的开源高质量VCTK训练集训练,无版权方面的顾虑,请大家放心使用
|
||
|
||
> 请期待RVCv3的底模,参数更大,数据更大,效果更好,基本持平的推理速度,需要训练数据量更少。
|
||
|
||
## 简介
|
||
本仓库具有以下特点
|
||
+ 使用top1检索替换输入源特征为训练集特征来杜绝音色泄漏
|
||
+ 即便在相对较差的显卡上也能快速训练
|
||
+ 使用少量数据进行训练也能得到较好结果(推荐至少收集10分钟低底噪语音数据)
|
||
+ 可以通过模型融合来改变音色(借助ckpt处理选项卡中的ckpt-merge)
|
||
+ 简单易用的网页界面
|
||
+ 可调用UVR5模型来快速分离人声和伴奏
|
||
+ 使用最先进的[人声音高提取算法InterSpeech2023-RMVPE](#参考项目)根绝哑音问题。效果最好(显著地)但比crepe_full更快、资源占用更小
|
||
+ A卡I卡加速支持
|
||
|
||
## 环境配置
|
||
以下指令需在 Python 版本大于3.8的环境中执行。
|
||
|
||
(Windows/Linux)
|
||
首先通过 pip 安装主要依赖:
|
||
```bash
|
||
# 安装Pytorch及其核心依赖,若已安装则跳过
|
||
# 参考自: https://pytorch.org/get-started/locally/
|
||
pip install torch torchvision torchaudio
|
||
|
||
#如果是win系统+Nvidia Ampere架构(RTX30xx),根据 #21 的经验,需要指定pytorch对应的cuda版本
|
||
#pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
|
||
```
|
||
|
||
可以使用 poetry 来安装依赖:
|
||
```bash
|
||
# 安装 Poetry 依赖管理工具, 若已安装则跳过
|
||
# 参考自: https://python-poetry.org/docs/#installation
|
||
curl -sSL https://install.python-poetry.org | python3 -
|
||
|
||
# 通过poetry安装依赖
|
||
poetry install
|
||
```
|
||
|
||
你也可以通过 pip 来安装依赖:
|
||
```bash
|
||
N卡:
|
||
pip install -r requirements.txt
|
||
|
||
A卡/I卡:
|
||
pip install -r requirements-dml.txt
|
||
|
||
A卡Rocm(Linux):
|
||
pip install -r requirements-amd.txt
|
||
|
||
I卡IPEX(Linux):
|
||
pip install -r requirements-ipex.txt
|
||
```
|
||
|
||
------
|
||
Mac 用户可以通过 `run.sh` 来安装依赖:
|
||
```bash
|
||
sh ./run.sh
|
||
```
|
||
|
||
## 其他预模型准备
|
||
RVC需要其他一些预模型来推理和训练。
|
||
|
||
你可以从我们的[Hugging Face space](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/)下载到这些模型。
|
||
|
||
以下是一份清单,包括了所有RVC所需的预模型和其他文件的名称:
|
||
```bash
|
||
./assets/hubert/hubert_base.pt
|
||
|
||
./assets/pretrained
|
||
|
||
./assets/uvr5_weights
|
||
|
||
想测试v2版本模型的话,需要额外下载
|
||
|
||
./assets/pretrained_v2
|
||
|
||
如果你正在使用Windows,则你可能需要这个文件,若ffmpeg和ffprobe已安装则跳过; ubuntu/debian 用户可以通过apt install ffmpeg来安装这2个库, Mac 用户则可以通过brew install ffmpeg来安装 (需要预先安装brew)
|
||
|
||
./ffmpeg
|
||
|
||
https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffmpeg.exe
|
||
|
||
./ffprobe
|
||
|
||
https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffprobe.exe
|
||
|
||
如果你想使用最新的RMVPE人声音高提取算法,则你需要下载音高提取模型参数并放置于RVC根目录
|
||
|
||
https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/rmvpe.pt
|
||
|
||
A卡I卡用户需要的dml环境要请下载
|
||
|
||
https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/rmvpe.onnx
|
||
|
||
```
|
||
之后使用以下指令来启动WebUI:
|
||
```bash
|
||
python infer-web.py
|
||
```
|
||
如果你正在使用Windows 或 macOS,你可以直接下载并解压`RVC-beta.7z`,前者可以运行`go-web.bat`以启动WebUI,后者则运行命令`sh ./run.sh`以启动WebUI。
|
||
|
||
对于需要使用IPEX技术的I卡用户,请先在终端执行`source /opt/intel/oneapi/setvars.sh`(仅Linux)。
|
||
|
||
仓库内还有一份`小白简易教程.doc`以供参考。
|
||
|
||
## AMD显卡Rocm相关(仅Linux)
|
||
如果你想基于AMD的Rocm技术在Linux系统上运行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
|
||
```
|
||
|
||
## 参考项目
|
||
+ [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)
|
||
+ The pretrained model is trained and tested by [yxlllc](https://github.com/yxlllc/RMVPE) and [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>
|