Every lyric-synced video starts with one unglamorous question: when exactly is each word sung? Get that wrong and captions drift, scene changes land mid-line, and the chorus visual arrives a second late. Here is the actual pipeline AIMusicVideo uses to answer it — the same approach you could build yourself, explained honestly.
The short version: OpenAI’s Whisper model listens to the song, the result becomes an LRC timing sheet, and that sheet drives everything downstream — captions, scene boundaries, and the lyric video or full music video built on top.
1. Whisper listens to the song
Whisper is OpenAI’s open-source speech-recognition model (widely run via the whisper.cpp implementation). Fed a song, it does two jobs at once: transcribes the words it hears, and timestamps them. Music is harder than speech — vocals fight the mix, reverb smears syllables, ad-libs overlap — so raw output is a strong first draft, not gospel.
- Input: your song’s audio (the vocal-bearing mix).
- Output: text segments with start/end times, down to word-level timestamps.
- Accuracy improves when lyrics are known in advance — the transcript can be aligned against the real words instead of guessed.
2. The timing becomes an LRC file
LRC is a decades-old, dead-simple format from the karaoke world: a plain text file where each lyric line is prefixed with a timestamp. [00:12.40]We marked the curb with a crooked line means that line is sung 12.4 seconds in. That’s the entire format — which is why it survived: every player and pipeline can parse it.
An enhanced LRC goes further and stamps individual words: <00:12.40>We <00:12.71>marked <00:12.98>the... This is the difference between a caption appearing per line and a karaoke-style highlight sweeping word by word.
3. Sentence timing vs word timing — why both exist
Sentence (line-level) timing answers when does this lyric line start — enough for scene planning: a storyboard needs to know the chorus begins at 0:41, not when each syllable lands.
Word-level timing answers when is each word sung — required for karaoke highlighting, syllable-synced captions, and lyric text that lands inside a generated scene. AIMusicVideo’s player exposes both: the Sentence and Syllable toggles you see under a playing video are literally switching between these two timing layers of the same LRC data.
4. A language model reads the timed lyrics
Timing alone tells you when — not what. So the sentence-level LRC is handed to a large language model (GPT-4o-class analysis in our pipeline), which reads the full lyric sheet with its timestamps and works out what the song actually is: the story it tells, the mood and genre, the emotional arc from verse to chorus, where the energy rises and resolves.
- Meaning: what the song is about — the story, imagery, and recurring ideas in the lyrics.
- Structure: which timed lines form verses, choruses, the bridge, and instrumental gaps.
- Arc: where intensity builds and releases, so visuals can rise and fall with the vocal.
- Output: a song analysis the storyboard planner uses to give each timed segment the right scene.
This is why two songs with identical tempo get completely different videos: the timing sheet is the skeleton, but the analysis is what decides a heartbreak ballad gets rain-streaked intimacy while a block-party anthem gets crowds and daylight.
5. A planner writes the scenes in chunks
With timing and meaning in hand, a storyboard planner writes the actual scene list — one chunk of the song at a time rather than in a single giant request. For every scene it does two reads at once: a close read of that scene’s own lyric segment (what these exact lines mean, what should visually happen during them) and a reference back to the story as a whole (the master narrative, world, and performer established for the entire song).
- Local: what this lyric segment says, and the one clear action or image that expresses it.
- Global: how the scene serves the whole story — same world, same performer, same visual language, so scene 9 remembers what scene 2 established.
- Timed: every scene inherits its exact start and end seconds straight from the LRC.
That local-plus-global pass is what separates a coherent music video from a stack of pretty-but-unrelated clips: each scene answers to its own lyrics and to the master environment of the song.
6. A verifier pass repairs weak scenes
Before anything renders, a second model reads the finished plan as a critic: does each scene match its lyric moment, does the performer stay consistent, do locations jump without reason? Scenes that fail get flagged and rewritten — in a real run this looks like "verifier identified scene repairs: scenes 4, 7, 12, 14" in the logs. Cheap text fixes now instead of expensive re-renders later.
7. Images, then videos, then the final MP4
Only after planning and verification does generation spend real credits: each scene gets a still image first (the reviewable storyboard), approved frames become animated clips, and Final Video Production stitches the clips in song order with the original audio into the finished MP4.
- Images first — cheap to review, cheap to regenerate.
- Videos second — each clip animates its approved frame for its LRC-timed slot.
- Assembly last — clips + source audio, in order, one MP4.
8. Bring your own LRC when you have a better one
Automatic timing is a first draft. If you already have a hand-timed LRC — from a karaoke tool, a lyric editor, or a previous release — import it and it wins over the automatic pass. The pipeline treats your file as ground truth, which is exactly what you want for a release where every word placement matters.
Frequently asked questions
What is an LRC file?
A plain-text lyric file where each line (and optionally each word) carries a timestamp, e.g. [00:12.40]lyric text. Players and video pipelines use it to sync lyrics to audio.
Is Whisper accurate enough for songs?
It produces a strong first draft, but music is harder than speech, so review the timing — and when the real lyrics are known, aligning against them beats raw transcription. You can always import a corrected LRC.
What is the difference between sentence and word timing?
Sentence timing marks when each lyric line starts — enough for scene planning. Word timing marks every word — needed for karaoke-style highlights and syllable-synced captions. Enhanced LRC files carry both.
Import a track, review its lyric timing, and watch scenes snap to the vocal before you spend anything on animation.
Start with your song