ComfyUI Node

VRGDG_LyricsEmotionMerger

Giving Every Lyric Line a Mood Before It Hits the Model

By vrgamegirl19·Created about a year ago·Updated about 7 hours ago· 718
VRGDG_LyricsEmotionMerger
    • lyrics_with_emotions
    lyrics_text
    emotion_text

    VRGDG_LyricsEmotionMerger is the node that decides how a lyric line is performed. It takes two strings - the lyrics themselves and a description of the emotional tone - and merges them into a single text output that carries both.

    The name tells you most of the story: lyrics_text in, emotion_text in, lyrics_with_emotions out. What it does internally is essentially a structured join - it pairs each lyric segment with the emotional framing you supplied, so the result reads something like a scene direction sheet rather than raw words. That output is what you feed downstream into the prompt creator and, eventually, the video sampler, so the model doesn't just know the character says "I'm falling" - it knows the feeling is desperate, whispered, tearful rather than joyful, shouted.

    The one input that matters

    There are only two inputs and neither has a default, which tells you this node expects to be fed by something earlier in the graph rather than hand-typed every run:

    • lyrics_text - the transcribed lyric lines, typically the output of an extractor like VRGDG_ManualLyricsExtractor or a cleaned lyric segment.
    • emotion_text - the emotional arc for those lines. In this pack's workflow this often comes from an LLM pass that analyzed the song, or from VRGDG_LyricsEmotionMerger's siblings that tag per-line moods.

    Output is the single merged lyrics_with_emotions string.

    Why it earns its place

    Video models are famously bad at reading between the lines of a prompt, and music-video generation is where that bites hardest: a sad lyric and a happy lyric in the same song will otherwise get nearly identical visual treatment, because the model has no signal for the difference. By making the emotion part of the text that reaches the sampler, you give the visual model a lever it can actually use - lighting goes cold and dim for the melancholy line, warm and open for the release. It's cheap, deterministic text surgery that changes the output more than a dozen extra prompt adjectives would.

    Install

    It ships in comfyui-vrgamedevgirl:

    cd ComfyUI/custom_nodes
    git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl
    

    Restart ComfyUI; you'll find it under the VRGDG category. ComfyUI Manager works too - search vrgamedev. No extra model files are needed for this node; the pack's requirements (kornia, librosa, imageio) exist for the audio and video processing nodes around it.

    Honest note

    The merge itself is simple string work - don't expect fancy sentiment analysis here. The intelligence lives upstream, in whatever produced your emotion_text. Feed it a flat string like "neutral" for everything and the output will be flat; feed it a real emotional arc and the difference shows up in the generated frames. Also worth knowing: the README for this pack is thin and doesn't document most of the lyric nodes, so treat the tooltips as the source of truth and experiment with the format of emotion_text until the output reads the way your prompt creator expects.

    CategoryVRGDG

    Inputs (2)

    NameTypeDefaultDescription
    lyrics_textSTRING
    emotion_textSTRING

    Outputs (1)

    NameTypeDescription
    lyrics_with_emotionsSTRING