Skip to content

Repository files navigation

RVCSVC-API-amd

面向 astrbot_plugin_matsuko_cover 的 RVC / SVC-Fusion 中间层,使用 UVR5 分离人声和伴奏,并提供 Gradio API、结果缓存、音频后处理和进度回传。

Caution

此版本仅面向 Windows AMD 显卡(A 卡),使用原生 AMD ROCm 7.2.1。NVIDIA、Intel GPU 和纯 CPU 环境不在支持范围内。

本仓库仅发布源码和环境安装脚本,不包含便携 Python、UVR5 权重、RVC/SVC 模型、歌曲、缓存或生成音频。

与 MSST 版本的区别

项目 RVCSVC-API-amd RVCSVC-API-MSST
分离器 UVR5 / HP5 BS-Roformer / MSST
GPU 后端 Windows AMD ROCm 7.2.1 Windows AMD ROCm 7.2.1
特点 环境较轻、显存占用较小 分离质量更高、显存占用更大
支持显卡 仅 AMD 仅 AMD

两套中间层使用相同的 3333/9999 端口,不能同时启动。

旧版 DirectML(torch-directml + Python310)已被原生 ROCm 取代;--dml 参数保留但会被忽略。若 runtime-rocm/ 不存在,启动脚本会回退到旧的 Python310/ DirectML 环境(如有)。

数据流和端口

AstrBot + matsuko_cover
  ├─ RVC 请求 → RVCSVC-API-amd :3333 → UVR5 → RVC :2333
  └─ SVC 请求 → RVCSVC-API-amd :9999 → UVR5 → SVC-Fusion :7777

安装

要求:

  • Windows 10/11 x64
  • AMD ROCm 7.2.1 支持的 Radeon 显卡(如 RX 9070 XT)及对应驱动
  • FFmpeg 已加入 PATH(或将 ffmpeg/bin 放到项目 ffmpeg/ 目录下,启动脚本会自动加载)
  • 已准备上游 RVC 或 SVC-Fusion 服务

运行:

install_rocm_env.bat

脚本会下载官方 CPython 3.12 Embedded 到 runtime-rocm/,并安装 requirements-rocm.txt(AMD 官方 ROCm 7.2.1 版 PyTorch 2.9.1,约 4GB)。AMD 的 Windows ROCm wheel 目前只提供 cp312 版本,因此必须使用 Python 3.12。

也可以使用现有 Python 3.12 环境手动安装:

python -m pip install -r requirements-rocm.txt

UVR5 模型

Ultimate Vocal Remover GUI 项目认可的模型来源获取 5_HP-Karaoke-UVR.pth,放到:

uvr5/uvr_model/5_HP-Karaoke-UVR.pth

模型文件不在本仓库中分发。

启动

先启动上游推理服务,再启动需要的中间层:

启动 rvcapi.bat   # 中间层 3333,需要 RVC 2333
启动 svcapi.bat   # 中间层 9999,需要 SVC-Fusion 7777

手动启动:

runtime-rocm\python.exe app_rvc.py --is_nohalf
runtime-rocm\python.exe app_svc.py --is_nohalf

插件默认地址:

rvc_base_url = http://127.0.0.1:3333/
svc_base_url = http://127.0.0.1:9999/

API

  • /convert:下载/读取歌曲、UVR5 分离、调用上游、混音并返回结果。
  • /show_model:读取上游可用模型。
  • /cache_info:返回结果缓存与分离缓存的文件数、占用空间。
  • /clear_cache:在无推理任务运行时清理 allresultsseparation 缓存。
  • 结果按歌曲和所有关键参数哈希保存在 temp/;参数完全一致时直接返回缓存。
  • app.queue(..., api_open=True) 必须保持启用,否则 AstrBot 的 gradio_client 无法调用。
  • 本地音频缓存使用文件内容 SHA256,不会因路径变化误复用;模型文件变化也会自动使旧结果缓存失效。
  • 默认保留上游 RVC/SVC 原始人声,只在插件开启 vocal_postprocess 时应用 EQ、压缩、延迟与混响;导出前执行削峰保护并使用 320 kbps MP3。
  • RVCSVC_CACHE_MAX_FILES(默认 200)限制每个缓存区域文件数;RVCSVC_OUTPUT_BITRATE 可修改输出码率。
  • 服务默认仅监听 127.0.0.1 且不创建公网分享链接;需要局域网监听时显式设置 RVCSVC_HOST,公开分享需设置 RVCSVC_SHARE=1

注意事项

  • 服务会调用本机上游端口,不要将 3333/9999 直接暴露到公网。
  • output/temp/ 和下载音频可能包含受版权保护内容,已默认被 Git 忽略。
  • ROCm 版 PyTorch 通过 torch.cuda API 暴露 AMD GPU,应用代码无需 CUDA 专用改造;若需要更高分离质量,使用 MSST 版本。
  • 本项目不会自动提供上游 RVC/SVC 模型,使用者需自行遵守模型和音频许可。

来源与许可状态

中间层基于 CCYellowStar2/RVCSVC-API 修改;该上游仓库在本项目发布时未声明开源许可证,因此本仓库不擅自为继承代码授予额外许可。第三方 UVR5 组件及其许可见 THIRD_PARTY_NOTICES.md

About

AMD DirectML UVR5 gateway for the AstrBot Matsuko AI cover plugin

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages