
這個 ComfyUI 工作流程使用 MelBandRoFormer 模型進行高品質人聲分離。它會把一條混音音訊拆成兩個 stem:分離後的人聲與伴奏。流程從 LoadAudio 載入來源檔開始,接著由 MelBandRoFormerModelLoader 從 models/diffusion_models 載入預訓練權重(MelBandRoformer_fp16.safetensors)。核心分離在 MelBandRoFormerSampler 進行推論,輸出兩個音訊張量——人聲與背景音樂——最後透過兩個 SaveAudioMP3 節點分別匯出。
技術上,MelBandRoFormer 採用在分頻的時頻空間運作的 transformer 架構,用來估計來源成分。實務上就是學習遮罩:抽出人聲時壓抑伴奏、抽出伴奏時壓抑人聲,因此能得到更乾淨的 stem、較少音樂瑕疵。內含的 MarkdownNote 會在畫布上提供簡短指引。由於流程以節點驅動,你可以把 SaveAudioMP3 換成 WAV 儲存節點、修改輸出檔名,或調整 Sampler 的分塊/重疊(若你的節點版本有提供)來平衡速度、記憶體用量與分離品質。
API
從程式碼使用此工作流
每個 Comfy 工作流都是一個 JSON 圖。下方的 payload 就是此工作流,與 ComfyUI 執行時完全相同 — 你可以從此 URL 取得、放入版本控制,或在 ComfyUI 載入並逐節點執行。
使用 Comfy SDK 以 TypeScript 或 Python 執行。相同程式碼可用於 Comfy Cloud 或你自架的 ComfyUI — 只需更改 base 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)。
常見問題













