AICoverGen
一个自主式管道,可以使用任何经过 RVC v2 训练的 AI 声音从 YouTube 视频或本地音频文件创建翻唱。适用于希望在 AI 助手/聊天机器人/虚拟主播中添加唱歌功能的开发者,或者想听自己喜欢的角色唱自己喜欢的歌的人。
示例:https://www.youtube.com/watch?v=2qZuE4WM7CM
设置指南: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 笔记本
对于没有足够强大的 NVIDIA GPU 的人,您可以使用 Google Colab 尝试 AICoverGen。
对于那些在使用 Google Colab 笔记本时遇到几分钟后断开连接问题的人,这里有一个不使用 WebUI 的替代方案。
对于想在本地运行的人,请按照以下设置指南进行操作。
设置
安装 Git 和 Python
按照这里的说明在您的计算机上安装 Git。如果您还没有安装 Python,也请按照这个指南安装 Python 3.9 版本。使用其他版本的 Python 可能会导致依赖冲突。
安装 ffmpeg
按照这里的说明在您的计算机上安装 ffmpeg。
安装 sox
按照这里的说明安装 sox 并将其添加到您的 Windows 路径环境中。
克隆 AICoverGen 仓库
打开命令行窗口并运行这些命令来克隆整个仓库并安装所需的额外依赖项。
git clone https://github.com/SociallyIneptWeeb/AICoverGen
cd AICoverGen
pip install -r requirements.txt
下载所需模型
运行以下命令下载所需的 MDXNET 人声分离模型和 hubert base 模型。
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 文件。
填写完这两个输入字段后,只需点击 Download
!当输出消息显示 [NAME] Model successfully downloaded!
时,您应该可以在点击刷新模型按钮后在 Generate
标签页中使用它!
通过 WebUI 上传 RVC 模型
对于在本地训练了 RVC v2 模型并希望将其用于 AI 翻唱生成的人。
导航到 Upload model
标签页,并按照说明操作。
当输出消息显示 [NAME] Model successfully uploaded!
时,您应该可以在点击刷新模型按钮后在 Generate
标签页中使用它!
通过 WebUI 运行管道
- 从 Voice Models 下拉菜单中选择要使用的语音模型。如果您手动将文件添加到 rvc_models 目录中,请点击
Update
刷新列表。 - 在歌曲输入字段中,复制并粘贴 YouTube 上任何歌曲的链接或本地音频文件的完整路径。
- 音高应根据原始人声和 RVC AI 模型设置为 -12、0 或 12。这确保声音不会走调。
- 点击折叠箭头可以查看声音转换和音频混合的其他高级选项。
填写完所有主要选项后,点击 Generate
,AI 生成的翻唱应该会在几分钟内(取决于您的 GPU)出现。
使用命令行界面
手动下载 RVC 模型
解压(如果需要)并将 .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
运行管道
要使用命令行运行 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]
标志 | 描述 |
---|---|
-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 提供不错的质量和较小文件大小。 |
使用条款
禁止将转换后的声音用于以下目的:
-
批评或攻击个人。
-
倡导或反对特定的政治立场、宗教或意识形态。
-
在没有适当分区的情况下公开展示强烈刺激性表达。
-
销售声音模型和生成的语音片段。
-
恶意冒充原声音所有者以伤害/伤害他人。
-
导致身份盗窃或欺诈电话的欺骗目的。
免责声明
对于因使用/滥用或无法使用本软件而直接或间接导致的任何直接、间接、后果性、附带或特殊损害,我概不负责。