MCPcopy
hub / github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI

github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI @2.2.231006 sqlite

repository ↗ · DeepWiki ↗ · release 2.2.231006 ↗
756 symbols 1,999 edges 82 files 58 documented · 8%
README

Retrieval-based-Voice-Conversion-WebUI

一个基于VITS的简单易用的变声框架

madewithlove

Open In Colab Licence Huggingface

Discord

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


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

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

训练推理界面:go-web.bat

image

实时变声界面:go-realtime-gui.bat

image

底模使用接近50小时的开源高质量VCTK训练集训练,无版权方面的顾虑,请大家放心使用

请期待RVCv3的底模,参数更大,数据更大,效果更好,基本持平的推理速度,需要训练数据量更少。

简介

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

环境配置

以下指令需在 Python 版本大于3.8的环境中执行。

(Windows/Linux)
首先通过 pip 安装主要依赖:

# 安装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 来安装依赖:

# 安装 Poetry 依赖管理工具, 若已安装则跳过
# 参考自: https://python-poetry.org/docs/#installation
curl -sSL https://install.python-poetry.org | python3 -

# 通过poetry安装依赖
poetry install

你也可以通过 pip 来安装依赖:

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 来安装依赖:

sh ./run.sh

其他预模型准备

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

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

以下是一份清单,包括了所有RVC所需的预模型和其他文件的名称:

./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:

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,请先在这里安装所需的驱动。

若你使用的是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

同时确保你的当前用户处于rendervideo用户组内:

sudo usermod -aG render $USERNAME
sudo usermod -aG video $USERNAME

之后运行WebUI:

python infer-web.py

参考项目

感谢所有贡献者作出的努力

Core symbols most depended-on inside this repo

load
called by 58
gui_v1.py
remove_weight_norm
called by 33
infer/lib/infer_pack/models.py
values
called by 29
infer/lib/train/utils.py
get_padding
called by 18
infer/lib/infer_pack/commons.py
keys
called by 16
infer/lib/train/utils.py
stft
called by 11
infer/modules/uvr5/mdxnet.py
printt
called by 11
infer/modules/train/extract_feature_print.py
items
called by 10
infer/lib/train/utils.py

Shape

Method 423
Function 189
Class 144

Languages

Python100%

Modules by API surface

infer/lib/infer_pack/models.py69 symbols
infer/lib/infer_pack/models_onnx.py46 symbols
infer/lib/rmvpe.py43 symbols
infer/lib/infer_pack/modules.py39 symbols
infer/lib/train/data_utils.py30 symbols
infer/lib/train/utils.py26 symbols
infer/lib/infer_pack/attentions.py22 symbols
infer-web.py21 symbols
infer/lib/uvr5_pack/lib_v5/spec_utils.py19 symbols
infer/lib/infer_pack/commons.py18 symbols
gui_v1.py17 symbols
infer/modules/ipex/hijacks.py16 symbols

Dependencies from manifests, versioned

Jinja23.1.2 · 1×
Pillow9.1.1 · 1×
PyYAML6.0 · 1×
Werkzeug2.2.3 · 1×
absl-py1.2.0 · 1×
colorama0.4.5 · 1×
fairseq0.12.2 · 1×
faiss-cpu1.7.3 · 1×
fastapi0.88 · 1×
ffmpeg-python0.2.0 · 1×
ffmpy0.3.1 · 1×
fsspec2022.11.0 · 1×

For agents

$ claude mcp add Retrieval-based-Voice-Conversion-WebUI \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact