ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

RVC变声(Retrieval-based-Voice-Conversion-WebUI):10分钟语音数据训练专属AI音色

RVC变声(Retrieval-based-Voice-Conversion-WebUI):10分钟语音数据训练专属AI音色

RVC变声(Retrieval-based-Voice-Conversion-WebUI):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

Retrieval-based-Voice-Conversion-WebUI(简称 RVC)是一款开源的语音转换/变声框架:用 10 分钟低底噪录音就能训练出一个专属 AI 音色,再把任意音频替换成这个声音。底模由约 50 小时开源 VCTK 语料训练,无版权顾虑;4G 显存即可开训,没有独显也能用 CPU 跑离线推理。适合变声整活玩家、翻唱爱好者与视频创作者。

两个最常见的场景:开黑实时变声与翻唱换音色

开黑连麦时想"用别人的嗓门说话",要求实时、低延迟、不装一堆乱七八糟的软件——这是实时变声。做翻唱时想把自己的声音(或某个你喜欢的声音)替到原唱的位置上——这是离线音色转换。这两件事,一个项目就能同时做:RVC 把训练、推理、人声伴奏分离、实时变声打包在一起,入口是一个网页界面。只录 10 分钟自己的声音,能"借"出一个 AI 嗓音吗?项目给出的答案是肯定的。

RVC 能力速览:关键数字一览

项目说明
训练数据量10–50 分钟低底噪语音;音色有特色且质量高,5 分钟也成立
硬件门槛4G 显存可训练;AMD 卡/Intel 核显/CPU 均有对应依赖包(Windows 走 DirectML,Linux 走 CPU)
界面形式网页操作(Gradio 搭建),默认监听 7865 端口
实时变声延迟端到端约 170ms,换用 ASIO 输入输出设备约 90ms
底模来源接近 50 小时开源 VCTK 训练集,可放心商用学习
防音色泄漏top1 检索替换机制,从源头掐断输入源的"串味"

音色转换的原理:三层"乐谱"加一条检索规则

任何一段声音都可以拆成三层:内容(说了什么)、音高曲线(旋律怎么走的)、音色(是谁在说)。RVC 做的事,就是把前两层从你的音频里"读谱"出来,再用目标说话人的音色重新演奏一遍,原音频的第三层直接丢弃。

真正容易踩坑的是"音色泄漏":模型对目标声音记忆不够牢时,会从你的输入音频或底模身上借音色。RVC 的解法是在训练前给训练语料建一个 faiss 索引,推理时每帧先做一次 top1 检索——从原主的语料里找与当前帧最接近的音色样本当参照,相当于定下"翻唱只许参考原唱的处理,不许带自己的味"这条规则,泄漏从机制上被堵死。

幕后干活的是三组组件:Hubert(ContentVec)负责读出"说了什么";RMVPE(InterSpeech 2023 论文算法)负责测量音高,主要功劳是减少"哑音"、纠正跑调;VITS 加 HiFiGAN 负责最终的声音合成。整条推理链的主逻辑可以对照 infer/vc/pipeline.py 阅读。

安装启动:从零到打开网页界面的 5 步

💡 前置条件:Python 3.12 x64(Ubuntu 推荐 24.04 x86_64);系统需有 ffmpeg。Ubuntu 可一条 apt 命令装齐(含 python3.12、ffmpeg、libportaudio2 等);Windows 用户需把ffmpeg.exe和ffprobe.exe放进项目根目录。

第 1 步:拉取项目

# 克隆仓库并进入根目录 git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI

第 2 步:建虚拟环境

# 创建并激活虚拟环境(Ubuntu 写法;Windows 用 py -3.12 -m venv .venv) python3.12 -m venv .venv source .venv/bin/activate

第 3 步:按硬件装依赖

NVIDIA 卡需先安装对应 CUDA 版本的 Torch(版本与下载源见 README),再装项目依赖文件:

硬件依赖文件
NVIDIA(RTX 50 系以前)requirments_cu118_py312.txt
NVIDIA RTX 50 系requirments_cu128_py312.txt
CPU / AMD / Intelrequirments_cpu_py312.txt
# 以 CUDA 11.8 的 N 卡为例,其余硬件换成对应文件名即可 python -m pip install -r requirments_cu118_py312.txt

第 4 步:下载预训练模型(Hubert 特征模型、RMVPE 权重、v1/v2 底模,推理与训练都必需)

# 安装 hf 工具并拉取模型 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

第 5 步:启动网页界面

# 启动 WebUI(无桌面的服务器加 --noautoopen) python webui.py

启动后浏览器访问http://localhost:7865即可操作。Windows 用户也可以直接双击go-webui.bat省去命令行。之后训练、推理、模型处理全部在网页里点选完成,不需要再碰终端。

实战场景:训练专属音色、直播变声与模型融合

直播、开黑:实时变声

开黑玩家和主播用这个场景最多。双击go-realtime_gui.bat(入口 realtime_gui.py)加载训练好的模型,说话声会即时换成目标音色,官方口径的端到端延迟约 170ms,换成 ASIO 设备约 90ms。比较实用的细节:参数是热更新的,加载模型后改音高、索引比例立即生效,不用停掉重来;输入输出设备要选同一种类型(例如都选 MME),否则会出怪声。

翻唱、配音:离线音色替换

流程是:先用内置 UVR5(代码在 tools/uvr5/)把人声和伴奏从歌曲里分开,长录音切成片段,然后走"一键训练"——数据预处理、音高提取、特征提取、训练、建索引在一个页面里串行跑完(训练入口 train/train.py)。训练完成后,把约 60MB 的小.pth模型放进assets/weights/,.index索引放进assets/indices/,在推理选项卡就能批量替换音色。担心输入音频的音色"串"进来,就把 index_rate 往高调:值越接近 1,输出越贴着训练集的声音,代价是训练集质量不高时音质会被拉低。

对单一音色不满意:模型融合

两个声音都喜欢,就在"ckpt 处理"选项卡里用 ckpt-merge 给两个模型分配权重比例,混合出一个新音色,推理试听后按喜好反复调比例。

底层技术:各自负责什么

  • VITS—— 语音合成模型骨干,决定音色转换的上限
  • ContentVec—— 把"说了什么"编码成向量,让内容与音色可分离
  • HiFiGAN—— 高质量声码器,把合成结果"润"得更接近人声
  • RMVPE—— 人声音高提取(InterSpeech 2023 算法),音高更准、哑音更少
  • Gradio—— 撑起整个网页界面
  • UVR5—— 人声与伴奏分离
  • audio-slicer—— 把长录音切成训练片段
  • FFmpeg—— 各类音频格式读写的底座

常见坑:新手高频问题与解法

训练素材要准备多少?推荐 10–50 分钟,低底噪比时长更重要;音色有特色且质量高,5–10 分钟就够。素材底噪大的话别盲目加轮数,20–30 个 epoch 就差不多——底模的音质带不动你的低质素材。

显存不够、报 Cuda out of memory?训练先把 batch size 调小,4G 显存仍能训;4G 以下(如 1060 3G)建议放弃 GPU 训练。推理爆显存时,调小 configs/config.py 末尾的x_pad、x_query等参数。

报 ffmpeg error / utf8 error?大概率不是 ffmpeg 的问题,而是路径问题:路径带空格、括号会触发 ffmpeg error;训练集走中文路径在写 filelist 时可能报 utf8 error。把目录改成纯英文加数字,基本就解决。

训练完推理时看不到自己训的音色?先点"刷新音色";还没有的话去查训练过程是否报错,logs/实验名下的 log 文件是第一个该看的地方。

更多细节可翻 docs/cn/faq.md 和 docs/cn/Changelog_CN.md。

先把最短闭环跑通:克隆仓库、录一段 10 分钟的低底噪声音、走通网页里的一键训练,拿到一个能放进assets/weights/的.pth模型。离线跑通后,再把实时变声界面打开,去语音通话里试试那个 170ms 的延迟——到这里,这个项目的核心能力你已经全部拿到手了。

【免费下载链接】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),仅供参考

返回列表