VRGDG YuE2 Render ABC
Same melody, your lyrics, new genre
- yue2_config
- audio
- abc_score
- artifact_directory
- metadata_json
- truncated
This is the node that does the actual cover. You hand it an existing melody as an ABC score, a style prompt for the sound you want instead, and lyrics, and it synthesizes a performance. It's the second half of the pipeline: where Generate Song invents a plan and then renders it, this one takes your plan as given and goes straight to audio.
It's also the node you reach for when you've hand-edited a plan from Create Plan, or when you've transcribed a real recording with SheetSage2 Transcribe Cover and want it sung in a different genre.
What it does, mechanically
The node builds the same request a generation would, except it passes your abc_score through to the worker as the score to perform, and the model works from that fixed melody instead of planning its own. Everything after that is shared: semantic tokens, acoustic latents, VAE decode, 48 kHz stereo FLAC. The result lands in the same kind of timestamped artifact folder under ComfyUI/output/Yue2.
The important thing to understand is what "same melody" does and doesn't mean. The melody is a pitch-and-rhythm contour. It constrains the shape of the singing, not the timbre, arrangement or mix. So a source melody plus a metal style prompt gives you a metal-sounding performance of roughly that tune - not a stem swap, not a voice clone, and definitely not a note-for-note reconstruction. The pack's own cover workflow says this out loud, and it's the honest framing: think "re-arrangement", not "remix".
Inputs
yue2_config - wire it from the installer or settings node.
abc_score is the point of the node: an existing score as text. For covers, that's the chord-free score SheetSage2 produced. In the bundled cover workflow it's wired straight from the transcription node's abc_score output. Leave it empty and the node errors out rather than quietly inventing a song, which is nice.
style describes the sound you're moving to - language, genre, vocal character, instruments, production, BPM. lyrics is the sectioned words to sing. The tooltip here is the useful one: for a cover, phrasing and syllable counts should roughly match the supplied melody. If your lyric lines are twice as long as the source's, you get either rushed delivery or the model fighting the plan.
planning_mode is full or melody. For a style-changing cover the intended setting is melody, paired with a chord-free score - leave the harmony to the model rather than dragging the original's chords along. Use full only when the ABC you're supplying intentionally contains both melody and harmony.
Then ode_steps (synthesis quality; 32 default, 16 faster and worse, 48–64 into diminishing returns), cfg_scale (-1 default, ~1.2–1.4 to push target-style conditioning harder), seed, filename_prefix (defaults to song-edited, which is a decent hint about what this node is for), and style_preset for the 35 canned genre prompts.
Outputs
audio - the new performance, a normal ComfyUI AUDIO. abc_score - the score used, handed back to you. artifact_directory - where the run's files went. metadata_json - the run record. truncated - same meaning as elsewhere: the plan exceeded the model's length limit and got clipped. Watch this one on covers specifically, because a long source song produces a long plan, and long plans are how you get a cover that ends early.
Install
Pack first, via Manager (search vrgamedev) or:
cd ComfyUI/custom_nodes
git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl.git
Then VRGDG YuE2 Installer + Settings, target_root set to a dedicated folder, and use Install Generation + Models. If you also want to transcribe source songs, install the cover side too - Install Cover Tools + Models or Install Everything - because SheetSage2 lives in its own virtualenv with its own pinned Torch and Transformers, separate from YuE2's by design. The pack's requirements file doesn't include either one.
The bundled Workflows/Yue2/VRGDG_YuE2_Cover.json wires the whole thing already: audio load → transcribe → this node, with the installer feeding both the transcription config and yue2_config. Change target_root, load the source song, paste lyrics, queue.
Where covers go wrong
- Weak style change. If the cover still sounds like the original, check that
melody_onlywas on in the transcribe node andplanning_modeismelodyhere, then make the style prompt much more explicit - genre, instruments, vocal delivery, production, BPM. Don't describe the original style at all; you're conditioning away from it, not toward it. - Lyrics that don't fit the tune. There's no auto-alignment. SheetSage2 transcribes melody, not words, so syllable counts are your job. Read the source's phrasing and match it.
- The rights thing. This is a cover. SheetSage2 and MERT weights are CC BY-NC 4.0 and the upstream models are non-commercial, but the bigger issue is the song itself - only run covers where you have the rights or permission for the composition, the recording, the lyrics and where you plan to put it.
- Length. Long sources mean long plans, more tokens, more VRAM and more time. Test with an excerpt; the pack says the same thing.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| yue2_config | VRGDG_YUE2_CONFIG | Runtime configuration from YuE2 Installer + Settings or YuE2 Settings. | |
| abc_score | STRING | Existing ABC score to render. For covers, connect the chord-free score from SheetSage2. | |
| style | STRING | English, cinematic pop, expressive lead vocal | Target language, genre, vocal character, instruments, production feel, and BPM. Do not paste lyrics here. |
| lyrics | STRING | [Verse] Write your lyrics here. | Actual sectioned words to sing. For covers, phrasing and syllable counts should roughly match the supplied melody. |
| planning_mode | COMBO | full | Use melody for a chord-free style-changing cover. Use full when the supplied ABC intentionally includes melody and harmony. |
| seed | INT | 8310010–9223372036854776000 | Random seed used for semantic generation and synthesis. |
| cfg_scale | FLOAT | -1.00-1–20 | -1 uses the native default. Values around 1.2–1.4 may strengthen target-style conditioning. |
| ode_steps | INT | 321–128 | Number of midpoint ODE steps used only during final audio synthesis. 32 is the official quality default; 16 is faster with lower fidelity, while 48–64 is slower with diminishing returns. It does not change melody planning or semantic token count. |
| filename_prefix | STRING | song-edited | Safe prefix for the generated artifact directory. |
| style_preset | COMBO | Custom / Keep typed style | Select a target genre preset to fill the style box; editing the result switches back to Custom. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| abc_score | STRING | — |
| artifact_directory | STRING | — |
| metadata_json | STRING | — |
| truncated | BOOLEAN | — |