SongBloom Lyric Validator
The referee that tells you why your song came out as gibberish
- validation_report
- suggestions
- is_valid
SongBloom songs that come out wrong usually fail in the lyrics before the generation even starts. The model expects a specific tagged format - [verse], [chorus], [intro], [outro], commas between sections, periods between sentences - and when you hand it raw free-form text, it doesn't error out, it just sings badly or drifts into audio nonsense. This node exists to catch that before you burn a multi-minute GPU generation on it.
It's a pure check: feed it a block of lyrics, and it looks for the structural markers SongBloom actually cares about. No tags at all, sections not separated by commas, vocal sections missing sentence periods, missing [intro] or [outro], and it tells you precisely what's missing and how to fix it. It's the diagnostic companion to SongBloomLyricProcessor - that node cleans and validates in one pass; this one only reports, which makes it the better debugging tool when you want to know why something's invalid without it being rewritten.
Inputs and outputs
Just one input - lyrics, multi-line, free text. Outputs:
- validation_report (
STRING) - a list of the specific problems found in the structure. - suggestions (
STRING) - concrete fixes: "add structure tags like[verse],[chorus],[intro],[outro]", "use,to separate sections", that kind of thing. - is_valid (
BOOLEAN) - the boolean verdict. Wire this into a reroute or condition if you want to gate the generator on "valid only," or just read it.
All three come out on the same run, so the node is cheap to keep in a workflow. Some people leave one permanently before the generator as a linting step, exactly like a unit test for your prompt.
A tip about expectations
This validator checks format, and format is only half the battle. The model's bigger quality problem is language bias, not syntax: it sings Chinese far more reliably than English, and no amount of valid structure fixes that. If is_valid is true and your English song is still mangled, that's the model - try the pinyin lyric processor on SongBloomModelLoader, or accept the accent. The other thing this node can't see is meaning; it'll happily pass lyrics that are well-formatted and musically aimless, because nothing checks that.
Install
Same as the whole pack:
cd ComfyUI/custom_nodes
git clone https://github.com/xuchenxu168/SongBloom_ComfyUI
cd SongBloom_ComfyUI
pip install -r requirements.txt
Or search "SongBloom_ComfyUI" in ComfyUI Manager. Restart and it's under SongBloom/Utils. No model downloads, no GPU, no dependencies beyond the pack itself - this one's instant, which is why it's the right thing to keep around while you iterate on lyrics.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| lyrics | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| validation_report | STRING | — |
| suggestions | STRING | — |
| is_valid | BOOLEAN | — |