RVC Next

模型管理

模型 页面集中管理 rvc-next 用到的所有模型文件:你的音色、训练用的底模、人声分离模型,以及 HuBERT、RMVPE 等必需的资源文件。页面顶部有五个标签页:

标签页内容
音色音色库:导入、浏览、编辑音色,未分配的索引,原版 RVC 安装
底模训练用的底模:官方底模和你导入的 G/D
分离模型内置的分离模型和你导入的分离模型
资源所有可下载的文件:HuBERT、音高模型(RMVPE、FCPE、CREPE)、底模、分离模型、示例音色
工具融合两个音色;从训练检查点提取音色

音色库

浏览与筛选

音色 标签页以卡片形式列出音色库里的所有音色。每张卡片显示名称、采样率 · 版本 · 音高引导/无音高引导,以及标签:

  • 无索引:音色没有附加索引,索引强度 参数对它不起作用;
  • N 个说话人:多说话人音色;
  • 旧版:来自原版 RVC 安装、在原处直接读取的音色(见下文“原版 RVC 安装”一节)。

卡片上方的工具:

  • 筛选音色:按名称或标签搜索;
  • 无索引:只显示没有索引的音色,方便补全索引;
  • 显示隐藏的:显示被隐藏的旧版音色。

点击卡片进入音色详情页。

音色库还是空的?

空的音色库会提示 还没有音色,并提供 获取示例音色 按钮,点击后跳到 资源 标签页,可以下载几个 RVC 官方示例音色先试用。

音色详情

详情页顶部有 返回、下载(把音色打包为 zip:.pth(写入了说话人名称)和它的索引,文件名使导入时能再次自动配对;也可用 rvc-next model export)、在文件夹中显示(只在服务器本机打开网页时显示)和 删除 按钮。页面分为四块:

信息

  • 可编辑 名称、描述、标签(用英文逗号分隔),多说话人音色还可以给每个 说话人 N 起名,改完点 保存。
  • 下方列出 采样率、版本、音高引导、说话人、文件、大小 和 模型内信息。单说话人音色会显示 单说话人 · N 个嵌入槽位:训练出的音色通常都带有 109 个嵌入槽位,这并不代表它是多说话人音色;只有模型里记录了说话人信息时才算多说话人。

索引

  • 列出已附加的索引:default 是整个音色的索引,spk<N> 是某个说话人专用的索引。点 移除 可以卸下。
  • 多说话人音色会出现 索引 下拉框,用来选择接下来附加的是 default 还是某个说话人的索引。
  • 附加索引:把 .index 文件拖到这里或点击选择。
  • 服务器上 .index 的路径:直接填写服务器上的路径,再点 添加(只在服务器本机,或设置了访问令牌时显示)。
  • 从实验构建:选择一个训练实验,用它已提取的特征为这个音色构建索引(实验需要已完成 特征 阶段)。

每次附加都会检查索引是否适合这个音色:不含向量的空索引(原版的 trained_*.index)和版本不符的索引(v1 是 256 维,v2 是 768 维)会被拒绝。

默认参数

每个音色有一个默认预设,在导入时根据设置中的默认参数创建。在其他页面选择这个音色时,会自动载入这组参数。在这里调整后点 保存 即可。参数含义见 音色参数。

试听

用默认参数转换一小段音频。 选一段音频,点 预览 15 秒,结果会显示在下方,可以直接播放或与源音频对比。

删除与隐藏

  • 音色库中的音色:删除 会确认 将 {名称} 移到回收站?,音色文件夹被移到数据文件夹的 trash/ 中。
  • 旧版音色:按钮变成 隐藏,确认 隐藏 {名称}?RVC 安装中的文件不会被改动。 隐藏后可以通过 显示隐藏的 再看到。
  • 下载的示例音色:删除后可以在 资源 中重新下载。

音色库在磁盘上的样子

音色库默认位于数据文件夹的 models/(可在 设置 › 存储 › 音色 中更改):

models/
  voices/<音色>/model.pth        音色模型
  voices/<音色>/model.index      默认索引
  voices/<音色>/spk<N>.index     某个说话人的索引
  voices/<音色>/voice.json       名称、描述、标签、说话人名称等
  base/                          导入的底模
  separation/                    导入的分离模型
  indexes/                       未分配的索引
  attached-indexes/<音色>/       为旧版音色附加的索引副本

导入模型

音色、底模、分离模型 三个标签页顶部都有一个拖放区。三者使用同一套导入流程,放在哪个拖放区都可以:rvc-next 会根据文件内容(而不是文件名或扩展名)判断每个文件是什么,再决定放到哪里。

能识别哪些文件

文件识别方式导入后
音色模型 .pth(小模型)模型结构加入音色库
索引 .index向量维度:256 维为 v1,768 维为 v2;不含向量的是 trained_ 索引附加到配对的音色,或放进 未分配的索引
训练生成器 G(G_*.pth)从权重中读出版本、采样率和是否有音高引导默认作为底模导入,也可以选择 提取音色
训练判别器 D(D_*.pth)子判别器数量与 G 配对作为底模
分离模型配置 .yaml 与检查点(.ckpt、.pth、.bin、.safetensors)配置的模型类型成为一个分离模型和预设
.zip解压后逐个识别其中的文件同上

无法识别的文件会被跳过,并在导入完成后提示 已跳过:…。

导入步骤

  1. 把文件拖到拖放区(或点击选择)。可以一次拖入多个文件,例如一个 .pth 和它的 .index,或者一个包含它们的 .zip。
  2. 上传时显示进度条。
  3. 如果每个文件该去哪里都很明确,导入会立即完成,并弹出提示,例如 已导入 {名称},并附加 1 个索引。
  4. 如果有无法确定的地方,会打开 检查导入 对话框,让你确认后再导入。

每个拖放区下方的 或从链接添加 可以填一个或多个链接(用空格分隔);点 添加 后由服务器下载(一个 下载链接 任务显示进度),之后的导入与拖入文件相同:

  • Hugging Face:一个文件(…/blob/main/x.pth 或 …/resolve/main/x.pth)、一个仓库(huggingface.co/owner/repo),或仓库里的一个文件夹(…/tree/main/folder):其中所有 .pth、.index、.zip 和分离模型文件都会被下载。Hugging Face 链接通过 设置 › 下载 中选择的下载源(例如 hf-mirror)下载。
  • Google Drive:分享的文件链接(drive.google.com/file/d/…)。Drive 会不时改变下载方式;如果链接失效,请在浏览器中下载文件后拖入。
  • 其他任意 指向文件的链接。

链接必须指向互联网:指向服务器本机或其局域网(例如 127.0.0.1、192.168.…、10.…)的链接会被拒绝,网站重定向到这些地址时也一样,这样网页界面就不能被用来访问服务器旁边的其他服务。命令行(rvc-next model import <链接>)可以从本地地址下载。超过 8 GiB 的文件,以及打开后是网页而不是文件的链接,都会被拒绝。与任何文件一样,来自网络的模型只会作为数据读取(见能识别哪些文件);它的许可需要你自己确认。

导入完成后可能出现的提示:

提示含义
已导入 {名称} / 已导入 {名称},并附加 N 个索引新音色已加入音色库
已将 {名称} 附加到库中的音色索引被附加到音色库里已有的音色
{名称} 暂未分配,可在“音色”中分配。索引进了 未分配的索引
已导入 N 个底模,可在实验设置中选择。导入了底模
已导入 N 个分离模型,可在“分离”中使用。导入了分离模型

索引如何自动配对

索引和音色的配对规则:

  1. 版本必须一致:v1 索引只能配 v1 音色,v2 只能配 v2,这是硬性条件。
  2. 在兼容的音色中,按名称打分:与实验名完全相同得分最高,其次是名称包含音色名、名称相似;放在同一个文件夹里还会加分。
  3. 只有当某个索引是本次导入中唯一兼容的音色,或者得分明显领先其他候选时,才会自动配对;否则交给你选择。
  4. 本次导入里没有合适的音色时,才会考虑音色库中已有的音色。

检查导入对话框

对话框顶部提示:部分文件无法确定配对,请检查以下选择;每个索引只列出兼容的音色。 按文件类型分组:

  • 音色:每个音色可以改 名称,用 导入 开关决定是否导入。
  • 索引:每个索引显示向量数量、配对状态和理由。在 音色 下拉框中选择要配对的音色——{名称}(本次导入) 或 {名称}(库中)——或选 暂不分配 放进未分配的索引。目标是多说话人音色时,还可以选择 说话人(默认 所有说话人)。
  • 底模与检查点:每个 G 选择 用作 底模、提取音色 或 跳过,并可以改名;作为底模时选择配对的 判别器(D)(也可以选 无)。
  • 分离模型:为每个 YAML 选择对应的 检查点,填写名称,选择 主音轨 和 副音轨 并为它们命名(主音轨名称、副音轨名称),用 导入 开关决定是否导入。
  • 不导入:列出无法使用的文件及原因,例如 不是模型文件、缺少生成器的判别器。

索引的配对状态:

状态含义
唯一匹配只有一个兼容的音色
已匹配根据名称或文件夹找到了匹配
待选择有多个候选,需要你选
不兼容没有版本相符的音色
空索引不含向量(trained_ 索引),不能使用
重复另一个索引更匹配同一个音色
已选择你手动选择过

确认后点 导入;点 取消 则放弃这次导入,已上传的文件会被丢弃。

未分配的索引

导入时没有配上音色的索引会出现在 音色 标签页顶部的 未分配的索引 区域:导入时未配对音色的索引。只列出版本匹配的音色。

  1. 在 音色 下拉框中选择一个音色(只列出版本相符的音色);多说话人音色还可以选择 说话人。
  2. 点 分配。
  3. 不需要的索引点 删除。

如果库里还没有同版本的音色,会显示 库中还没有 v1 音色 之类的提示。

来自 Applio 的音色

Applio 是另一个 RVC 应用,它会在音色中写入一些额外信息;rvc-next 会读取它们:

  • 使用 Applio 默认声码器(HiFi-GAN)的音色就是 RVC 音色,可以直接使用。它们的作者、轮数、步数和训练时长显示在 信息 中;多说话人音色会得到编号的说话人,可以改名。
  • 用其他 内容特征模型(Applio 的 “embedder”:SPIN、SPIN v2,或中文、日文、韩文 HuBERT)训练的音色,会按训练时的方式用该模型转换。信息 中显示 内容特征;第一次转换时会提示下载该模型(约 380 MB,来自 Applio 的仓库;也可在 资源 › 内容特征模型 中下载)。
  • 使用 Applio 的 RefineGAN 或 MRF HiFi-GAN 声码器的音色,以及用自定义内容特征模型训练的音色无法使用:导入时会说明原因并跳过。

原版 RVC 安装

如果你还保留着原版 RVC,不必复制模型就能直接使用其中的音色。音色 标签页下方的 原版 RVC 安装 区域:RVC 安装中的音色直接使用;“全部导入”会将其复制到音色库。

  1. 点 添加 RVC 安装。
  2. 在 RVC 文件夹 中填写原版的根目录(里面应有 assets 文件夹),或点 浏览… 选择。
  3. 点 添加。

rvc-next 会读取 assets/weights 中的音色,并在 assets/indices 和 logs 中按原版的规则为每个音色推荐一个索引。这些音色带 旧版 标签,文件始终留在原处,rvc-next 不会写入原版的文件夹(为旧版音色附加的索引会复制到 models/attached-indexes/)。

每个已添加的安装旁边有两个按钮:

  • 扫描:原版里新增或删除了模型后,重新读取,并为新音色推荐索引(你手动选过索引的音色不受影响);
  • 全部导入:把这个安装里的所有音色(连同索引)复制到音色库,之后就和普通音色一样可以编辑。

更多迁移细节见 从原版 RVC 迁移。

底模

底模 标签页:训练从底模开始。可在下方下载官方底模,或导入你自己的 G(和 D);采样率、版本和音高引导从权重中读取。

  • 导入底模:拖入 G 和 D 的 .pth 文件,或 .zip。G 和 D 会自动按名称配对;只有 G 也可以导入(显示为 无 D)。
  • 你的底模:已导入的底模,显示版本 · 采样率 · 是否音高引导 · G + D 或 无 D · 大小。可以 重命名 或 删除(移到回收站)。
  • 社区底模:由 RVC 用户训练的 21 个底模(KLM、Snowie、Titan、Ov2Super、Rigel 等;Applio 维护的列表),都是带音高引导的 v2 底模。每行显示其仓库声明的许可(很多没有声明:分享训练结果前请确认)和来源仓库;下载 从那里获取(约 1.3 GB,G 和 D)。下载后即可在实验中选为底模。
  • 官方:v1/v2 × 32k/40k/48k × 有/无音高引导的官方底模。点 下载 会下载该版本和采样率的整套底模(有、无音高引导的 G 和 D 共 4 个文件);删除只移除这一项自己的 G 和 D,之后可以重新下载。

训练实验的 设置 › 底模 只会列出采样率、版本和音高引导都与实验相符的底模。详见 训练。

分离模型

分离模型 标签页:内置模型可在此处或“资源”中下载;你自己的模型以检查点及其 YAML 配置导入。每个模型都会成为“分离”中的预设。

  • 导入分离模型:拖入检查点(.ckpt、.pth、.safetensors)及其 .yaml,或 .zip。导入前 rvc-next 会实际加载一次模型,确认它能用(可能需要几秒)。
  • 你的分离模型:显示模型类型、主/副音轨名称和大小,可删除。每个导入的分离模型都会成为 分离 页面中带 已导入 标签的一个预设。
  • 内置:内置的分离模型,每项标注 预设:…,即哪些分离预设会用到它。可以下载或删除。

没有导入任何模型时显示 尚未导入分离模型;内置预设始终可以在 分离 页面使用。

资源

资源 标签页列出 rvc-next 能下载的所有文件,按用途分组:

分组文件大约大小
转换HuBERT(所有转换、实时和训练都需要)、RMVPE、RMVPE(ONNX,DirectML 设备使用)、FCPE、CREPE、CREPE tiny180 MB、173 MB、345 MB、41 MB、85 MB、2 MB
训练官方底模 v1/v2 × 32k/40k/48k每组约 350–420 MB
分离人声、人声(激进)、去混响、去混响(激进)、主唱每个约 305–436 MB

列表中的文件名称和说明来自服务器,以英文显示,例如 HuBERT、Base models v2 40k、Separation: Vocals。

每一行显示名称、说明、大小(校验过的显示 已校验)和状态:已安装、未安装、部分下载、校验不符、下载中。可用的操作:

  • 下载:开始下载。下载中显示进度条,以及“已下载 / 总大小 · 速度 · 剩余时间”。
  • 下载全部转换文件(以及 下载全部训练文件、下载全部分离文件):分组标题旁的按钮,一次下载该组中缺少的所有文件。
  • 校验:重新计算已安装文件的 SHA-256 校验和。
  • 删除:删除文件,之后可以重新下载。下载进行中不能删除。

下载很稳健:中断后会从断点续传(未完成的文件以 .part 结尾),失败会自动重试,完成后核对校验和。你不必提前把所有文件都下载好——在任何页面需要某个文件时,相应按钮的位置都会显示 需要 … 和 下载(大小)。

下载太慢?

下载来源在 设置 › 下载 中配置:可以在 模型仓库(rvc-model 或 RVC 官方仓库)之间切换,也可以把 下载端点 改成 hf-mirror.com 或自定义镜像。详见 设置 的“下载”一节。

示例音色

资源 标签页底部是 示例音色:RVC 官方示例音色,连同索引从模型仓库下载。 每行显示采样率 · 版本 · 含索引 · 大小。

  • 点 下载 下载单个音色,或点 全部下载;开始后提示 已开始下载;完成后音色会出现在音色库中。
  • 已下载的音色显示 已在音色库 按钮,点击打开它的详情页。

示例音色只存放在 rvc-model 仓库中,所以无论 模型仓库 选的是哪个,示例音色总是从 rvc-model 下载。

工具

融合两个音色

把两个音色按权重混合成一个新音色:

  1. 选择 第一个音色 和 第二个音色。两者的采样率、版本和音高引导必须相同。
  2. 调整 第一个音色的权重(0–1,默认 0.5):结果 = 权重 × 第一个 +(1 − 权重)× 第二个。
  3. 填写 新音色名称,点 融合。

融合作为任务在后台运行,完成后新音色出现在音色库中。

从检查点提取音色

训练检查点(G_*.pth)不能直接用于转换,需要先提取成小模型:

  1. 在 检查点(G_*.pth 路径或 <实验>/<文件>) 中填写服务器上检查点的完整路径,或用 实验名/G_xxx.pth 的形式指向某个实验里的检查点。
  2. 填写 新音色名称。
  3. 采样率 和 模型版本 默认 从实验读取;检查点不在实验里、无法读取时,请手动选择。
  4. 点 提取。完成后新音色出现在音色库中。

训练出来的音色通常直接在 训练 › 结果 中 导出为音色 更方便,它会自动提取并带上索引。

命令行

rvc-next model list                          # 列出音色
rvc-next model import a.pth a.index          # 导入,规则与网页相同
rvc-next model import D:/RVC                 # 导入整个原版安装
rvc-next model import x.zip --pair voice.pth=added.index   # 手动指定配对
rvc-next model catalog                       # 列出示例音色
rvc-next model download --all                # 下载全部示例音色
rvc-next model merge A B --name AB --alpha 0.5
rvc-next model export 我的音色 -o my-voice.zip     # .pth 及其索引,可在别处导入
rvc-next model extract 我的实验/G_2333333.pth --name 新音色
rvc-next assets list                         # 资源状态
rvc-next assets download --group inference   # 下载 HuBERT 和 RMVPE

命令行导入遇到无法确定的配对时会打印方案并以退出码 3 结束,可以用 --pair、--keep-unassigned、--extract 做决定。完整说明见 命令参考。

本页目录