Voice data <= 10 mins can also be used to train a good VC model!
audio-analysischangeconversational-aiconversionconverterretrieval-modelretrieve-datarvcsovitsso-vits-svcvcvitsvoicevoice-conversionvoiceconversionvoice-converter
144073a924
* automatically select index file when model is selected * Search for full directory of index file * Add trailing separator char to index search string * disable debug log * remove unused re --------- Co-authored-by: 源文雨 <41315874+fumiama@users.noreply.github.com> |
||
---|---|---|
.github/workflows | ||
configs | ||
docs | ||
lib | ||
logs/mute | ||
pretrained | ||
pretrained_v2 | ||
tools | ||
uvr5_weights | ||
weights | ||
.gitignore | ||
app.py | ||
config.py | ||
Dockerfile | ||
environment_dml.yaml | ||
extract_f0_print.py | ||
extract_f0_rmvpe.py | ||
extract_feature_print.py | ||
extract_locale.py | ||
go-realtime-gui.bat | ||
go-web.bat | ||
gui_v0.py | ||
gui_v1.py | ||
guidml.py | ||
i18n.py | ||
infer_batch_rvc.py | ||
infer_cli.py | ||
infer_uvr5.py | ||
infer-web.py | ||
LICENSE | ||
MDXNet.py | ||
MIT协议暨相关引用库协议 | ||
poetry.lock | ||
pyproject.toml | ||
README.md | ||
requirements-win-for-realtime_vc_gui.txt | ||
requirements.txt | ||
Retrieval_based_Voice_Conversion_WebUI_v2.ipynb | ||
Retrieval_based_Voice_Conversion_WebUI.ipynb | ||
run.sh | ||
rvc_for_realtime.py | ||
train_nsf_sim_cache_sid_load_pretrain.py | ||
trainset_preprocess_pipeline_print.py | ||
vc_infer_pipeline.py | ||
venv.sh |
Retrieval-based-Voice-Conversion-WebUI
一个基于VITS的简单易用的语音转换(变声器)框架更新日志 | 常见问题解答 | AutoDL·5毛钱训练AI歌手 | 对照实验记录 | 在线演示
English | 中文简体 | 日本語 | 한국어 (韓國語)
点此查看我们的演示视频 !
使用了RVC的实时语音转换: w-okada/voice-changer
使用了RVC变声器训练的人声转木吉他模型在线demo :https://huggingface.co/spaces/lj1995/vocal2guitar
RVC人声转吉他效果展示视频 :https://www.bilibili.com/video/BV19W4y1D7tT/
底模使用接近50小时的开源高质量VCTK训练集训练,无版权方面的顾虑,请大家放心使用
后续会陆续加入高质量有授权歌声训练集训练底模
简介
本仓库具有以下特点
- 使用top1检索替换输入源特征为训练集特征来杜绝音色泄漏
- 即便在相对较差的显卡上也能快速训练
- 使用少量数据进行训练也能得到较好结果(推荐至少收集10分钟低底噪语音数据)
- 可以通过模型融合来改变音色(借助ckpt处理选项卡中的ckpt-merge)
- 简单易用的网页界面
- 可调用UVR5模型来快速分离人声和伴奏
- 使用最先进的人声音高提取算法InterSpeech2023-RMVPE根绝哑音问题。效果最好(显著地)但比crepe_full更快、资源占用更小
环境配置
以下指令需在 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 来安装依赖:
pip install -r requirements.txt
Mac 用户可以通过 run.sh
来安装依赖:
sh ./run.sh
其他预模型准备
RVC需要其他一些预模型来推理和训练。
你可以从我们的Hugging Face space下载到这些模型。
以下是一份清单,包括了所有RVC所需的预模型和其他文件的名称:
hubert_base.pt
./pretrained
./uvr5_weights
想测试v2版本模型的话,需要额外下载
./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
之后使用以下指令来启动WebUI:
python infer-web.py
如果你正在使用Windows 或 macOS,你可以直接下载并解压RVC-beta.7z
,前者可以运行go-web.bat
以启动WebUI,后者则运行命令sh ./run.sh
以启动WebUI。
仓库内还有一份小白简易教程.doc
以供参考。
参考项目
- ContentVec
- VITS
- HIFIGAN
- Gradio
- FFmpeg
- Ultimate Vocal Remover
- audio-slicer
- Vocal pitch extraction:RMVPE