10 分钟录音炼出专属变声器:RVC 语音克隆新手三步走
【免费下载链接】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(Retrieval-based-Voice-Conversion-WebUI)是一款开源的变声器与语音克隆工具:丢给它 10 分钟目标人声录音,它能训练出一个专属音色模型,之后任何音频进去,都会以这个音色重新输出。适合给视频配音、给游戏角色换声、做翻唱,但不想碰音频工程细节的人。全文按「跑起来 → 听得像 → 用得快」三个阶段走,走完你手里会有一个能实时说话的变声模型。
阶段一 跑起来:从一段录音到训练网页 🚀
这一阶段的目标只有一个:环境装好、网页打开、录音备齐。录音是整个流程里最不可逆的一步,所以先录。
录音十分钟怎么避开底噪
先给结论:总时长 10 到 50 分钟最稳妥;如果录音干净、底噪低、音色有辨识度,5 到 10 分钟也能训出可用模型。录音时盯住三件事:
- 环境要静。底噪会直接进模型,训练轮次再高也压不下去,录音时宁可在安静的房间多录,也别在嘈杂环境里"凑时长"。
- 腔调要有变化。语速、语调、情绪掺着来,模型靠这些样本覆盖不同的发音状态,只念一种腔调的输出会显得很"平"。
- 单条别太长。几十秒到一两分钟一段即可,过长的录音在切分和内存上都是负担。
采样率不用纠结,预处理阶段会自动重采样到训练时选定的档位。另外把训练集放在纯英文/数字的路径里:路径带空格或中文时,ffmpeg 读文件和写清单都可能报错(见 docs/cn/faq.md 的 Q1)。
装环境:按显卡挑对依赖文件
先把代码拉到本地(Python 用 3.12 x64):
git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI python3.12 -m venv .venv激活虚拟环境后,按硬件选仓库里对应的依赖文件装:CPU 或 A 卡/I 卡用 requirments_cpu_py312.txt,RTX 50 系以前的 N 卡用 requirments_cu118_py312.txt,RTX 50 系用 requirments_cu128_py312.txt(后两者装依赖前先装对应 CUDA 版本的 torch)。选错的代价很直接:CUDA 版本和显卡对不上,训练时才会爆 CUDA error。
还有两件事不能省:装 ffmpeg(切分和重采样都靠它,Ubuntu 上sudo apt install ffmpeg,macOS 上brew install ffmpeg);确认 assets 目录里有预训练底模文件。所谓底模,就是官方提前用约 50 小时开源 VCTK 人声数据训好的声学基础模型,你的 10 分钟录音只是在这个基础上微调音色,所以它必须在本地才谈得上训练和推理。
最后启动训练网页:
python webui.py浏览器会自动打开 webui.py 起的页面,默认监听 7865 端口。Windows 用户更省事:双击 go-webui.bat 走整合包,端口是 7897。
4G 显存能不能训练
能。官方 FAQ(Q8)的态度很明确:4GB 显存的显卡还有救,训练、推理都能完成;低于 4GB 的 3G、2G 老卡建议直接放弃,别折腾。
程序启动时会自动读显存做调整——显存不足 4GB 或架构太老的卡会直接落回保守配置。训练时如果 batch size 缩到 1 还报 out of memory,那就是显卡确实不够,只能换卡或租云 GPU。再提醒一句系统内存:切分音频和音高提取是吃 CPU 多进程的,物理内存不够时把"提取音高和处理数据使用的 CPU 进程数"拉低,或手动把训练音频切短些(FAQ Q14)。
阶段二 听得像:三个训练数字加两下按钮 🎧
训练页只动三个数字
训练选项卡里值得动的数字就三个,其余保持默认:
| 参数 | 怎么设 | 为什么 |
|---|---|---|
| 总轮数 | 数据有底噪:20~30 轮;干净且时长足:最多 200 轮 | 底噪大的数据训太多轮,模型会把噪音也学进去(FAQ Q9) |
| 保存间隔 | 保持默认每 10 轮一个点 | 间隔小才能逐个试听,挑最早达标的那个,躲开过拟合 |
| 批次大小 | 用页面默认值,OOM 再往下调 | 默认按显存 GB 数的一半估算(如 8G 卡取 4),是稳定起步值 |
另外两项顺手设好:采样率选 48k,它对应 v2 底模,是 configs/v2/48k.json 所代表的官方质量上限档;音高提取算法保持默认的 rmvpe(InterSpeech 2023 方案,无哑音、速度快、占显存小),歌声输入想提速可换 pm。确认训练集文件夹路径、填一个实验名(后面找模型全靠它),点"一键训练"。流程会依次跑切分、音高提取、特征提取、训练,核心逻辑在 train/train.py,日志落在 logs/实验名/ 下。
训练完没出现索引?再点一次"训练索引"
训练结束后有两个动作必须做。第一是索引:它会用 faiss 把训练特征聚成检索库,产物是 logs/实验名/ 下 added_ 开头的 .index 文件,决定最终声音保留多少训练集的音色。如果一键训练跑完没看到索引,多半是训练集太大卡住了索引步骤,再按一次"训练索引"按钮就行(FAQ Q2)。第二是切到推理页点"刷新音色":训练完推理里看不到训练集的音色,先点刷新,还没有再查 logs/实验名/ 下的报错(FAQ Q3)。
推理调音:检索特征占比与电音保护
推理时真正要摸的滑条是"检索特征占比"(index rate):生成时混入"从训练集检索到的特征"的比例,0 到 1,单条推理默认 0.75。它的本质是治"音色泄露"——当底模或输入源的音质高于训练集时,输出会往它们那边靠,这就是泄露:
- 往 1 拉:音色完全锚定训练集,泄露消失,但音质上限被训练集锁死;
- 拉到 0:不做检索保护,音质可能更好,泄露问题会回来;
- 训练集本身优质且时长足时,模型自己就很少引用外部音色,这个值反而不重要(FAQ Q11)。
变调是整数半音:+12 升八度、-12 降八度。protect 滑条默认 0.33(范围 0~0.5),专门防清辅音和呼吸声被撕出电音,输出有电音时往上拉,但别拉满 0.5——那是关闭保护。
阶段三 用得快:批量、实时与验收 ⚡
批量转换:一个文件夹扔进去
不用开网页逐条点。推理页旁边的"批量推理"选项卡里,指定待转换音频文件夹,输出默认进 opt 文件夹,导出格式可选 wav / flac / mp3 / m4a,点转换后目录里每段音频会被逐个处理完。如果要分享模型,给的是 weights 文件夹下 60MB 以上的那个 .pth 加上配套 .index 文件,别发 logs 下的几百 MB 大文件(FAQ Q4)。
实时变声:170ms 延迟怎么来的
双击 go-realtime_gui.bat 就能打开实时变声界面(realtime_gui.py)。官方数据是端到端 170ms 延迟;换成 ASIO 输入输出设备可压到 90ms,但这非常依赖声卡驱动支持,普通 USB 声卡别期待这个数。
验收:拿没训过的音频听一遍
全部跑通后的最后一道关:在推理页挑一个保存点模型(建议从最早的开始听),上传一段录音里没用过的音频做转换,重点听音色对不对、有没有泄露或电音。对上了,你的专属变声器就成了;不对,翻 logs/实验名/ 的日志或对照 docs/cn/faq.md 逐条排查。
【免费下载链接】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),仅供参考