ComfyUI Node

VRGDG_TranscribeLyric

Turn a Song Into Lyric Text, No External App Needed

By vrgamegirl19·Created about a year ago·Updated about 7 hours ago· 718
VRGDG_TranscribeLyric
  • audio
  • transcription
languageauto

The music-video workflow starts with lyrics - you need the words as text before you can generate prompts from them. VRGDG_TranscribeText (also surfaced as "VRGDG_TranscribeLyric") is that first step: feed it an AUDIO tensor and it runs Whisper large-v3 and returns the transcription as a string. It's the "stop copying lyrics from the internet" node, and it does exactly one job well.

Mechanically it's straightforward Whisper, wrapped for ComfyUI. The audio is resampled to 16 kHz (Whisper's native rate), the waveform is pulled out of the AUDIO dict, and the model transcribes in 30-second chunks. That chunking matters: a full song is longer than Whisper's context window, so the node slices it, transcribes each slice, and joins the results. Longer than ~30 seconds of audio, and it's also padding the last partial chunk so auto language detection works.

The inputs that matter

  • audio - any AUDIO tensor. Plug a load node, or better, the audio output of VRGDG_GetStems if you want vocals-only transcription (much cleaner on noisy mixes).
  • language - auto (let Whisper detect, default) or any of 100+ explicit languages. Setting a language explicitly removes ambiguity - Whisper has a notorious habit of guessing wrong on heavily accented or music-heavy audio, and forcing it fixes that.

Output: transcription, a single STRING - your lyrics as text, ready to feed the prompt-creation stage of the workflow.

Install

Same pack, plus a real dependency:

cd ComfyUI/custom_nodes
git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl
pip install -r requirements.txt   # includes transformers, torchaudio, etc.

The pack's requirements pull in transformers (and stable-ts, which the audio pipeline leans on), and torchaudio for resampling. The first run downloads openai/whisper-large-v3 from Hugging Face - that's a ~3GB model, so the first transcription involves a long wait. Budget for it.

Common issues

  • First run hangs: it's downloading Whisper large-v3. Watch the console for the download progress rather than assuming a deadlock.
  • Wrong language / garbled lyrics: set language explicitly instead of auto, especially for songs with music bleeding into the vocals.
  • Import error mentioning transformers or torchaudio: you cloned manually and skipped the requirements. pip install -r requirements.txt fixes it.
  • VRAM concerns: Whisper large-v3 on GPU is not free, but it's transient - the model loads, transcribes, and this node doesn't keep it resident afterward.

Honest review: it's a thin wrapper around a well-known model, and the heavy lifting is all Whisper's. But "thin wrapper around the right model, wired into your graph" is genuinely useful - it keeps transcription in-pipeline so lyrics, prompts, and video stay in one workflow instead of you copy-pasting from a web app. For an offline, local music-video pipeline, that's the right shape.

CategoryWanVideoWrapper

Inputs (2)

NameTypeDefaultDescription
audioAUDIOAudio input for transcription.
languageCOMBOautoLanguage to transcribe. 'auto' lets Whisper detect it.

Outputs (1)

NameTypeDescription
transcriptionSTRING