# 基于检索的语音转换 (RVC)

本指南将指导您使用 RVC,这是一种允许将语音特征从一个音频片段转移到另一个音频片段的技术,使声音能够以不同的音调和风格说话。

您是否喜欢那些著名的"总统玩 X"视频?它们就是使用 RVC 创建的。通过 RVC 扩展,您可以让您的 SillyTavern 角色以您想要的任何声音说话,无论是动漫、电影,甚至是您自己独特的声音。

RVC 不是 TTS:它更像是语音到语音的转换。它以音频片段作为输入。在后台,RVC 所做的是与 SillyTavern 的 TTS 扩展协同工作:它等待 TTS 生成音频文件(无论您是否使用 RVC,TTS 都会这样做),然后 RVC 将执行第二遍,将 TTS 音频文件转换为来自您的 RVC 配置的克隆声音。

# RVC 设置

SillyTavern 的 RVC 支持几个执行音频转换的 API 源:

# 通用先决条件

在开始之前,请确保您已满足以下先决条件。

# ffmpeg

确保您的 PATH 环境变量中有 ffmpeg 二进制文件。此工具用于转换传入的音频。

Windows

Linux

使用您的包管理器安装 ffmpeg。

# Debian/Ubuntu
sudo apt install ffmpeg
# Arch Linux
sudo pacman -S ffmpeg
# Fedora
sudo dnf install ffmpeg

macOS

使用 Homebrew 安装 ffmpeg:

brew install ffmpeg

# 确保 TTS 已启用并工作

RVC 依赖于 TTS,您需要启用 TTS 扩展。在尝试添加 RVC 之前,您的 TTS 必须已经正常工作并叙述您的聊天!

请注意:

  • 系统 TTS 引擎完全不支持语音转换。
  • 流式 TTS 将等待音频流结束后再进行转换。

# 安装扩展

从扩展面板(堆叠块图标)的"下载扩展和资产"菜单中安装"RVC"扩展。

# 在 SillyTavern 中启用 RVC*

在 SillyTavern 中,导航到 扩展 > RVC 并启用它。

# 选择源

在扩展设置中,选择要使用的 RVC 源。然后继续进行特定于源的安装说明。

# rvc-python 设置

# 1. 安装软件包

按照 GitHub 页面中的安装说明进行操作:rvc-python 安装。如果您有 Nvidia GPU,建议遵循 CUDA 安装说明。

如果您在 Windows 上安装时遇到问题(例如,构建 fairseq 步骤失败),请确保您的计算机上安装了以下软件:

# 2. 准备模型

创建一个用于存储 RVC 模型的目录。默认情况下,它名为 rvc_models,并在启动服务器时从当前目录中选取。每个模型都是一个子文件夹(其名称将在 UI 中可见),应包含 .pth(必需)和 .index(可选)文件。

阅读更多:rvc-python 模型管理

# 3. 启动 API 服务器

通过运行以下命令启动 API 服务器:

python -m rvc_python api -p 5050 -l -md models_path

参数:

  • 5050 - 设置服务器的监听端口。如果您想在不同的端口上托管,请更改。
  • models_path - 设置模型路径。如果您想使用默认的 rvc_models 目录,请删除。
  • -l - 设置服务器在所有网络接口上监听。删除以仅在 localhost 上监听。

# 4. 连接到服务器

  • 在 RVC 扩展设置中,设置适当的 rvc-python API URL。默认情况下,它将是 http://localhost:5050
  • 如果您安装了 rvc-python 以支持 CUDA 加速,请选中 使用 CUDA 复选框。
  • 按"刷新"加载可用声音列表。

# 5. 配置语音映射

语音映射为每个角色或用户角色定义语音转换设置。

  • 要设置语音映射,从"角色"下拉列表中选择您的角色或角色名称,然后选择 RVC"语音",然后点击应用。
  • 可选地,您还可以配置其他相关设置,如音高校正或过滤。
  • 如果您正确操作,语音映射调试区域将显示类似'Betty:MyVoice(rvpme)'的内容。

# SillyTavern Extras 设置

# 1. 准备 RVC 模型文件

  • 在文件浏览器中,导航到:\SillyTavern-extras\data\models\rvc
  • 创建一个像'Betty'这样的子文件夹,并将 .pth.index 文件放入其中。(提示:您可以从 https://voice-models.com 下载语音文件,确保语音名称说明它是 RVPME。)

# 2. 安装要求

使用命令安装必要的要求:

pip install -r requirements-rvc.txt`

# 3. 运行启用 RVC 的 SillyTavern-extras

启动启用 RVC 模块的 SillyTavern-extras。此示例调用假设您使用了与 SillyTavern-extras 预安装的 Edge TTS:

python server.py --enable-modules=rvc,edge-tts

可选地,如果您有一个 capable 的 GPU,您可能希望在 GPU 上运行 RVC,通过将 --cuda 添加到启动命令。根据快速测试,叙述 50 个令牌(约 36 个单词)的 VRAM 使用量为 3.4GB,200 个令牌(约 150 个单词)为 7.6GB。

# 4. 设置语音映射

为 RVC 创建语音映射。将您的角色设置为您想要的 SillyTavern 角色名称,并将语音设置为您在步骤 1 中创建的 RVC 文件夹,然后点击应用。如果您正确操作,语音映射将显示类似'Betty:MyVoice(rvpme)'的内容。

# 5. 选择音高提取

  • 选择"rmvpe"作为音高提取方法。
  • 如果您在使用"rmvpe"时遇到问题,请尝试其他方法(例如,"harvest"或"torchcrepe")。

# 6. (可选)配置 RVC 将您的生成保存到文件

如果出于测试或故障排除目的,您希望保存生成的 RVC 音频,请将 --rvc-save-file 添加到您的启动命令。这将在 SillyTavern-extras/data/tmp/rvc_output.wav 下保存最后一次生成:

python server.py --enable-modules=rvc,edge-tts --rvc-save-file

# 基于表情的动态语音

# 1. 配置 RVC 模型

在您的 RVC 模型文件夹中,为每个分类的表情(例如,愤怒、恐惧、喜悦、爱、悲伤、惊讶)准备单独的 .pth.index 文件。

# 2. 启用模块

启用 RVC 和分类模块:

python server.py --enable-modules=rvc,classify
# 3. 使用 RVC 模块

其余设置类似于单独使用 RVC 模块(如上所述)。

# 训练您自己的 RVC 模型

# 使用 Deffcolony 的 RVC Easy Menu(仅限 Windows)

自动安装并启动 Mangio-RVC:https://github.com/deffcolony/rvc-easy-menu

# 1. 克隆存储库

将存储库克隆到您想要的位置:

git clone https://github.com/deffcolony/rvc-easy-menu.git

# 2. 启动 RVC-Launcher.bat

  • 打开 RVC-Launcher.bat 文件。
  • 选择选项 1 安装 RVC。

# 3. 完成安装

出现提示时,安装必需的包和依赖项。

# 4. 打开 WebUI 进行语音训练

安装后,选择选项 2 打开 WebUI 进行语音训练。

# Mangio-RVC:训练语音模型

数据集准备

1. 准备音频

  • 将您想要训练的音频放在 datasets 文件夹中。
  • 确保音频没有背景噪音 – 只需要原始声音。
  • 较长的音频会产生更好的输出质量。

WebUI 训练

1. 访问训练选项卡

  • 在 WebUI 中点击训练选项卡。

2. 配置实验

  • 输入实验名称(例如,my-epic-voice-model)。
  • 将版本设置为 v2。

3. 处理数据和提取特征

  • 点击"处理数据"和"特征提取"。
  • 将"保存频率"设置为 50。

4. 训练参数

  • 将"总训练周期"设置为 300。
  • 点击"训练特征索引"和"训练模型"。