AICoverGen
一条自主流水线,用于从 YouTube 视频或本地音频文件,使用任意 RVC v2 训练的 AI 声音创建翻唱。适用于希望在其 AI 助手/聊天机器人/vtuber 中添加歌唱功能的开发者,或希望听到自己喜爱的角色演唱其喜爱歌曲的用户。
Showcase: https://www.youtube.com/watch?v=2qZuE4WM7CM
Setup Guide: https://www.youtube.com/watch?v=pdlhk4vVHQk

WebUI 正处于持续的开发和测试阶段,但你现在就可以在本地和 colab 上试用!
目录
更新日志
- 用于更便捷地转换和下载语音模型的 WebUI
- 支持从本地音频文件生成封面
- 选项以保留生成的中间文件,例如分离的人声/器乐
- 从带有搜索/标签过滤器的表格中下载推荐的公共语音模型
- 支持用于语音模型的 Pixeldrain 下载链接
- 实现新的 rmvpe 音高提取技术,以实现更快、更高质量的人声转换
- AI 主唱、和声及器乐的音量控制
- 语音转换的索引速率
- AI 主唱的混响控制
- WebUI 的本地网络共享选项
- 额外的 RVC 选项 - filter_radius, rms_mix_rate, protect
- 通过文件浏览器选项上传本地文件
- 通过 WebUI 上传本地训练的 RVC v2 模型
- 音高检测方法控制,例如 rmvpe/mangio-crepe
- 同时改变人声和器乐的音高。效果等同于在卡拉 OK 中改变歌曲的调性。
- 音频输出格式选项:wav 或 mp3。
将 AICoverGen 更新到最新版本
通过在 AICoverGen 目录中打开命令行窗口并运行以下命令,安装并拉取任何新的依赖项和更改。
pip install -r requirements.txt
git pull
对于 colab 用户,只需点击 colab 笔记本顶部导航栏中的 Runtime,然后在下拉菜单中点击 Disconnect and delete runtime。
然后按照笔记本中的说明运行 webui。
Colab notebook
对于没有足够强大的 NVIDIA GPU 的用户,可以尝试使用 Google Colab 运行 AICoverGen。
对于遇到 Google Colab 笔记本在几分钟后断开连接问题的用户,这里提供一个不使用 WebUI 的替代方案。
对于想要在本地运行此项目的人,请遵循以下设置指南。
设置
安装 Git 和 Python
按照此处的说明在您的计算机上安装 Git。如果尚未安装,也请按照此指南安装 VERSION 3.9 版本的 Python。使用其他版本的 Python 可能会导致依赖冲突。
安装 ffmpeg
按照此处的说明在您的计算机上安装 ffmpeg。
安装 sox
按照此处的说明安装 sox 并将其添加到您的 Windows 路径环境变量中。
克隆 AICoverGen 仓库
打开命令行窗口并运行以下命令,以克隆整个仓库并安装所需的额外依赖项。
git clone https://github.com/SociallyIneptWeeb/AICoverGen
cd AICoverGen
pip install -r requirements.txt
下载所需模型
运行以下命令以下载所需的 MDXNET 人声分离模型和 hubert 基础模型。
python src/download_models.py
与 WebUI 配合使用
要运行 AICoverGen WebUI,请执行以下命令。
python src/webui.py
| 标志 | 描述 |
|---|---|
-h, --help | 显示此帮助信息并退出。 |
--share | 创建一个公共 URL。这对于在 Google Colab 上运行 Web UI 非常有用。 |
--listen | 使 Web UI 可从您的本地网络访问。 |
--listen-host LISTEN_HOST | 服务器将使用的主机名。 |
--listen-port LISTEN_PORT | 服务器将使用的监听端口。 |
当出现以下输出消息 Running on local URL: http://127.0.0.1:7860 时,您可以点击链接以打开一个包含 WebUI 的标签页。
通过 WebUI 下载 RVC 模型

导航至 Download model 选项卡,粘贴 RVC 模型的下载链接并为其指定一个唯一名称。
您可以搜索 AI Hub Discord,那里有可供下载的已训练语音模型。您可以参考示例了解下载链接的格式。
下载的 zip 文件应包含 .pth 模型文件和一个可选的 .index 文件。
当 2 个输入字段填写完毕后,只需点击 Download!当输出消息显示 [NAME] Model successfully downloaded! 时,在点击刷新模型按钮后,您应该能够在 Generate 选项卡中使用它!
通过 WebUI 上传 RVC 模型

适用于已在本地训练 RVC v2 模型并希望将其用于 AI Cover 生成的人群。
导航至 Upload model 选项卡,并按照说明操作。
当输出消息显示 [NAME] Model successfully uploaded! 时,点击刷新模型按钮后,您即可在 Generate 选项卡中使用该模型!
通过 WebUI 运行流水线

- 从 Voice Models 下拉菜单中,选择要使用的语音模型。如果您手动将文件添加到了 rvc_models 目录,请单击
Update以刷新列表。 - 在歌曲输入字段中,复制并粘贴 YouTube 上任意歌曲的链接,或本地音频文件的完整路径。
- 根据原始人声和 RVC AI 模型,Pitch 应设置为 -12、0 或 12。这确保声音不会走调。
- 通过单击手风琴箭头展开,可以查看 Voice conversion 和 audio mixing 的其他高级选项。
填写完所有 Main Options 后,单击 Generate,AI 生成的翻唱应在几分钟内出现,具体取决于您的 GPU。
Usage with CLI
Manual Download of RVC models
解压(如有必要)并将 .pth 和 .index 文件传输到 rvc_models 目录中的新文件夹。每个文件夹应仅包含一个 .pth 和一个 .index 文件。
目录结构应类似于:
├── rvc_models
│ ├── John
│ │ ├── JohnV2.pth
│ │ └── added_IVF2237_Flat_nprobe_1_v2.index
│ ├── May
│ │ ├── May.pth
│ │ └── added_IVF2237_Flat_nprobe_1_v2.index
│ ├── MODELS.txt
│ └── hubert_base.pt
├── mdxnet_models
├── song_output
└── src
Running the pipeline via CLI
要通过命令行运行 AI 翻唱生成流水线,请运行以下命令。
python src/main.py [-h] -i SONG_INPUT -dir RVC_DIRNAME -p PITCH_CHANGE [-k | --keep-files | --no-keep-files] [-ir INDEX_RATE] [-fr FILTER_RADIUS] [-rms RMS_MIX_RATE] [-palgo PITCH_DETECTION_ALGO] [-hop CREPE_HOP_LENGTH] [-pro PROTECT] [-mv MAIN_VOL] [-bv BACKUP_VOL] [-iv INST_VOL] [-pall PITCH_CHANGE_ALL] [-rsize REVERB_SIZE] [-rwet REVERB_WETNESS] [-rdry REVERB_DRYNESS] [-rdamp REVERB_DAMPING] [-oformat OUTPUT_FORMAT]
| Flag | Description |
|---|---|
-h, --help | 显示此帮助信息并退出。 |
-i SONG_INPUT | 指向 YouTube 上的歌曲链接或本地音频文件的路径。在 Windows 上应使用双引号,在类 Unix 系统上应使用单引号。 |
-dir MODEL_DIR_NAME | rvc_models 目录中包含特定声音的 .pth 和 .index 文件的文件夹名称。 |
-p PITCH_CHANGE | 以八度为单位更改 AI 人声的音高。设置为 0 表示不更改。通常,男转女使用 1,反之使用 -1。 |
-k | 可选。可以添加以保留所有生成的中间音频文件。例如:分离的 AI 人声/乐器声。省略以节省空间。 |
-ir INDEX_RATE | 可选。默认 0.5。控制保留多少 AI 口音在人声中。0 <= INDEX_RATE <= 1。 |
-fr FILTER_RADIUS | 可选。默认 3。如果 >=3:对采集的音高结果应用中值滤波。0 <= FILTER_RADIUS <= 7。 |
-rms RMS_MIX_RATE | 可选。默认 0.25。控制使用原始人声的响度 (0) 还是固定响度 (1) 的比例。0 <= RMS_MIX_RATE <= 1。 |
-palgo PITCH_DETECTION_ALGO | 可选。默认 rmvpe。最佳选项是 rmvpe(人声清晰度),其次是 mangio-crepe(人声更平滑)。 |
-hop CREPE_HOP_LENGTH | 可选。默认值 128。专门在使用 mangio-crepe 算法时,控制以毫秒为单位检查音高变化的频率。较低的值会导致转换时间更长和更高的声音破裂风险,但音高准确性更好。 |
-pro PROTECT | 可选。默认值 0.33。控制保留原始人声中的呼吸声和无声辅音在 AI 人声中的比例。设置为 0.5 以禁用。0 <= PROTECT <= 0.5。 |
-mv MAIN_VOCALS_VOLUME_CHANGE | 可选。默认值 0。控制主 AI 人声的音量。使用 -3 可将音量降低 3 分贝,或使用 3 将音量提高 3 分贝。 |
-bv BACKUP_VOCALS_VOLUME_CHANGE | 可选。默认值 0。控制备用 AI 人声的音量。 |
-iv INSTRUMENTAL_VOLUME_CHANGE | 可选。默认值 0。控制背景音乐/乐器的音量。 |
-pall PITCH_CHANGE_ALL | 可选。默认值 0。以半音为单位改变背景音乐、备用人声和 AI 人声的音高/调性。会略微降低音质。 |
-rsize REVERB_SIZE | 可选。默认值 0.15。房间越大,混响时间越长。0 <= REVERB_SIZE <= 1。 |
-rwet REVERB_WETNESS | 可选。默认值 0.2。带混响的 AI 人声电平。0 <= REVERB_WETNESS <= 1。 |
-rdry REVERB_DRYNESS | 可选。默认值 0.8。不带混响的 AI 人声电平。0 <= REVERB_DRYNESS <= 1。 |
-rdamp REVERB_DAMPING | 可选。默认值 0.7。混响中高频的吸收程度。0 <= REVERB_DAMPING <= 1。 |
-oformat OUTPUT_FORMAT | 可选。默认 mp3。wav 可获得最佳质量但文件较大,mp3 可获得良好质量且文件较小。 |
使用条款
禁止将转换后的语音用于以下目的。
-
批评或攻击个人。
-
支持或反对特定的政治立场、宗教或意识形态。
-
在缺乏适当分区的情况下公开展示具有强烈刺激性的表达。
-
出售语音模型和生成的语音片段。
-
出于恶意伤害/损害他人的目的,冒充语音原始所有者。
-
导致身份盗窃或欺诈性电话的欺诈目的。
免责声明
对于因使用/滥用或无法使用本软件而产生的任何直接、间接、后果性、附带性或特殊损害,我概不负责。