Retrieval-based-Voice-Conversion-WebUI

简单易用的 语音音色转换/变声器 框架

[![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)
[![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-Models-yellow.svg?style=for-the-badge)](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/) [**更新日志**](./docs/cn/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/%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**](./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) | [**Português**](./docs/pt/README.pt.md)
> 底模使用接近50小时的开源高质量VCTK训练集训练,无版权方面的顾虑,请大家放心使用 > 请期待RVCv3的底模,参数更大,数据更大,效果更好,基本持平的推理速度,需要训练数据量更少。
训练推理界面 实时变声界面
go-webui.bat go-realtime_gui.bat
可以自由选择想要执行的操作。 我们已经实现端到端170ms延迟。如使用ASIO输入输出设备,已能实现端到端90ms延迟,但非常依赖硬件驱动支持。
## 简介 本仓库具有以下特点 + 使用top1检索替换输入源特征为训练集特征来杜绝音色泄漏 + 即便在相对较差的显卡上也能快速训练 + 使用少量数据进行训练也能得到较好结果(推荐至少收集10分钟低底噪语音数据) + 可以通过模型融合来改变音色(借助ckpt处理选项卡中的ckpt-merge) + 简单易用的网页界面 + 可调用pymss/MSST模型来快速分离人声和伴奏 + 使用最先进的[人声音高提取算法InterSpeech2023-RMVPE](#参考项目)根绝哑音问题,速度快、资源占用小 + A卡/I卡使用 CPU 依赖方案;Windows 可使用 DirectML,Linux 使用 CPU 点此查看我们的[演示视频](https://www.bilibili.com/video/BV1pm4y1z7Gm/) ! ## 环境配置 本分支面向 **Python 3.12 x64**,请先进入仓库根目录。Ubuntu 推荐使用 Ubuntu 24.04 x86_64。 ### Ubuntu 24.04 ```bash sudo apt update sudo apt install -y python3.12 python3.12-venv python3.12-dev ffmpeg unzip libsndfile1 libportaudio2 python3.12 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip setuptools wheel ``` ### Windows 安装 Python 3.12 x64 后创建虚拟环境: ```powershell py -3.12 -m venv .venv .venv\Scripts\activate python -m pip install --upgrade pip setuptools wheel ``` ### 按硬件选择依赖 | 硬件 | 安装方式 | | --- | --- | | CPU、AMD、Intel | 使用 `requirments_cpu_py312.txt`;Windows 可使用 DirectML,Linux 使用 CPU | | NVIDIA RTX 50 系 | 先安装 CUDA 12.8 版 Torch,再安装 `requirments_cu128_py312.txt` | | NVIDIA RTX 50 系以前 | 先安装 CUDA 11.8 版 Torch,再安装 `requirments_cu118_py312.txt` | #### CPU、AMD、Intel ```bash python -m pip install -r requirments_cpu_py312.txt ``` #### NVIDIA RTX 50 系:两阶段安装 ```bash python -m pip install torch==2.7.1+cu128 torchaudio==2.7.1+cu128 \ --index-url https://download.pytorch.org/whl/cu128 \ --extra-index-url https://pypi.org/simple python -m pip install -r requirments_cu128_py312.txt ``` #### NVIDIA RTX 50 系以前:两阶段安装 ```bash python -m pip install torch==2.7.1+cu118 torchaudio==2.7.1+cu118 \ --index-url https://download.pytorch.org/whl/cu118 \ --extra-index-url https://pypi.org/simple python -m pip install -r requirments_cu118_py312.txt ``` 检查 Torch 与 CUDA 状态: ```bash python -c "import torch; print('torch:', torch.__version__); print('cuda:', torch.version.cuda); print('cuda available:', torch.cuda.is_available())" ``` ### 修改下载源 三个 `requirments_*.txt` 顶部已经包含下载源。中国大陆用户可保留默认镜像;需要使用官方源时,只替换 `--index-url` 和 `--extra-index-url`,保留包版本、CUDA 后缀和两阶段顺序。 | Default mirror | Official source | | --- | --- | | `https://mirrors.pku.edu.cn/pypi/simple` | `https://pypi.org/simple` | | `https://mirrors.nju.edu.cn/pytorch/whl/cpu` | `https://download.pytorch.org/whl/cpu` | | `https://mirrors.nju.edu.cn/pytorch/whl/cu118` | `https://download.pytorch.org/whl/cu118` | | `https://mirrors.nju.edu.cn/pytorch/whl/cu128` | `https://download.pytorch.org/whl/cu128` | ## 模型与运行目录 WebUI 会自动创建运行目录。模型请从 [Hugging Face 模型仓库](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main) 下载,并保持以下路径: ```text assets/ ├── hubert_base/ │ ├── config.json │ ├── preprocessor_config.json │ └── pytorch_model.bin ├── rmvpe/rmvpe.pt ├── pretrained/ ├── pretrained_v2/ ├── pymss_weights/ ├── weights/ # user RVC .pth models └── indices/ # user .index files logs/ └── mute/ # training silence samples # Exact paths used by the code assets/hubert_base/config.json assets/hubert_base/preprocessor_config.json assets/hubert_base/pytorch_model.bin assets/rmvpe/rmvpe.pt assets/pretrained/*.pth assets/pretrained_v2/*.pth assets/pymss_weights/* assets/weights/*.pth assets/indices/*.index logs/mute/* ``` ### 下载模型 ```bash python -m pip install --upgrade huggingface_hub # Required for inference and feature extraction hf download lj1995/VoiceConversionWebUI --revision main \ --include "hubert_base/*" --local-dir assets hf download lj1995/VoiceConversionWebUI rmvpe.pt --revision main \ --local-dir assets/rmvpe # Required for v1/v2 training hf download lj1995/VoiceConversionWebUI --revision main \ --include "pretrained/*" "pretrained_v2/*" --local-dir assets hf download lj1995/VoiceConversionWebUI mute.zip --revision main \ --local-dir .model-downloads python -m zipfile -e .model-downloads/mute.zip logs # Required only for pymss/MSST vocal separation hf download lj1995/VoiceConversionWebUI --revision main \ --include "pymss_weights/*" --local-dir assets ``` 仅 Windows AMD/Intel DirectML 环境还需要: ```bash hf download lj1995/VoiceConversionWebUI rmvpe.onnx --revision main \ --local-dir assets/rmvpe ``` ### FFmpeg Ubuntu 已在前面的系统依赖命令中安装 FFmpeg。Windows 用户可把下面两个文件放到项目根目录: - [ffmpeg.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/ffmpeg.exe?download=true) - [ffprobe.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/ffprobe.exe?download=true) ## 开始使用 启动 WebUI: ```bash python webui.py ``` 无桌面的 Ubuntu 服务器: ```bash python webui.py --noautoopen ``` 默认服务监听端口为 `7865`。用户自己的 `.pth` 模型放入 `assets/weights/`,`.index` 文件放入 `assets/indices/`。 ## 参考项目 + [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) + [pymss-project/pymss](https://github.com/pymss-project/pymss) + [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). ## 感谢所有贡献者作出的努力