Nodes/ComfyUI-Easy-SongGeneration/Easy SongGeneration - 生成人声
ComfyUI Node

Easy SongGeneration - 生成人声

Acapella stems straight out of the model

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 Vocal") is the sibling of the mixed-song node that keeps only the singing. Same inputs, same two-stage generation - the codec LLM writes audio tokens from your lyrics, the diffusion decoder renders them - but the model is asked for the vocal track alone. You get a clean acapella stem as a ComfyUI AUDIO output, plus the metadata JSON.

Don't confuse this with stem separation. It doesn't take an existing song and peel the voice off it - this is a full text-to-vocal generation. You write lyrics, it invents a performance. That's the right tool when you want to:

  • layer a generated voice over your own instrumental mix,
  • feed a vocal into a remix where you want the dry stem,
  • drive a lip-sync or avatar workflow (this ecosystem's talking-head stack runs on exactly this kind of audio),
  • or just hear how a line sounds sung before committing to a full arrangement.

What you set

Everything from the mixed node applies: section-tagged 歌词 (the formatter node will build it), 描述 for style and timbre, 种子/时长, the sampling knobs, and the reference-audio options (自动参考风格 presets, or a 参考音频 input that overrides them). The one input worth calling out here is 描述 - with no accompaniment to carry the arrangement, the vocal timbre lives entirely in that string. A description like male, soft, breathy, sad ballad will take you a lot further than the default pop setup if you're after something specific.

Outputs are 音频 (AUDIO, 48kHz) and 元数据 (JSON with the seed and params). Wire the audio to a preview or save node like any other audio.

Why you might not need it

Here's the thing to know before you reach for this node: the Easy SongGeneration - 分轨生成 node runs the exact same generation but returns the mixed, vocal, and accompaniment tracks in one pass. If you think you'll want the BGM too - and you usually will - the separate node costs the same GPU time and gives you all three stems. Reach for Generate Vocal specifically when you genuinely want only the voice (cleaner output, less to wire up) or when you're reusing an already-loaded model handle and don't want the extra outputs.

The one practical gotcha is the same one that hits all the generate nodes: if the auto-prompt weights never downloaded, genre presets like Pop will error out - use None or feed your own reference audio, and run the download node if you want the presets back.

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 (2)

NameTypeDescription
音频AUDIO
元数据STRING