The original file is never touched.Lyrica decodes a copy to analyse and keeps the upload exactly as it was, at its full bit depth and sample rate, for the finished video.
My text is the source of truth.Section tags become the song's sections and are never timed as words. (x2) at the end of a line means it's sung twice, and a line in parentheses is a backing vocal that still gets timed.
Listen to the voice alone.Every later step works on the isolated vocal, so drums and guitars can't drag a word off its spot. The vocal is saved under the audio's fingerprint, so analysing a song again skips this step.
Borrow the timing, never the words.Lyrica looks the song up on LRCLIB and matches my lines to its synced lines with Needleman–Wunsch, the same kind of alignment used on DNA, so missing or extra lines don't throw it off. Only the start times are kept, as soft hints for the word timing.
Ask where, not what.Lyrica never asks a model what was sung: screams and stretched vowels make that hopeless. It already has the words, so a multilingual wav2vec2 model scores every letter at every moment, and one Viterbi pass over the whole song finds the best path through all of them. In one pass, lines can't steal syllables from each other, and no word can land where the vocal is silent.
Words end when the singer stops.This kind of model places letters on short spikes, so raw word ends come too early. Each word is stretched while the voice stays loud, and long holds are marked as held notes. Singing that no word covers is tested against the lines around it, to catch a line sung twice but written once.
Sections come from my tags.Each tagged section gets its real start and end from the timed words, and the audio only fills the gaps, like an intro or an instrumental. Tempo, beats, and the low, mid and high end are measured 50 times a second.
I still sign off on every word.Each word comes with a confidence score: how strongly the model preferred that letter over every other at that moment. Under 0.3, the word is underlined in the editor. I listen, fix what's off and tick it off, and I can always go back to what the agent produced.