Nodes/VRGameDevGirl Video Enhancement Nodes/VRGDG_LoadAudioSplitDynamic
ComfyUI Node

VRGDG_LoadAudioSplitDynamic

Split audio by hand-tuned scene lengths, not a fixed grid

By vrgamegirl19·Created about a year ago·Updated about 7 hours ago· 718
VRGDG_LoadAudioSplitDynamic
    • meta
    • total_duration
    • audio_1
    • audio_2
    • audio_3
    • audio_4
    • audio_5
    • audio_6
    • audio_7
    • audio_8
    • audio_9
    • audio_10
    • audio_11
    • audio_12
    • audio_13
    • audio_14
    • audio_15
    • audio_16
    • audio_17
    • audio_18
    • audio_19
    • audio_20
    • audio_21
    • audio_22
    • audio_23
    • audio_24
    • audio_25
    • audio_26
    • audio_27
    • audio_28
    • audio_29
    • audio_30
    • audio_31
    • audio_32
    • audio_33
    • audio_34
    • audio_35
    • audio_36
    • audio_37
    • audio_38
    • audio_39
    • audio_40
    • audio_41
    • audio_42
    • audio_43
    • audio_44
    • audio_45
    • audio_46
    • audio_47
    • audio_48
    • audio_49
    • audio_50
    path./audio.mp3
    offset_seconds0.00
    scene_count1
    using_infinite_talkfalse
    duration_13.00
    duration_23.00
    duration_33.00
    duration_43.00
    duration_53.00
    duration_63.00
    duration_73.00
    duration_83.00
    duration_93.00
    duration_103.00
    duration_113.00
    duration_123.00
    duration_133.00
    duration_143.00
    duration_153.00
    duration_163.00
    duration_173.00
    duration_183.00
    duration_193.00
    duration_203.00
    duration_213.00
    duration_223.00
    duration_233.00
    duration_243.00
    duration_253.00
    duration_263.00
    duration_273.00
    duration_283.00
    duration_293.00
    duration_303.00
    duration_313.00
    duration_323.00
    duration_333.00
    duration_343.00
    duration_353.00
    duration_363.00
    duration_373.00
    duration_383.00
    duration_393.00
    duration_403.00
    duration_413.00
    duration_423.00
    duration_433.00
    duration_443.00
    duration_453.00
    duration_463.00
    duration_473.00
    duration_483.00
    duration_493.00
    duration_503.00

    Most audio splitters work on a grid: "every scene is N seconds." VRGDG_LoadAudioSplitDynamic is the version that lets you play director instead. You pick how many scenes you want, then set each scene's duration individually - scene 1 is 8 seconds, scene 2 is 12, scene 3 is 5 - because real songs don't have uniform verses, and you shouldn't have to pretend they do.

    This is one of the pack's audio-to-scene nodes, and it's built around the idea that each scene clip feeds an audio-driven video model. The workflow family here covers two targets: HUMO (ByteDance's human-centric video model, which drives motion from the audio) and talking-head style pipelines. The using_infinite_talk dropdown exists precisely because the splitter was written with one of those in mind first - its own tooltip says "If using HUMO, change this to false." That tooltip is the author telling you which mode is which.

    What it does

    The inputs that matter:

    • path (STRING, default ./audio.mp3) - where the audio lives. This node loads from a path rather than taking an AUDIO input, which is the key difference from the sibling splitters.
    • offset_seconds (FLOAT, default 0) - skip the first N seconds before splitting. Handy for trimming intros with no vocals.
    • scene_count (INT, 1–50, default 1) - how many scene clips you want out.
    • using_infinite_talk (enum false/true) - set to false if you're on the HUMO workflow, per the tooltip.
    • duration_1 .. duration_50 (FLOAT, default 3 each) - the per-scene lengths, in seconds. These are your creative control: set scene_count to however many scenes you have, then dial each duration to match the music.

    Outputs:

    • meta (DICT) - the scene metadata (counts, offsets), ready for VRGDG_Json2String if you want to hand it to an LLM.
    • total_duration (FLOAT) - how long the summed scene clips come to; a sanity check that your durations roughly match the track.
    • audio_1 .. audio_50 (AUDIO) - the individual scene clips. Wire each into whatever generates video from a scene.

    How to use it like a human

    Load the track, set scene_count, and start with the verse-chorus-verse structure you actually hear. Intro 4s, verse 8s, chorus 12s, verse 8s, chorus 12s, outro 6s - that's a six-scene split with six different durations. The defaults are all 3 seconds, which is a fine placeholder, but the whole point of this node is that you replace them with real timings. Check total_duration against the track length after you're done.

    Installing it

    Part of the comfyui-vrgamedevgirl pack. ComfyUI Manager: search "vrgamedev", install, restart. Or:

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

    then install the README's requirements - this node is why librosa is on the list:

    pip install -r custom_nodes/comfyui-vrgamedevgirl/requirements.txt
    

    If it's not working

    • Sum of durations doesn't match the track - that's on you, not the node; the last scene will just be shorter (or the split overlaps the track end). Verify against total_duration.
    • Wrong target workflow - if your clips come out mistimed for the video side, re-check using_infinite_talk. The tooltip is explicit: HUMO wants false.
    • Path issues - it's a raw path string, so relative paths resolve against ComfyUI's working directory. If the node can't find the file, give it an absolute path.
    CategoryVRGDG

    Inputs (54)

    NameTypeDefaultDescription
    pathSTRING./audio.mp3
    offset_secondsFLOAT0.00
    scene_countINT11–50
    using_infinite_talkCOMBOfalseIf using HUMO, change this to false.
    duration_1optFLOAT3.00
    duration_2optFLOAT3.00
    duration_3optFLOAT3.00
    duration_4optFLOAT3.00
    duration_5optFLOAT3.00
    duration_6optFLOAT3.00
    duration_7optFLOAT3.00
    duration_8optFLOAT3.00
    duration_9optFLOAT3.00
    duration_10optFLOAT3.00
    duration_11optFLOAT3.00
    duration_12optFLOAT3.00
    duration_13optFLOAT3.00
    duration_14optFLOAT3.00
    duration_15optFLOAT3.00
    duration_16optFLOAT3.00
    duration_17optFLOAT3.00
    duration_18optFLOAT3.00
    duration_19optFLOAT3.00
    duration_20optFLOAT3.00
    duration_21optFLOAT3.00
    duration_22optFLOAT3.00
    duration_23optFLOAT3.00
    duration_24optFLOAT3.00
    duration_25optFLOAT3.00
    duration_26optFLOAT3.00
    duration_27optFLOAT3.00
    duration_28optFLOAT3.00
    duration_29optFLOAT3.00
    duration_30optFLOAT3.00
    duration_31optFLOAT3.00
    duration_32optFLOAT3.00
    duration_33optFLOAT3.00
    duration_34optFLOAT3.00
    duration_35optFLOAT3.00
    duration_36optFLOAT3.00
    duration_37optFLOAT3.00
    duration_38optFLOAT3.00
    duration_39optFLOAT3.00
    duration_40optFLOAT3.00
    duration_41optFLOAT3.00
    duration_42optFLOAT3.00
    duration_43optFLOAT3.00
    duration_44optFLOAT3.00
    duration_45optFLOAT3.00
    duration_46optFLOAT3.00
    duration_47optFLOAT3.00
    duration_48optFLOAT3.00
    duration_49optFLOAT3.00
    duration_50optFLOAT3.00

    Outputs (52)

    NameTypeDescription
    metaDICT
    total_durationFLOAT
    audio_1AUDIO
    audio_2AUDIO
    audio_3AUDIO
    audio_4AUDIO
    audio_5AUDIO
    audio_6AUDIO
    audio_7AUDIO
    audio_8AUDIO
    audio_9AUDIO
    audio_10AUDIO
    audio_11AUDIO
    audio_12AUDIO
    audio_13AUDIO
    audio_14AUDIO
    audio_15AUDIO
    audio_16AUDIO
    audio_17AUDIO
    audio_18AUDIO
    audio_19AUDIO
    audio_20AUDIO
    audio_21AUDIO
    audio_22AUDIO
    audio_23AUDIO
    audio_24AUDIO
    audio_25AUDIO
    audio_26AUDIO
    audio_27AUDIO
    audio_28AUDIO
    audio_29AUDIO
    audio_30AUDIO
    audio_31AUDIO
    audio_32AUDIO
    audio_33AUDIO
    audio_34AUDIO
    audio_35AUDIO
    audio_36AUDIO
    audio_37AUDIO
    audio_38AUDIO
    audio_39AUDIO
    audio_40AUDIO
    audio_41AUDIO
    audio_42AUDIO
    audio_43AUDIO
    audio_44AUDIO
    audio_45AUDIO
    audio_46AUDIO
    audio_47AUDIO
    audio_48AUDIO
    audio_49AUDIO
    audio_50AUDIO