RVC

义项:声音转换开源工具
RVC

RVC(Retrieval-based Voice Conversion,检索式语音转换)是一套开源的语音音色转换框架,通常以 Retrieval-based-Voice-Conversion-WebUI 项目的形式发布。它在内容特征提取的基础上引入检索替换机制,把输入语音的说话人特征替换为训练集中的目标音色,从而在保留原话语调、节奏与情感的同时改变音色。项目以网页界面组织训练与推理流程,并可在较短语音数据上训练出可用模型。

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

RVC 的名称来自检索式语音转换(Retrieval-based Voice Conversion),指一类以内容特征检索替换为核心环节的语音转换方法,也常用来指代实现该方法的开源项目 Retrieval-based-Voice-Conversion-WebUI,该项目被描述为基于 VITS 的、易用的语音音色转换与变声框架[1]。在 RVC 中,输入音频与输出音频的时长相同,处理对象是已有的语音片段而非文字,因此它属于声音到声音的转换,不承担文本转语音的职能[2]。

该框架的目标是在尽量少的数据条件下建立可用音色模型。项目说明称,即使只有约 10 分钟的低底噪语音数据,也能训练出效果尚可的模型,并且训练过程对显卡性能要求不高[1]。

原理

从处理流程看,RVC 先把输入音频送入内容特征提取网络,得到与说话人身份相对无关的语音表征,再单独提取基频轮廓以保留语调信息;随后用检索得到的目标音色特征参与合成,最后由基于 VITS 的生成模块和声码器输出波形[3]。常见实现使用 HuBERT 一类的自监督模型提取特征,v2 版本把输入表征由 v1 的 256 维改为 12 层 HuBERT 的 768 维,并增加周期鉴别器[4]。

检索环节是 RVC 区别于一般语音转换方法的关键。训练阶段会把目标音色的特征向量存入索引,推理时用近似最近邻搜索找出与当前输入最接近的训练特征,并与输入特征加权混合,从而减轻原始音色泄漏[5]。实现中使用 FAISS 建立索引,早期文档记录的做法是基于 L2 距离的倒排文件索引(IVF),以牺牲部分精度换取更快的查询速度[5]。

音高处理决定转换结果能否保留原语音的起伏。项目支持多种基频提取方式,其中 RMVPE 被用于缓解哑音问题,其后又加入 FCPE 等可选算法[6]。在生成网络中,基频作为附加条件输入,使输出能够跟随输入的旋律,这也是该方法可用于歌唱场景的原因[7]。

以 $x$ 表示输入波形,$c$ 表示其内容特征,$f_0$ 表示基频轨迹,$e$ 表示检索得到的目标音色特征,则转换过程可概括为 $\hat{x}=G(c,f_0,e)$,其中 $G$ 为训练所得的生成网络[7]。

发展历程

项目仓库于 2023 年 3 月创建,代码以 Python 编写。2023 年 5 月 28 日发布的 2.0.230528 版本加入 v2 模型支持,同时新增呼吸音、清辅音与齿音保护,引入 Crepe 音高推理,并把人声伴奏分离所用的 UVR5 去混响、去延迟模型纳入流程[8]。

此后版本持续补充功能。较新的 2.3.260718 版本支持 FCPE 音高提取,实时变声界面加入 CUDA Graph 推理加速,人声与伴奏分离后端由 UVR5 更换为 PyMSS,并允许在特征提取、训练和建索引阶段中断后续跑[6]。预训练底模基于接近 50 小时的开源 VCTK 数据集训练,项目方也曾表示在准备规模更大的 RVCv3 底模[1]。

应用

RVC 的典型用途之一是制作翻唱音频:先用分离工具从歌曲中提取人声,再训练目标音色模型并完成转换,最后与伴奏重新混合。由于输出为纯人声音轨,同一套流程也可用于配音、语音素材制作等需要更换音色的场景。

实时变声是另一类用法。项目自带实时图形界面,官方说明称端到端延迟约 170 毫秒,配合 ASIO 输入输出设备可降至约 90 毫秒,但效果高度依赖硬件驱动支持[1]。社区中还有基于 RVC 的第三方实时语音转换客户端,可用于直播等场景。

框架本身以网页界面组织操作,训练、推理、模型融合等功能在同一界面中完成,支持 Windows、Linux 与 macOS 等平台,并针对不同显卡提供相应依赖方案。除官方仓库外,社区也出现了若干分支与封装,例如提供命令行接口和本地接口服务的版本,便于把转换能力接入其他程序[9]。

局限

RVC 处理的是已有语音,输出长度受输入约束,本身不具备把文字合成为语音的能力,需要先生成或录制源音频再行转换[2]。训练数据质量同样影响结果,项目中建议使用低底噪语音,样本不足或噪声偏大时音色还原会变差[1]。

检索索引会带来额外的存储与加载开销,训练产出的索引文件可能达到数百 MB,需要对向量数量裁剪后才能便于分发与冷启动[2]。实时转换还需处理分块接缝,若切分与对齐处理不当,输出可能带有电音类伪影[10]。

版本兼容性也构成限制:v1 与 v2 模型的特征维度和网络结构不同,模型不能直接跨版本使用[3]。此外,将音色模型用于他人声音会涉及录音样本的使用许可与人格权益问题,公开讨论中常把隐私、授权和数据来源列为使用该方法时需要面对的问题[11]。

参见

  • VITS —— RVC 的生成网络基于这一端到端语音合成架构。

  • HuBERT —— 用于提取与说话人无关的内容特征的语音自监督模型。

  • FAISS —— RVC 建立音色特征索引所依赖的向量检索库。

  • 语音转换 —— RVC 所属的技术类别。

  • 声码器 —— 把声学特征还原为波形的组件。

  • 音高提取 —— 决定转换后语调与旋律是否保留的环节。

参考资料

  1. Retrieval-based-Voice-Conversion-WebUI [引用日期2026-10-29]
  2. RVC 自定义音色指南(Custom Voice / RVC Guide) [引用日期2026-10-29]
  3. 什么是 RVC?基于检索的语音转换技术解析 | Echo [引用日期2026-10-29]
  4. README [引用日期2026-10-29]
  5. faiss_tips_ja [引用日期2026-10-29]
  6. newreleases.io 上的网页 [引用日期2026-10-29]
  7. RVC: An AI-Powered Voice Changer [引用日期2026-10-29]
  8. github.com 上的网页 [引用日期2026-10-29]
  9. rvc [引用日期2026-10-29]
  10. meloie/docs/realtime_study_notes.md at main · sstina/meloie [引用日期2026-10-29]
  11. RVC AI 語音:什麼是 RVC 語音轉換器以及如何使用教學🤖 [引用日期2026-10-29]
词条评价
词条统计

浏览次数:0 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-28T18:30:03Z

历史版本

本条目引用的词条
Retrieval-based-Voice-Conversion-WebUI FAISS VITS HuBERT 语音转换 声码器 音高提取