一个基于VITS的简单易用的变声框架
Go to file
github-actions[bot] 690da84650
chore(sync): merge dev into main (#1380)
* Optimize latency (#1259)

* add attribute:   configs/config.py
	Optimize latency:   tools/rvc_for_realtime.py

* new file:   assets/Synthesizer_inputs.pth

* fix:   configs/config.py
	fix:   tools/rvc_for_realtime.py

* fix bug:   infer/lib/infer_pack/models.py

* new file:   assets/hubert_inputs.pth
	new file:   assets/rmvpe_inputs.pth
	modified:   configs/config.py
	new features:   infer/lib/rmvpe.py
	new features:   tools/jit_export/__init__.py
	new features:   tools/jit_export/get_hubert.py
	new features:   tools/jit_export/get_rmvpe.py
	new features:   tools/jit_export/get_synthesizer.py
	optimize:   tools/rvc_for_realtime.py

* optimize:   tools/jit_export/get_synthesizer.py
	fix bug:   tools/jit_export/__init__.py

* Fixed a bug caused by using half on the CPU:   infer/lib/rmvpe.py
	Fixed a bug caused by using half on the CPU:   tools/jit_export/__init__.py
	Fixed CIRCULAR IMPORT:   tools/jit_export/get_rmvpe.py
	Fixed CIRCULAR IMPORT:   tools/jit_export/get_synthesizer.py
	Fixed a bug caused by using half on the CPU:   tools/rvc_for_realtime.py

* Remove useless code:   infer/lib/rmvpe.py

* Delete gui_v1 copy.py

* Delete .vscode/launch.json

* Delete jit_export_test.py

* Delete tools/rvc_for_realtime copy.py

* Delete configs/config.json

* Delete .gitignore

* Fix exceptions caused by switching inference devices:   infer/lib/rmvpe.py
	Fix exceptions caused by switching inference devices:   tools/jit_export/__init__.py
	Fix exceptions caused by switching inference devices:   tools/rvc_for_realtime.py

* restore

* replace(you can undo this commit)

* remove debug_print

---------

Co-authored-by: Ftps <ftpsflandre@gmail.com>

* Fixed some bugs when exporting ONNX model (#1254)

* fix import (#1280)

* fix import

* lint

* 🎨 同步 locale (#1242)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Fix jit load and import issue (#1282)

* fix jit model loading :   infer/lib/rmvpe.py

* modified:   assets/hubert/.gitignore
	move file:    assets/hubert_inputs.pth -> assets/hubert/hubert_inputs.pth
	modified:   assets/rmvpe/.gitignore
	move file:    assets/rmvpe_inputs.pth -> assets/rmvpe/rmvpe_inputs.pth
	fix import:   gui_v1.py

* feat(workflow): trigger on dev

* feat(workflow): add close-pr on non-dev branch

* Add input wav and delay time monitor for real-time gui (#1293)

* feat(workflow): trigger on dev

* feat(workflow): add close-pr on non-dev branch

* 🎨 同步 locale (#1289)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: edit PR template

* add input wav and delay time monitor

---------

Co-authored-by: 源文雨 <41315874+fumiama@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: RVC-Boss <129054828+RVC-Boss@users.noreply.github.com>

* Optimize latency using scripted jit (#1291)

* feat(workflow): trigger on dev

* feat(workflow): add close-pr on non-dev branch

* 🎨 同步 locale (#1289)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: edit PR template

* Optimize-latency-using-scripted:   configs/config.py
	Optimize-latency-using-scripted:   infer/lib/infer_pack/attentions.py
	Optimize-latency-using-scripted:   infer/lib/infer_pack/commons.py
	Optimize-latency-using-scripted:   infer/lib/infer_pack/models.py
	Optimize-latency-using-scripted:   infer/lib/infer_pack/modules.py
	Optimize-latency-using-scripted:   infer/lib/jit/__init__.py
	Optimize-latency-using-scripted:   infer/lib/jit/get_hubert.py
	Optimize-latency-using-scripted:   infer/lib/jit/get_rmvpe.py
	Optimize-latency-using-scripted:   infer/lib/jit/get_synthesizer.py
	Optimize-latency-using-scripted:   infer/lib/rmvpe.py
	Optimize-latency-using-scripted:   tools/rvc_for_realtime.py

* modified:   infer/lib/infer_pack/models.py

* fix some bug:   configs/config.py
	fix some bug:   infer/lib/infer_pack/models.py
	fix some bug:   infer/lib/rmvpe.py

* Fixed abnormal reference of logger in multiprocessing:   infer/modules/train/train.py

---------

Co-authored-by: 源文雨 <41315874+fumiama@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Format code (#1298)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* 🎨 同步 locale (#1299)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: optimize actions

* feat(workflow): add sync dev

* feat: optimize actions

* feat: optimize actions

* feat: optimize actions

* feat: optimize actions

* feat: add jit options (#1303)

Delete useless code:   infer/lib/jit/get_synthesizer.py
	Optimized code:   tools/rvc_for_realtime.py

* Code refactor + re-design inference ui (#1304)

* Code refacor + re-design inference ui

* Fix tabname

* i18n jp

---------

Co-authored-by: Ftps <ftpsflandre@gmail.com>

* feat: optimize actions

* feat: optimize actions

* Update README & en_US locale file (#1309)

* critical: some bug fixes (#1322)

* JIT acceleration switch does not support hot update

* fix padding bug of rmvpe in torch-directml

* fix padding bug of rmvpe in torch-directml

* Fix STFT under torch_directml (#1330)

* chore(format): run black on dev (#1318)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore(i18n): sync locale on dev (#1317)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: allow for tta to be passed to uvr (#1361)

* chore(format): run black on dev (#1373)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Added script for automatically download all needed models at install (#1366)

* Delete modules.py

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* chore(i18n): sync locale on dev (#1377)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore(format): run black on dev (#1376)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Update IPEX library (#1362)

* Update IPEX library

* Update ipex index

* chore(format): run black on dev (#1378)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Update Changelog_CN.md

* Update Changelog_CN.md

* Update Changelog_EN.md

* Update README.md

* Update README.en.md

* Update README.md

---------

Co-authored-by: Chengjia Jiang <46401978+ChasonJiang@users.noreply.github.com>
Co-authored-by: Ftps <ftpsflandre@gmail.com>
Co-authored-by: shizuku_nia <102004222+ShizukuNia@users.noreply.github.com>
Co-authored-by: Ftps <63702646+Tps-F@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: 源文雨 <41315874+fumiama@users.noreply.github.com>
Co-authored-by: yxlllc <33565655+yxlllc@users.noreply.github.com>
Co-authored-by: RVC-Boss <129054828+RVC-Boss@users.noreply.github.com>
Co-authored-by: Blaise <133521603+blaise-tk@users.noreply.github.com>
Co-authored-by: Rice Cake <gak141808@gmail.com>
Co-authored-by: AWAS666 <33494149+AWAS666@users.noreply.github.com>
Co-authored-by: Dmitry <nda2911@yandex.ru>
Co-authored-by: Disty0 <47277141+Disty0@users.noreply.github.com>
2023-10-06 19:11:58 +08:00
.github feat: optimize actions 2023-09-23 14:01:58 +09:00
assets chore(sync): merge dev into main (#1379) 2023-10-06 17:14:33 +08:00
configs chore(sync): merge dev into main (#1379) 2023-10-06 17:14:33 +08:00
docs chore(sync): merge dev into main (#1380) 2023-10-06 19:11:58 +08:00
i18n chore(sync): merge dev into main (#1379) 2023-10-06 17:14:33 +08:00
infer chore(sync): merge dev into main (#1379) 2023-10-06 17:14:33 +08:00
logs/mute Add files via upload 2023-05-14 16:08:37 +08:00
tools chore(sync): merge dev into main (#1379) 2023-10-06 17:14:33 +08:00
.env fix: index_root searching 2023-09-01 14:11:55 +08:00
.gitignore chore: Add back important .gitignore entries (#1125) 2023-08-31 22:06:59 +08:00
docker-compose.yml Added NVIDIA GPU support to Docker (#1231) 2023-09-13 00:18:04 +09:00
Dockerfile fix: typo for rmvpe location in Dockerfile (#1261) 2023-09-17 07:29:17 +09:00
environment_dml.yaml Add directML support to RVC for AMD & Intel GPU supported (#707) 2023-07-09 10:07:02 +00:00
go-realtime-gui-dml.bat Add files via upload 2023-08-30 20:31:56 +08:00
go-realtime-gui.bat Add files via upload 2023-07-11 14:45:34 +08:00
go-web-dml.bat Add files via upload 2023-08-30 20:31:56 +08:00
go-web.bat Add files via upload 2023-04-27 23:34:03 +08:00
gui_v1.py chore(sync): merge dev into main (#1379) 2023-10-06 17:14:33 +08:00
infer-web.py chore(sync): merge dev into main (#1379) 2023-10-06 17:14:33 +08:00
LICENSE Update LICENSE (#1137) 2023-08-30 20:45:15 +08:00
MIT协议暨相关引用库协议 Create MIT协议暨相关引用库协议 2023-07-12 11:25:18 +08:00
poetry.lock poetry add python-dotenv (#1126) 2023-08-30 17:24:34 +08:00
pyproject.toml poetry add python-dotenv (#1126) 2023-08-30 17:24:34 +08:00
README.md chore(sync): merge dev into main (#1380) 2023-10-06 19:11:58 +08:00
requirements-amd.txt ROCm support for AMD GPUs on Linux (#1248) 2023-09-15 10:41:38 +09:00
requirements-dml.txt optimize(ffmpeg): replace cmdline ffmpeg to pyav 2023-09-03 15:19:19 +08:00
requirements-ipex.txt chore(sync): merge dev into main (#1379) 2023-10-06 17:14:33 +08:00
requirements-win-for-realtime_vc_gui-dml.txt Add files via upload 2023-08-13 11:53:46 +08:00
requirements-win-for-realtime_vc_gui.txt Fix GUI i18n (#38) 2023-04-12 14:28:28 +08:00
requirements.txt optimize(ffmpeg): replace cmdline ffmpeg to pyav 2023-09-03 15:19:19 +08:00
Retrieval_based_Voice_Conversion_WebUI_v2.ipynb update colab notebooks (#1023) 2023-08-16 14:08:22 +08:00
Retrieval_based_Voice_Conversion_WebUI.ipynb update colab notebooks (#1023) 2023-08-16 14:08:22 +08:00
run.sh optimize: no json config writeback 2023-09-02 13:53:56 +08:00
venv.sh bugfix: fix .venv file version to 3.8 (#946) 2023-08-26 23:54:44 +08:00

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卡RocmLinux
  pip install -r requirements-amd.txt

I卡IPEXLinux
  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

参考项目

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