Lyrics written "for" a song usually don't fit it: too many syllables for the bars, a chorus that doesn't land where the music repeats. songprint measures the instrumental first and produces a spec a lyricist (human or Claude) can write to: how many lines each section needs and roughly how many syllables each line should carry.
How it works
It combines two cheap, reliable signals instead of asking a heavy model to guess the song's structure:
| Source | Gives |
|---|---|
| The audio (librosa) | tempo, beat grid, energy curve |
| A screenshot of Suno's editor (image parsing + OCR) | section boundaries, and which sections repeat |
Suno already splits a song into sections and reuses a letter when the music repeats, which is the chorus signal. songprint reads that, lines it up against the tempo to count bars per section, and turns bars into a syllable budget. Studio's exact BPM or bar count can override detection, and stem separation helps on dense mixes.
Style specs
A style spec pins down the lyrical voice: diction, point of view, imagery, rhyme, meter and emotional arc. Claude writes each one from a reference (a film, an artist, a song). It also covers phonetics: which vowels can carry a held note and which ones choke it. A lyric that reads well can still be unsingable, because the melody exists first and the word has to fit the note it lands on.
Outputs a full JSON "audioprint" and a short brief to hand to the lyricist.