Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BS-RoFormer API

基于 Audio-Separator 和 BS-RoFormer 的 GPU 人声/伴奏分离服务。服务启动时加载一次模型,后续请求复用模型。

API

健康检查

curl http://127.0.0.1:8007/health

分离音频

curl --fail-with-body \
  -H "X-API-Key: $API_KEY" \
  -F "file=@song.mp3" \
  -D headers.txt \
  -o stems.zip \
  http://127.0.0.1:8007/v1/separate

响应为 ZIP,包含 vocals.flacinstrumental.flac。响应头 X-Processing-Seconds 给出处理耗时,X-Job-ID 给出任务编号。

支持 WAV、FLAC、MP3、OGG、OPUS、M4A、AIFF 和 AC3,默认最大上传 1 GiB。 OpenAPI 文档位于 /docs

部署

要求:

  • NVIDIA GPU,RTX 50 系列需要支持 Blackwell 的驱动
  • Docker、Docker Compose 和 NVIDIA Container Toolkit
  • FFmpeg(已包含在镜像中)
cp .env.example .env
# 修改 .env 中的 API_KEY
sudo docker compose up -d --build
sudo docker compose logs -f

默认配置绑定物理 GPU 6,使用 host 网络监听 8007,并把模型与任务目录分别挂载到:

  • /data/models/bs-roformer
  • /data/bs-roformer/jobs

修改 compose.yaml 可调整 GPU、端口和目录。模型首次启动时自动下载,后续从挂载目录加载。

配置

环境变量 默认值 说明
API_KEY 必填 请求鉴权密钥
WORKERS 6 独立模型进程数量;RTX 5090 实测推荐值
MODEL_FILENAME model_bs_roformer_ep_317_sdr_12.9755.ckpt Audio-Separator 模型文件名
OUTPUT_FORMAT FLAC 输出音频格式
USE_AUTOCAST 1 启用 CUDA autocast
MAX_UPLOAD_BYTES 1073741824 最大上传字节数

每个 worker 仅同时执行一个推理任务;默认 6 个 worker 可并行执行 6 个任务, 同一 worker 收到的额外请求会排队。

About

Production GPU API for BS-RoFormer vocal and instrumental separation

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages