FL HeartMuLa Conditioning
Where you actually write the song
- model
- conditioning
If the Model Loader is the door, FL HeartMuLa Conditioning is where you write the song. This is the node you'll spend your actual creative time in: you paste the lyrics, drop in style tags, and it turns all that text into the tensors the Sampler will later consume. It's the closest thing this pack has to a prompt box.
How it works
The node takes your lyrics and tags, lowercases them, and tokenizes them into HeartMuLa's text tokenizer. Tags get wrapped in special <tag> / </tag> markers, and both halves get BOS/EOS tokens tacked on. There's also a placeholder MuQ embedding slot - it's wired for future reference-audio support, so you can ignore it today.
The interesting bit is how CFG works here. HeartMuLa uses classifier-free guidance, so when your cfg_scale isn't 1.0 the conditioning tensors get duplicated into a batch of two - one guided pass, one unguided - and the Sampler blends them. Set it to 1.0 and you get single-batch "no CFG" mode, which is faster but noticeably less obedient to your tags.
The inputs that matter
- lyrics - multiline text with section markers. These aren't cosmetic; the model actually uses them to structure the song. The supported markers are
[Intro],[Verse],[Prechorus],[Chorus],[Bridge],[Outro], and[Instrumental]. Blank-line your verses and keep each section short - the model sings what you write, and community testing confirms it nails lyric-following far better than style-following. - tags - comma-separated style tags like
pop, female vocal, energetic. Genre, vocal type, mood, tempo, instruments - all free text, all passed through. This is also the input you wire FL HeartMuLa Tags Builder into if you want dropdowns instead of typing. - cfg_scale - default 1.5, range 1–10. This is the one knob people actually fight over.
Where people get burned
Tag adherence is this model's weak spot, full stop. Real-world reports across the HeartMuLa threads agree: it follows lyrics brilliantly but treats genre tags as suggestions. The community sweet spot that emerged is cranking cfg_scale to ~3 - the README's default of 1.5 is too timid, and people who never touched it concluded the model "ignores tags entirely." Also, don't expect metal. A bunch of us tried; it wants to make pop.
Output is a single conditioning output (HEARTMULA_COND) that wires straight into FL HeartMuLa Sampler.
Installation
Same pack as the rest of FL HeartMuLa:
cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_FL-HeartMuLa.git
cd ComfyUI_FL-HeartMuLa
pip install -r requirements.txt
Or use ComfyUI Manager → search "FL HeartMuLa" → Install → restart. This node needs a loaded model from FL HeartMuLa Model Loader (first-run download is ~6 GB into ComfyUI/models/heartmula/), and it doesn't work without one.
Troubleshooting
- Songs ignore your style - raise
cfg_scaletoward 3 and reroll; rerolling is expected here, so batch several runs. - Output sounds unguided - you probably left cfg at 1.0, which disables guidance entirely.
- Weird timing on markers - keep sections short and formatted exactly like the default example. The model reads structure from those bracket labels.
One tip: wire the lyrics input from a text node if you're iterating on many song ideas, so you don't keep reaching into the widget. This node is where the music actually gets written - the rest of the graph just renders it.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model | HEARTMULA_MODEL | Loaded HeartMuLa model from Model Loader node | |
| lyrics | STRING | [Verse] Hello world, this is a test Singing with AI today [Chorus] Music generation is here Making melodies so clear | Lyrics with section markers like [Verse], [Chorus], [Bridge], [Intro], [Outro] |
| tags | STRING | pop, female vocal, energetic | Comma-separated style tags (genre, vocal type, mood, instruments) |
| cfg_scaleopt | FLOAT | 1.51–10 | Classifier-free guidance strength (1.0 = no CFG) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| conditioning | HEARTMULA_COND | — |