Nodes/ComfyUI-Easy-SongGeneration/Easy SongGeneration - 分轨生成
ComfyUI Node

Easy SongGeneration - 分轨生成

The node that gives you the remix-ready tracks

By eastmoe·Created 3 months ago·Updated 6 days ago· 4
Easy SongGeneration - 分轨生成
  • songgen_model
  • prompt_audio
  • 混音
  • 人声
  • 伴奏
  • 元数据
lyrics
descriptionsfemale, pop, energetic, piano, drum kit
seed-1
duration0
extend_stride5
temperature0.00
cfg_coef1.5
top_k0
top_p0.00
use_samplingtrue
record_tokenstrue
record_window50
chunk_size128
auto_prompt_audio_type
prompt_audio_batch_index0

Easy SongGeneration - 分轨生成 ("Generate Separate") is the pack's best deal. It runs the exact same text-to-song generation as 生成完整歌曲, but instead of handing you one mixed track it returns three: the full mixed song, the vocals on their own, and the accompaniment on its own - plus the metadata JSON. All from a single generation pass. You're not running the model three times; the stems come out of the model's own generation, so it costs the same GPU time as any other generate node in this pack.

That's why, for most people, this is the one to reach for. Every practical follow-up gets easier with stems: karaoke versions (BGM alone), remixing or rebalancing the mix in a DAW, ducking the music under a voiceover, or feeding the vocal into an avatar/lip-sync pipeline while keeping the instrumental for the soundtrack.

The inputs

Identical to the mixed node - there's nothing extra to learn:

  • songgen_model - the handle from the loader node.
  • 歌词 - section-tagged lyrics ([verse] ... ; [chorus] ..., built by the formatter node).
  • 描述 - comma-separated style/mood/instrument tags. Same [Musicality-very-high], prefixing under the hood.
  • 种子 / 时长 - -1 random, 0 = config's max_dur.
  • Sampling controls - 温度, CFG (default 1.5), Top K, Top P, 采样; all 0 means upstream defaults.
  • 自动参考风格 - genre presets, or connect 参考音频 to override them with a real track (needs the Demucs files from the third_party/ download).

The outputs

  • 混音 (mixed) - full song, vocals + accompaniment, 48kHz AUDIO.
  • 人声 (vocal) - the vocal stem alone.
  • 伴奏 (bgm) - the instrumental stem alone.
  • 元数据 (metadata) - JSON with the generation params and the seed actually used.

Each audio output is a standard ComfyUI AUDIO, so you can preview or save them independently, or split the three wires off to wherever they need to go. That's the whole trick of the node - it's a fan-out of one generation into the same outputs the dedicated vocal and BGM nodes produce individually.

When it's overkill

The dedicated 生成人声 and 生成伴奏 nodes each keep one of these outputs, which means smaller, cleaner node graphs and (in theory) less to drag around the canvas. If you know with certainty you only want the instrumental, 生成伴奏 is tidier. But "I might want the vocals later" almost always turns out to be true, and re-running a whole generation to get them is the expensive mistake this node exists to prevent. Same gotchas apply across all of them: missing auto-prompt weights break the genre presets (use None or reference audio), and it's a multi-gigabyte GPU job per song - budget a couple of minutes on a consumer card.

Categoryeastmoe/Comfy-Easy-SongGeneration

Inputs (17)

NameTypeDefaultDescription
songgen_modelSONGGEN_MODELSongGeneration 模型加载节点输出。
lyricsSTRINGSongGeneration 段落格式歌词,例如 [verse] ... ; [chorus] ...。
descriptionsSTRINGfemale, pop, energetic, piano, drum kit风格、情绪、乐器、人声等逗号分隔提示词。
seedINT-1-1–2147483647-1 使用当前时间。
durationFLOAT00–2700 使用模型 config.yaml 的 max_dur。
extend_strideFLOAT51–60长音频生成步长,通常保持 5。
temperatureFLOAT0.000–20 使用原推理默认值。
cfg_coefFLOAT1.50–10Classifier-Free Guidance 系数。
top_kINT00–100000 使用原推理默认值。
top_pFLOAT0.000–10 关闭 top-p。
use_samplingBOOLEANtrue关闭后使用 greedy decoding。
record_tokensBOOLEANtrue保持与原推理脚本一致。
record_windowINT501–1000Token recording window。
chunk_sizeINT12816–1024Diffusion decoding chunk size。
auto_prompt_audio_typeCOMBONone 表示不使用自动参考音频。
prompt_audiooptAUDIO可选 ComfyUI AUDIO,会优先于自动参考风格。
prompt_audio_batch_indexoptINT00–4096当 AUDIO 包含 batch 时选择其中一条。

Outputs (4)

NameTypeDescription
混音AUDIO
人声AUDIO
伴奏AUDIO
元数据STRING