Skip to content
MuziAI

Does AI really sing over your chords? We measured it

We measured how closely AI-sung songs follow a supplied score: 0.922 chord match with English lyrics, 0.809 with Vietnamese, 0.546 with no score at all.

By the MuziAI team. The numbers come from measurements we ran ourselves while building MuziAI; drafts were written with AI assistance, and every figure was checked against our measurement logs. Updated October 13, 2026.

Songwriters keep asking us: if I already have a chord progression and a score, will the AI actually sing over it, or treat it as a loose hint and wander off into a different song? We measured instead of guessing. Short version: yes, the model follows the chords and structure of the score you give it. With English lyrics the chord match against the original is 0.922; with Vietnamese lyrics 0.809; with no score at all 0.546. What we measured is harmony, not the sung melody, and this article is explicit about that gap.

Hands resting on piano keys under warm lamplight
Hands resting on piano keys under warm lamplight

How we measured: 12 pitch classes, 2-second windows

When you make a song on MuziAI, the system normally works in two stages: a model writes a score in ABC notation (melody, chords, meter), then the singing model renders it as audio. For a 4:14 song the writing stage takes about 40 seconds of machine time and singing 179 seconds. Supply your own score and the writing stage is skipped. To have a known answer, we took the score of an existing song, had it sung again with new lyrics, and compared the result with the original song that score came from.

The metric runs on a CPU and uses a 12-note chroma profile: the song is cut into 2-second windows, and in each one all the energy is folded onto the 12 pitch classes of an octave (C, C sharp, D, up to B), whatever octave the notes sound in. Every 2 seconds becomes a harmonic fingerprint. We compare the two songs' fingerprints at the same timestamps and average over the track. A score of 1 means identical.

A number like 0.8 means nothing until you know where “unrelated” sits. So we measured a floor: take the original, shift it by 8 seconds, and compare it with the unshifted version. Same chords, same instruments, same voice, only offset in time, and the score falls to 0.656.

The results: four numbers

CaseChord matchWindows above 0.8Song length
Score supplied, English lyrics0.92286%188.6 s (original 189.3 s)
Score supplied, Vietnamese lyrics0.80952%not recorded
No score supplied0.5467%161 s
Floor: original shifted 8 s0.656n/an/a

With English lyrics, 86% of windows score above 0.8 and the song is only 0.7 seconds shorter than the original over more than three minutes: the model kept the same sections at the same lengths. Without a score it writes a different song altogether: 0.546, below the 0.656 floor, and 161 seconds long instead of 189. Vietnamese lyrics land in between: 0.809 is clearly above the floor, but only 52% of windows clear 0.8.

Why it still drifts even with a score

Even the best run has 14% of its windows below 0.8. The first two reasons are backed by measurements; the last two are hypotheses.

  • Timing errors are punished hard. The metric compares windows at the exact same second, and the 0.656 floor shows that an identical song slid by 8 seconds already loses a lot. A section sung a few beats long or short drags down every window after it.
  • Every generation is a random draw. The Vietnamese run used a different seed from the English one, so 0.809 reflects two changes at once. We have not separated how much comes from the language and how much from the seed.
  • The metric hears the whole mix. Chroma covers vocals and instruments together, so a sung line on different notes colors the 12 pitch classes differently even over the same chord (hypothesis).
  • New lyrics have different line lengths. The singer has to stretch or squeeze lines inside the bar, and in Vietnamese every syllable also carries a tone (hypothesis, not measured separately).

Limits and what we don't know yet

  • The vocal melody is unmeasured. That requires separating the voice and tracking its pitch, which needs a GPU. So the creation page only promises to keep “chords, key and tempo”, not every note of the vocal.
  • The sample is small. All four numbers come from one score, one generation per case. They show the direction, but cannot tell you that Vietnamese always lands 0.113 below English.
  • Melody-only mode has not been scored with this metric. The only lower reference is 0.546, for no score at all.
  • A high score is not a good song. The metric says nothing about arrangement, vocal quality or how clearly the words come through.

Tried and switched off: a chord box like “Am F C G”

Plenty of people have a progression but no melody. We built a box where you type chords, turned into a score with only chords and a vocal line made of rests. Result: the chords were right (0.858), but the song lasted 86 seconds instead of 189 and the model did not sing all the lyrics. The box is off. Another measurement explains why: while building instrumental mode, a score with only section labels gave roughly a one-minute track whether it had 4 labels or 8, while placeholder lines made the model write a real melody and the track grew with the number of lines. So song length is driven by melodic lines, not by chords. For a chord box to work, the model would have to compose a melody inside the given progression, which has not been built.

Melody plus chords, or melody only?

The “Existing score” card lets you choose what to keep. Melody and chords passes your score through untouched, the case behind 0.922 and 0.809. Melody only makes the service strip every chord symbol before singing, because the singing model does not ignore them on its own. In a real end-to-end test on the live site, the submitted score had 68 chord symbols, the one the model used had 0, and the song came out at 210 seconds.

  • Pick melody and chords when the progression is what you care about: the accompaniment is finished, or you are writing new words for an existing song.
  • Pick melody only when you trust the tune more than the chords: a hand transcription with unchecked harmony, chords written nonstandardly, or a melody you want re-accompanied in a new style.
  • If matching the original chords is the priority, skip melody only: we have no chord measurement for it yet.

How to use this when you make a song

  1. Get a score. Every sample song page has a “Sing new lyrics to this score” button in its “Chords and score” block. Or, on the song maker, open the “Existing score” card and pick one of 58 sample scores (each with a play button) or paste your own ABC.
  2. Read the summary card before generating: key, BPM, meter and progression, for example “F major · 100 BPM · 4/4 · F C/E Dm7 Bb…”. That is what the model will follow, so fix anything wrong there.
  3. With Vietnamese lyrics, generate two or three versions and compare the start of each section with the original: Vietnamese followed the chords less closely than English (0.809 versus 0.922), and each generation is a fresh draw.
  4. Do not expect the vocal to copy the original melody note for note. That part is unmeasured, so we do not promise it.
  5. Only have chords? The chord box is off; the closest option is to pick a sample song with a similar progression and write new lyrics over it.

Try it now on MuziAI

Free, no sign-up required. Share an idea, and our AI lyrics generator writes and sings a complete song.

Create Song