
此 ComfyUI 工作流使用 MelBandRoFormer 模型进行高质量人声分离。它将一条混合音频轨分离为两个 stem:独立人声与伴奏/器乐。流程从 LoadAudio 导入源文件开始,然后 MelBandRoFormerModelLoader 从 models/diffusion_models 加载预训练权重(MelBandRoformer_fp16.safetensors)。核心分离在 MelBandRoFormerSampler 中完成,它运行推理并输出两路音频张量——一路为人声、一路为背景音乐——随后通过配对的 SaveAudioMP3 节点导出。
从原理上看,MelBandRoFormer 采用基于 transformer 的架构,在按频带拆分的时频空间中估计各个声源分量。实际效果是它学习到用于抑制伴奏/突出人声(以及反向抑制人声/突出伴奏)的掩码,从而得到更干净的两轨结果并减少音乐伪影。工作流内置的 MarkdownNote 在画布中提供了操作提示。由于流程由节点驱动,你可以很方便地把 SaveAudioMP3 替换成 WAV 保存节点、修改输出文件名,或调整 Sampler 的分块/重叠等选项(若你的节点版本提供)来在速度、内存占用与分离质量之间做取舍。
API
通过代码使用此工作流
每个 Comfy 工作流都是一个 JSON 图。下面的内容就是此工作流的完整数据,ComfyUI 运行时也是如此——你可以从该 URL 获取、放入版本控制,或在 ComfyUI 中加载并逐节点运行。
使用 Comfy SDK 从 TypeScript 或 Python 运行。相同代码可用于 Comfy Cloud 或你自托管的 ComfyUI——只需更改基础 URL。
// Install (beta)
npm i @comfyorg/sdk
// Run "MelBandRoFormer音频分离" (TypeScript)
import { Comfy } from "@comfyorg/sdk";
const client = new Comfy({ apiKey: "comfyui-..." });
// This workflow, exported in API format (see note below)
const wf = await client.workflows.fromFile("audio_melbandroformer_audio_separation_api.json");
const job = await client.run(wf);
await job.getOutputs("4")[0].toFile("output.png"); // SaveAudioMP3SDK 需要 API 格式的工作流:在 ComfyUI 中打开此工作流,使用 文件 → 导出工作流(API)。
常见问题













