Which chords is this song made of? Load it and the timeline fills with the triads it found, each at the time it starts, with the progression written out underneath: C G Am F. Copy the progression as text or the whole list with times and confidences as JSON.
How a chord is read
Each 85 ms window is reduced to twelve numbers, one per pitch class, counting only the spectral peaks so that drums do not fill every class equally. That column is compared with the 24 triad templates by cosine similarity, and a flat column, which matches every template equally, is scored as no chord.
The sequence is then decoded as a whole: the path through the columns that maximises similarity minus a cost per change. That is what stops a sustained C major from being reported as C, then Am, then C again when the melody passes through an A.
Stability and shortest chord
Stability is the cost of a change. Around 50 it holds a chord through a passing note and still follows a change on the beat. Raise it for a busy arrangement that reads as too many chords; lower it for a slow song where real changes are being swallowed.
Shortest chord folds any segment briefer than the set length into the chord before it. 0.3 s suits most songs. A fast chord-per-beat passage at 160 BPM has chords of 0.375 s, so set it under that.
What the confidence means
Each segment’s confidence is its mean similarity to the template that won. A clean strummed triad reaches 80 to 95%. A dense mix sits around 60%, and a segment near 55% is one the decoder held through a change it could not see well. The key detector reads the same chromagram and is the check for a progression that looks wrong: a song in A minor reported as mostly C, E and F is being read a third away.