ComfyUI Node

VRGDG_LoadAudioSplit_HUMO

The plainest HUMO scene splitter in the family

By vrgamegirl19·Created about a year ago·Updated a day ago· 742
VRGDG_LoadAudioSplit_HUMO
  • audio
  • 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
◄offset_seconds0.00►
◄scene_count1►

If you want to feed an audio track into HUMO and don't care about lyrics, transcription, or fancy per-scene durations, this is the node. VRGDG_LoadAudioSplit_HUMO is the stripped-down member of the splitter family: give it an AUDIO input, say how many scenes you want, and it hands back up to 50 scene clips plus the metadata. No language dropdown, no Whisper step, no scene instructions. Just cuts.

For context: HUMO is ByteDance's human-centric video generation framework - it takes text, image, and audio inputs and produces video with synchronized audio-driven motion. That's the whole reason this pack has a family of audio splitters at all: each scene clip becomes the audio track that a HUMO workflow animates to. This node is the minimal version of that job.

What it does

Three inputs:

  • audio (AUDIO) - the loaded track. Unlike the dynamic splitter, this one takes an actual audio wire, so it composes cleanly with any audio loader (VRGDG_LoadAudioWithPath is the obvious pairing).
  • offset_seconds (FLOAT, default 0) - skip the first N seconds before splitting. The classic use: trim a no-vocals intro that would otherwise produce a dead scene.
  • scene_count (INT, 1–50, default 1) - how many clips to produce.

Outputs:

  • meta (DICT) - scene structure info; pipe it through VRGDG_Json2String if a downstream step wants it as text.
  • total_duration (FLOAT) - the sum of the scene clips.
  • audio_1 .. audio_50 (AUDIO) - the scene clips themselves.

Note what's missing compared to the fancier splitters: no using_infinite_talk toggle (this one is HUMO-flavored by definition), no per-scene duration inputs, no transcription. The split is by offset + count, and the scenes come out evenly sized. That's a feature - it's the node you reach for when you just need the song cut into N usable chunks and want the lowest possible friction.

How to use it

Drop the audio in, set offset_seconds to skip any dead intro, set scene_count to your target, and wire audio_1 through audio_N into your HUMO scene-generation branch. The meta output is your friend for keeping the scenes organized - dump it to a text node once so you can see exactly what the splitter decided before you build a 50-branch graph on top of it.

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 (librosa does the audio work here):

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

If it's not working

The usual suspects: the audio input isn't loaded (you're feeding it nothing - check the loader upstream), or offset_seconds is pushing past the useful content so scenes come out silent or empty. And if you expected per-scene control and got a uniform grid, remember this is the minimal splitter - the per-scene durations live in VRGDG_LoadAudioSplitDynamic, and the transcription lives in the Transcribe variants. Different nodes, different jobs.

CategoryVRGDG

Inputs (3)

NameTypeDefaultDescription
audioAUDIO—
offset_secondsFLOAT0.00—
scene_countINT11–50—

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—