Manual Lyrics Extractor (Beat Mode - Published V9)
The lyric extractor variant the v9 builder workflow actually shipped with
- audio
- all_lyrics_combined
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.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | — | |
| scene_duration_seconds | FLOAT | 4.001–60 | — |
| fps | INT | 251–60 | — |
| srt_path | STRING | — | |
| reference_lyrics | STRING | — | |
| strict_reference_text | BOOLEAN | true | — |
| fill_aggressiveness | INT | 11–5 | — |
| preserve_nonvocal_segments | BOOLEAN | true | — |
| alignment_min_words | INT | 21–8 | — |
| model_name | STRING | large-v3 | — |
| language | COMBO | english | 113 options: auto, english, chinese, german, spanish, russian, +107 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| all_lyrics_combined | STRING | — |