Chords
Each beat's pitch classes are scored against 84 chord templates (major, minor, 7, maj7, m7, diminished and sus4 on all 12 roots), plus "no chord". A template includes each chord note's first few overtones, because a real C also sounds a fainter C and G above it. The score is the cosine similarity, plus credit when the bass plays the root, a little extra for chords that belong to the key, and a small cost for the rarer kinds of chord.
Then a Viterbi search finds the likeliest run of chords across the whole take. Changing chord has a cost, lowest on beat 1, so it won't flicker on a passing note. A chord note that's clearly strongest in the bass makes a slash chord, such as G/B.
emissions() decodeChords()
On the page: the chord lane at the top of the timeline. "Play its chords" sounds them.