RVC 音色转换入门指南:10 分钟样本跑通 AI 变声,零基础可用

发布时间:2026/10/24 4:00:36
RVC 音色转换入门指南:10 分钟样本跑通 AI 变声,零基础可用

RVC 音色转换入门指南:10 分钟样本跑通 AI 变声,零基础可用

【免费下载链接】Retrieval-based-Voice-Conversion-WebUIEasily train a good VC model with voice data <= 10 mins!项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI

RVC 是一个开源的检索式音色转换工具:投喂 10 分钟目标人物的干净人声,就能训出一个"声音滤镜",把你的声音离线或实时换成目标音色。推理端到端延迟 170ms,配 ASIO 声卡最低 90ms,4GB 显存即可起步。

📦 项目速览

维度信息
适合谁想给歌曲换歌手、做直播变声器、训练个人专属音色的人
平台Windows / Linux(README 以 Ubuntu 24.04 为例);N 卡、A 卡、I 卡、纯 CPU 均可
硬件门槛N 卡 4GB 显存起步,低于 4GB 自动退回 CPU;A 卡 Windows 走 DirectML
最低环境Python 3.12 x64、ffmpeg、对应硬件的 PyTorch
最少素材10 分钟单人、低底噪人声音频(官方 FAQ 推荐 10~50 分钟)
典型玩法训练专属音色、批量换声、人声伴奏分离、实时变声
关键数字实时变声端到端 170ms,ASIO 下 90ms;WebUI 默认监听端口 7865

它的工作原理一句话:用 top1 检索把输入特征替换成训练集特征,从而杜绝原声音色"漏"进结果(源码在 webui.py 的推理链路)。

🧾 动手前:环境核对单

先对照下表自查,哪项不达标就按第三列处理。

项目要求不达标怎么办
Python3.12 x64装 3.12 并新建虚拟环境再执行后续命令
系统Windows 或 Linux(推荐 Ubuntu 24.04)其他发行版参照 Ubuntu 步骤类比安装系统依赖
显卡N 卡显存 ≥4GB;A 卡/无 N 卡走 CPU 或 DirectML改装 requirments_cpu_py312.txt,训练慢但可用
ffmpeg命令行可直接调用Ubuntu:sudo apt install ffmpeg;Windows:把 ffmpeg.exe、ffprobe.exe 放项目根目录
网络能访问 PyPI 与模型仓库requirements 文件顶部已内置国内镜像源,一般无需处理

目录分工先记熟,后面每步都会用到:

  • 预训练模型:assets/(hubert_base、rmvpe、pretrained、pretrained_v2、uvr5_weights)
  • 实验数据与训练产物:logs/实验名/
  • 可分享的小模型(60MB+ 的 .pth):assets/weights/;索引 .index:assets/indices/
  • 参数与配置:configs/config.py 和configs/v1、v2下的 json

🚧 跑起来的三个动作

把整个过程想成开一家录音棚:先装修,再上架设备,最后开张接单。

动作 1:拿到代码

为什么:后面所有命令都在仓库根目录执行。怎么做:

git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI

过关标准:根目录能看到webui.py、configs/、train/、tools/。

动作 2:装环境 + 下模型

为什么:代码只负责"跑",依赖和权重要单独就位。怎么做(以 N 卡为例):

python -m venv .venv # 激活虚拟环境后 python -m pip install torch==2.7.1+cu118 torchaudio==2.7.1+cu118 python -m pip install -r requirments_cu118_py312.txt

RTX 50 系把版本号换成 cu128 版;CPU/A 卡/I 卡直接装requirments_cpu_py312.txt。再下模型(推理+训练必需的最小集):

python -m pip install --upgrade huggingface_hub hf download lj1995/VoiceConversionWebUI --revision main --include "hubert_base/*" --local-dir assets hf download lj1995/VoiceConversionWebUI rmvpe.pt --revision main --local-dir assets/rmvpe hf download lj1995/VoiceConversionWebUI --revision main --include "pretrained/*" "pretrained_v2/*" --local-dir assets

过关标准:assets/hubert_base/下有pytorch_model.bin,assets/rmvpe/rmvpe.pt存在;N 卡用户执行python -c "import torch; print(torch.cuda.is_available())"打印True。

动作 3:启动 WebUI

为什么:所有操作都在网页里完成。怎么做:

python webui.py

无桌面服务器的 Ubuntu 加--noautoopen,再手动访问。过关标准:浏览器自动打开 7865 端口页面,页签能看到「模型推理」「伴奏人声分离&去混响&去回声」「训练」「ckpt处理」「常见问题解答」,控制台打印当前设备(如cuda:0)。

偷懒路线:如果拿的是带 runtime 的 Windows 整合包(如 RVC-beta),解压后双击go-webui.bat即可,相当于跳过动作 1、2,直接到动作 3 的效果。

🎯 最小闭环:从零训一个自己的音色

  1. 备素材:准备 10 分钟以上、无 BGM 的单人人声,放进一个文件夹(路径别带中文和空格)。
  2. 进「训练」页签,「输入实验名」填my-test。实验数据会按这个名字建在logs/my-test/下。
  3. step2a「输入训练文件夹路径」填上一步的素材路径,点「处理数据」。完成后实验目录多出0_gt_wavs、1_16k_wavs两个切片文件夹。
  4. step2b 音高算法选rmvpe(默认值,速度最快),点「特征提取」。
  5. step3 保持默认:版本 v2、采样率 40k、总训练轮数 20,点「一键训练」。
  6. 等输出信息出现Training is done. The program is closed.,且logs/my-test/下出现added_IVF*.index索引文件,训练才算完整。
  7. 切到「模型推理」页签,点「刷新音色列表」,下拉框应出现my-test。
  8. 上传一段自己的录音,变调填 0,音高算法rmvpe,点「转换」,播放输出音频。

判断结果正确:听感上音色明显偏向训练目标、语气和节奏仍跟随输入。若还残留原声音色,往下看能力 2 的参数。

🔬 核心能力拆解

能力 1:一键训练流水线

解决什么问题:手动分步跑切片、提特征、训练容易漏步骤,流水线一次串完:切片归一化 → 提取音高与 HuBERT 特征 → 训练模型和索引(预处理细节在 train/preprocess.py)。

何时使用:手里有新音色素材要变成模型时。

关键参数作用
目标采样率40k / 48k,越高越保真,显存和时长开销也越大
模型是否带音高指导唱歌必须开;纯语音可关
总训练轮数 total_epoch默认 20;低音质素材 20~30 足够,高音质可拉到 200(官方 FAQ Q9)
batch_size默认取显存的一半(GB 数),显存不够就调小

最反直觉的坑:现象是训练中途报 tensor 尺寸不匹配;原因是中途改了采样率接着训,新旧特征对不上;对策是换一个新实验名从头训,而不是在原实验上打补丁(官方 FAQ Q18)。另注意训练页签明确写着"暂时只支持单人训练",素材里混进第二个人的声音,效果就会变差。

能力 2:检索式推理(管音色泄露)

解决什么问题:底模和输入音频的音色可能渗进输出,叫"音色泄露";检索模块用训练集特征替换输入特征来压制它。

何时使用:转换结果听起来"还带点原来的嗓音"时。

关键参数作用
检索特征占比 index_rate0~1,单次推理默认 0.75、批量默认 1;越大越贴训练集音色
变调整数半音,+12 升八度,-12 降八度,保持原调填 0
保护清辅音和呼吸声0~0.5,默认 0.33;拉满 0.5 等于关闭保护,调低保护更强但可能削弱索引效果
音高提取算法pm / rmvpe / fcpe 三选一,rmvpe 速度最快、资源占用小

最反直觉的坑:现象是 index_rate 拉满后音质反而变差;原因是检索会把输出往训练集的音质水平上靠,训练集音质低于原音频时就亏;对策是只有训练集音质高、时长足时才拉满,否则退回 0.75 附近微调(官方 FAQ Q11 有完整解释)。

能力 3:UVR5 人声伴奏分离

解决什么问题:想训练的素材是整首歌时,先把人声和伴奏拆开;附带去混响(DeReverb)、去回声(DeEcho)模型。

何时使用:素材含 BGM 或混响,直接训练会把伴奏学进音色。

关键参数作用
模型下拉选人声提取或 DeEcho/DeReverb 类,模型权重需提前下到assets/uvr5_weights/
输出文件夹主人声 / 非主人声分别指定,默认opt
导出格式wav / flac / mp3 / m4a,默认 flac

最反直觉的坑:现象是分离出来的人声"很干净",训完却发现副歌段有鬼影;原因是分离模型对叠唱、气声段并不彻底,残留音会被当成音色学走;对策是挑独唱、单声道的干净段落再进训练,而不是整段照搬。

🛠️ 问题速查:现象对照处理

现象处理办法
启动或推理时报缺assets/下模型文件重跑动作 2 里对应的hf download条目
Cuda out of memory训练把 batch_size 调小;推理调小 configs/config.py 里的 x_pad/x_query/x_center/x_max
ffmpeg error / utf8 error多为路径问题:目录或文件名带中文、空格、括号,迁到纯英文路径重试(FAQ Q1)
结果还带原声音色调高「检索特征占比」,同时确认训练集音质不差于原音频
一键训练结束却看不到added_*.index索引步骤可能卡住,回到训练页签再点一次「训练特征索引」(FAQ Q2)
刷新后下拉框没有新音色先点「刷新音色列表」;还没有就翻logs/实验名下的日志找训练报错(FAQ Q3)
浏览器 Connection Error控制台黑窗口被关了,重新打开启动命令(FAQ Q5)
处理数据时内存 error调低「CPU 进程数」,并手工把过长的训练音频切短(FAQ Q14)

更多条目见 WebUI 内置的「常见问题解答」页签,内容与 docs/cn/faq.md 同步。

🧭 进阶入口

  • 混合两个音色:「ckpt处理」页签的模型融合(ckpt-merge),填两个模型路径和 A 权重即可;源码在 train/process_ckpt.py。
  • 整文件夹批量换声:「模型推理」下的批量推理页签,输出默认落在opt/,支持指定 wav/flac/mp3/m4a。
  • 直播实时变声:运行realtime_gui.py(Windows 整合包双击go-realtime_gui.bat),端到端 170ms,ASIO 声卡下 90ms。
  • 查参数与更新史:docs/cn/Changelog_CN.md 记录各版本改动,训练技巧看 docs/cn/faq.md 的 Q9~Q11。

训出第一个能听出目标的音色只是起点。换三段不同风格的音频、每组参数只动一处再对比听感,比读十篇教程都快。

合规提示:AI 生成的声音受当地法律约束,克隆他人音色前务必取得本人授权,尊重版权与隐私,仅将模型用于合法合规的用途。

【免费下载链接】Retrieval-based-Voice-Conversion-WebUIEasily train a good VC model with voice data <= 10 mins!项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考