Nodes/VRGameDevGirl Video Enhancement Nodes/Manual Lyrics Extractor (Beat Mode - Published V9)
ComfyUI Node

Manual Lyrics Extractor (Beat Mode - Published V9)

The lyric extractor variant the v9 builder workflow actually shipped with

By vrgamegirl19·Created about a year ago·Updated about 7 hours ago· 718
Manual Lyrics Extractor (Beat Mode - Published V9)
  • audio
  • all_lyrics_combined
scene_duration_seconds4.00
fps25
srt_path
reference_lyrics
strict_reference_texttrue
fill_aggressiveness1
preserve_nonvocal_segmentstrue
alignment_min_words2
model_namelarge-v3
languageenglish

If you've loaded a v9-era VRGameDevGirl builder workflow and it references a lyric extractor you can't find, this is that node. VRGDG Manual Lyrics Extractor (Beat Mode – Published V9) is the beat-aligned variant of the SRT Advanced extractor, kept as its own node so old published workflows keep loading after the pack moves on. Same job - turn audio into word-timed lyrics - with the same interface and the same "Beat Mode" twist baked into the pipeline.

How it works

Everything from its sibling carries over: an audio input, Whisper-based transcription via model_name (default large-v3), an optional srt_path to write the SRT file, and all_lyrics_combined as the output string that feeds the builder's timing stage. The two share the full control set - reference_lyrics + strict_reference_text for aligning to the real words, fill_aggressiveness for gap-filling, preserve_nonvocal_segments for instrumental stretches, alignment_min_words for segment alignment, plus scene_duration_seconds and fps for the scene grid.

The "Beat Mode" in the name is the real difference, and it's the whole reason the node exists as a separate class: where the base extractor slices the transcript to a plain scene grid, this variant aligns to the beat structure of the audio, so lyric events land on the musical downbeats the builder's beat-calibration tools expect. If you're following the v9 workflow - which is the version the pack's published workflows and the community's shared music videos were built around - this is the node those graphs call.

This matters more than it sounds. The community's experience with these workflows is that timing is the hard 80%. One of the first v9 users to post a finished video described cutting their intro away because it had no lyrics; that's the exact class of problem preserve_nonvocal_segments and beat alignment exist to keep you from fighting. When a v9 workflow loads with a missing-node warning pointing at this class name, install the pack and it resolves - the node is kept around precisely so those published graphs keep running.

Install

Same pack, same routine: ComfyUI Manager → search vrgamedev (or add https://github.com/vrgamegirl19/comfyui-vrgamedevgirl), restart, hard-refresh the browser page. Manual: git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl into custom_nodes, then pip install -r requirements.txt; on Windows portable, pip install Cython scikit-build-core first and stay on Python 3.12.

Troubleshooting

The v9-era gotcha people actually hit: an intro with no vocals. If your transcription produces nonsense words over an instrumental opening, that's the Whisper alignment hallucinating - keep preserve_nonvocal_segments on and make sure your reference_lyrics includes the full song, intro included, or cut the intro in the builder like the community did. First run downloads large-v3 (multi-GB), so give it time. If it's slow, swap model_name to base or small and re-check alignment quality - for beat timing, the reference text matters more than the model size.

CategoryVRGDG

Inputs (11)

NameTypeDefaultDescription
audioAUDIO
scene_duration_secondsFLOAT4.001–60
fpsINT251–60
srt_pathSTRING
reference_lyricsSTRING
strict_reference_textBOOLEANtrue
fill_aggressivenessINT11–5
preserve_nonvocal_segmentsBOOLEANtrue
alignment_min_wordsINT21–8
model_nameSTRINGlarge-v3
languageCOMBOenglish113 options: auto, english, chinese, german, spanish, russian, +107

Outputs (1)

NameTypeDescription
all_lyrics_combinedSTRING