Nodes/VRGameDevGirl Video Enhancement Nodes/VRGDG_LoadAudioSplit_SRTOnly
ComfyUI Node

VRGDG_LoadAudioSplit_SRTOnly

Split scenes where the subtitle file says the lyrics change

By vrgamegirl19·Created about a year ago·Updated about 7 hours ago· 718
VRGDG_LoadAudioSplit_SRTOnly
  • audio
  • trigger
  • meta
  • total_duration
  • index
  • frames_for_ltx
  • start_time
  • end_time
  • instructions
  • total_sets
  • frames_per_scene
  • preroll_frames
  • audio_meta
  • output_folder
  • overwrite_mode
  • audio
  • signal_out
srt_file
fixed_duration0
fps24
folder_pathVRGDG_Video
enable_auto_queuetrue
redo_prompt_number0
use_remake_folderfalse
overwrite_mode
tail_loss_frames5
pre_frames0

The other splitters guess scene boundaries from fixed durations. VRGDG_LoadAudioSplit_SRTOnly doesn't guess at all: it reads a subtitle (SRT) file and splits the audio at the lyric boundaries it defines. If you already have an SRT - from an external transcription, a music source, or a previous run of this pack's own transcription step - this is the node that honors it exactly.

It's also the splitter with the most "director control" knobs in the family: you can redo a specific scene, rebuild into a separate remake folder, pad the front of scenes, and trim dead tail frames. That's the signature of a node that got battle-tested on real music-video iterations - the failure modes it guards against are the ones people actually hit.

What it does

Inputs that matter:

  • audio (AUDIO) - the loaded track.
  • trigger (*) - advance to the next scene.
  • srt_file (STRING, default empty) - the subtitle file to split against. Pair it with VRGDG_LatestSRTAutoLoader, which hands you the newest SRT's path automatically.
  • fixed_duration (INT, default 0) - if set above 0, ignores the SRT and uses a uniform duration instead. Your "actually, just chop evenly" fallback.
  • fps (INT, default 24) - frame math for the LTX side.
  • folder_path (STRING, default VRGDG_Video) - output location.
  • enable_auto_queue (BOOLEAN, default true) - auto-advance the scene queue.
  • redo_prompt_number (INT, default 0) - re-render a specific scene prompt instead of the whole track.
  • use_remake_folder (BOOLEAN, default false) - send redone scenes to a separate folder so you don't clobber the good take.
  • overwrite_mode (enum overwrite/backup) - replace or preserve existing output.
  • tail_loss_frames (INT, default 5) - frames trimmed off scene tails; a small trim avoids the ragged edges that come from encoding boundaries.
  • pre_frames (INT, default 0) - leading frames added to a scene, so motion can ease in before the lyric line.

Outputs: the chunker set - meta, audio_meta, total_duration, index, total_sets, start_time, end_time, instructions, frames_for_ltx, frames_per_scene, preroll_frames, output_folder, overwrite_mode, plus audio (AUDIO) for the current scene and signal_out (*) for chaining.

How to use it

Get an SRT (this pack's own transcription writes them, and VRGDG_LatestSRTAutoLoader finds the newest), feed it in, and let the timestamps drive the split. The pre_frames/tail_loss_frames pair is worth understanding: SRT timing is word-accurate but video hates hard cuts, so a few leading frames let the model settle into the scene and a few trailing ones stop the clip from ending on a half-frame. The use_remake_folder + redo_prompt_number combo is your surgical-edit workflow: regenerate one bad scene without touching the rest.

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:

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

If it's not working

  • Scenes ignore the SRT - check fixed_duration. If it's nonzero, the SRT is bypassed by design.
  • Every scene starts a hair too late - raise pre_frames. The lyric line and the motion should meet in the middle.
  • Scene tails look cut off - raise tail_loss_frames.
  • A redo wrecked your good scene - you hit redo_prompt_number with use_remake_folder off. That combo overwrites; flip the flag when you care about the take.
  • Nothing loads - srt_file is empty or points at a missing file. Wire VRGDG_LatestSRTAutoLoader in or set the path explicitly.
CategoryVRGDG

Inputs (12)

NameTypeDefaultDescription
audioAUDIO
trigger*
srt_fileSTRING
fixed_durationINT0
fpsINT24
folder_pathSTRINGVRGDG_Video
enable_auto_queueBOOLEANtrue
redo_prompt_numberINT0
use_remake_folderBOOLEANfalse
overwrite_modeCOMBO2 options: overwrite, backup
tail_loss_framesINT5
pre_framesINT0

Outputs (15)

NameTypeDescription
metaDICT
total_durationFLOAT
indexINT
frames_for_ltxINT
start_timeSTRING
end_timeSTRING
instructionsSTRING
total_setsINT
frames_per_sceneINT
preroll_framesINT
audio_metaDICT
output_folderSTRING
overwrite_modeSTRING
audioAUDIO
signal_out*