Nodes/Kinburg-Nodes/Satyr Music (Guided YuE2) 🐐
ComfyUI Node

Satyr Music (Guided YuE2) 🐐

A drop-in replacement for 'YuE2 Generate Music' that exposes cfg_scale, which YuE2's own reference implementation takes (0-20) and the ComfyUI node hardwires to 1.0 β€” meaning guidance is switched off entirely. The negative branch keeps the ABC and drops the style and the lyrics, so the scale amplifies those two against a plan that stays at full strength in both branches. Everything else behaves exactly like the core node. Above 1.0 it runs two branches: twice the VRAM, twice the time.

By KinburgΒ·Created 3 months agoΒ·Updated 2 days agoΒ· 1
Satyr Music (Guided YuE2) 🐐
  • clip
  • conditioning
  • seconds
β—„styleβ€”β–Ί
β—„lyricsβ€”β–Ί
β—„abcβ–Ί
β—„seed0β–Ί
β—„modeβ–Ύβ–Ί
β—„max_duration360.00β–Ί
β—„cfg_scale1.00β–Ί
β—„temperature1.00β–Ί
β—„top_p0.95β–Ί
β—„top_k100β–Ί
β—„repetition_penalty1.20β–Ί
CategoryKinburg-Nodes/Bestiary/Satyr

Inputs (12)

NameTypeDefaultDescription
clipCLIPThe YuE2 checkpoint's CLIP output β€” the same one 'YuE2 Generate Music' takes.
styleSTRINGLanguage, genre, vocal character, tempo, instruments. One description for the whole song: YuE2 has no way to say that the style changes partway through. This is the field 'cfg_scale' amplifies, so it is the field to be precise in. 'dual vocals, powerful melodic female vocal, gritty male vocal' is what puts two singers in the song at all β€” without it a plan written for two registers still tends to come back in one voice.
lyricsSTRINGThe words, with plain '[Verse]' / '[Chorus]' tags and nothing else. Wire the 'lyrics' output of 'Satyr Score' here β€” YuE2 sings round brackets and has no field for a singer's name, so a marker left in the text is not ignored, it is sung. Amplified by 'cfg_scale' along with the style.
abcSTRINGThe plan. Leave it empty and the node falls back to 'off' mode exactly as the core node does. Note that the ABC is NOT amplified by 'cfg_scale': it sits in both branches of the guidance and cancels out. Raising the scale therefore pushes the style and the words harder while leaving the plan's own authority where it was.
seedINT00–18446744073709550000β€”
modeCOMBOfull: the plan carries chords. melody: melody only, for covers. An empty 'abc' ignores this and uses 'off'.
max_durationFLOAT360.000.04–900Ceiling in seconds. Generation usually stops earlier β€” the plan's own length is what decides, which is why 'Satyr Trim' is the node that actually shortens a song.
cfg_scaleFLOAT1.000–20How hard to push the style and the lyrics. 1.0 is off, and off is what the core node hardwires β€” this is the only reason this node exists. What it measurably does is DICTION. Words the model tends to swallow come through; the clearest case is a line in round brackets, which it otherwise sings too quietly or drops altogether. Raise this when the take is right but a phrase is mumbled. What it does not do is change who sings. That was the hope, and it was tested, and it does not. Why diction and not voices: the negative branch is the instruction plus the ABC, with [Tags] and [Lyrics] removed, so the plan sits in both branches and cancels out of the difference. The scale amplifies the words and the style description against a plan whose authority is unchanged β€” it makes the model articulate what it was given rather than rearrange it. Cost: anything other than 1.0 runs two branches, so roughly twice the VRAM and twice the time.
temperatureFLOAT1.000–5β€”
top_pFLOAT0.950.01–1β€”
top_kINT1001–32768β€”
repetition_penaltyFLOAT1.200.01–10β€”

Outputs (2)

NameTypeDescription
conditioningCONDITIONINGβ€”
secondsFLOATβ€”