VRGDG_LoadAudioSplit_HUMO_Transcribe
Split scenes and grab the lyrics in one pass
- audio
- meta
- total_duration
- lyrics_string
- 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
VRGDG_LoadAudioSplit_HUMO_Transcribe is where the splitter family learns to talk. It does everything the plain HUMO splitter does - cut an audio track into scenes - and on top of that it transcribes the audio with Whisper, handing you the lyrics as a string. That single addition is what turns "a pile of scene clips" into "a scene list plus the words each scene is singing," which is exactly what the music-video pipeline needs to build per-scene prompts.
The author's own tooltips tell you the mechanism plainly: the language input is described as "Language for Whisper transcription," and enable_lyrics as "If false, skip transcription." So Whisper is doing the transcribing, and you can turn it off if you only want the split.
What it does
Inputs:
- audio (
AUDIO) - the loaded track. - offset_seconds (
FLOAT, default 0) - skip the first N seconds. - scene_count (
INT, 1–50, default 1) - number of scene clips. - language (enum, 113 choices, default
english) - Whisper's target language;autois available if you're not sure. - enable_lyrics (
BOOLEAN, defaultfalse) - the transcription switch. Note the default: off. If you wire this up and get nolyrics_string, this is why.
Outputs:
- meta (
DICT) and total_duration (FLOAT) - scene bookkeeping. - lyrics_string (
STRING) - the transcription. This is the payoff: it feeds the LLM (VRGDG_LLM_Multi) that turns the song into scene prompts. - audio_1 .. audio_50 (
AUDIO) - the scene clips, same as the plain splitter.
Why transcription-first matters
The music-video workflow is lyric-driven: the generated scenes should match what's being sung, shot for shot. To do that, something has to know the words and roughly where they land. This node is the first step of that chain - split and transcribe together, so the scene clips and the lyric text stay in sync by construction. Feed lyrics_string into the prompt-building branch and the model can write "she sings the chorus here" against actual content instead of a guess.
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
Whisper itself isn't listed in the README's requirements, so if transcription errors on a fresh install, check whether the Whisper backend actually made it into your environment - this node assumes it's available.
If it's not working
- No lyrics come out -
enable_lyricsdefaults tofalse. Flip it on. - Garbage transcription - set
languageexplicitly instead of guessing; Whisper's auto-detect is decent but a wrong explicit language beats a confused auto for most songs. English pop is reliablyenglish. - Transcription errors on import - the Whisper dependency isn't in the README's short requirements list, so this is the node most likely to fail on a minimal install. Get the Whisper backend installed and restart ComfyUI.
- Wrong scenes -
offset_secondsandscene_countstill control the split, independent of transcription. Tune those separately.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | — | |
| offset_seconds | FLOAT | 0.00 | — |
| scene_count | INT | 11–50 | — |
| language | COMBO | english | Language for Whisper transcription. |
| enable_lyrics | BOOLEAN | false | If false, skip transcription. |
Outputs (53)
| Name | Type | Description |
|---|---|---|
| meta | DICT | — |
| total_duration | FLOAT | — |
| lyrics_string | STRING | — |
| audio_1 | AUDIO | — |
| audio_2 | AUDIO | — |
| audio_3 | AUDIO | — |
| audio_4 | AUDIO | — |
| audio_5 | AUDIO | — |
| audio_6 | AUDIO | — |
| audio_7 | AUDIO | — |
| audio_8 | AUDIO | — |
| audio_9 | AUDIO | — |
| audio_10 | AUDIO | — |
| audio_11 | AUDIO | — |
| audio_12 | AUDIO | — |
| audio_13 | AUDIO | — |
| audio_14 | AUDIO | — |
| audio_15 | AUDIO | — |
| audio_16 | AUDIO | — |
| audio_17 | AUDIO | — |
| audio_18 | AUDIO | — |
| audio_19 | AUDIO | — |
| audio_20 | AUDIO | — |
| audio_21 | AUDIO | — |
| audio_22 | AUDIO | — |
| audio_23 | AUDIO | — |
| audio_24 | AUDIO | — |
| audio_25 | AUDIO | — |
| audio_26 | AUDIO | — |
| audio_27 | AUDIO | — |
| audio_28 | AUDIO | — |
| audio_29 | AUDIO | — |
| audio_30 | AUDIO | — |
| audio_31 | AUDIO | — |
| audio_32 | AUDIO | — |
| audio_33 | AUDIO | — |
| audio_34 | AUDIO | — |
| audio_35 | AUDIO | — |
| audio_36 | AUDIO | — |
| audio_37 | AUDIO | — |
| audio_38 | AUDIO | — |
| audio_39 | AUDIO | — |
| audio_40 | AUDIO | — |
| audio_41 | AUDIO | — |
| audio_42 | AUDIO | — |
| audio_43 | AUDIO | — |
| audio_44 | AUDIO | — |
| audio_45 | AUDIO | — |
| audio_46 | AUDIO | — |
| audio_47 | AUDIO | — |
| audio_48 | AUDIO | — |
| audio_49 | AUDIO | — |
| audio_50 | AUDIO | — |