Chord Namer

What is Chord Namer?

by Gavin Leeper and Mayank Sanganeria

Chord Namer is a tool that helps you identify and name the chords in a given musical score, even for complex orchestral pieces. It works by collapsing all the notes in each bar and identifying the name of the chord for those notes. This can be particularly useful for music analysis, composition, and arrangement.

Contact us for any issues, suggestions or to share your interest in music education tools!

Add a musicXML file (you can use MuseScore to convert midi to musicXML)

We hope you enjoy using ChordNamer! Let us know if you encounter any issues. Here are a few known issues and limitations for v1 that we look to address in future versions.

Multiple Chords Per Bar (i.e. Adjustable Harmonic Rhythm)

Currently, ChordNamer assumes that there is only one chord per bar, and that the lowest note hitting on the downbeat of that bar (regardless of instrument) is the intended bass note. We have tried a few solutions to let the user specify a number of beats within which to calculate the chords (for example, every 2 beats), but so far have been unable to get the symbols to display correctly. We'll be asking the Music21 open source community about solutions to this soon.

Roman Numeral Symbols and Analysis

Music21 also has support for Roman Numeral analysis. It can even catch things like secondary dominants and borrowed chords. We intended to provide chord symbols above the staff, and Roman Numerals as lyrics below, but this poses two challenges. First, we currently can't get both of them to display at the same time, although one or the other will display. Second comes the age old question of inferring the mode of the music, i.e. is it C major or A minor. The proper mode or key for analysis may also change for different sections of a song, further complicating things.

As a result, we don't currently support Roman Numeral analysis, although in the future we might add a workflow where we use model selection logic to make a guess at the analysis, and then the analyst can highlight certain bar ranges and enter in a new hypothesis for the relevant key or mode for those bars.

Chord Naming Edge Cases In Music21

Music21 is primarily made for analyzing classical music, and generally likes to see chords strictly spelled out with no omissions. Whereas jazz players commonly don't play the 5th in a dominant 7th chord, for example, this will throw an error in Music21. For a full list of the permissible omissions in extended chords, please refer to the documentation on Music21's Harmony module. In the future, we may look to get around such cases by adding some common jazz voicings to the dictionary of recognized chord types.

There's also a stylistic question of preferring inversions (as classical folks tend to) or extensions (as jazz folks and associated genres do). For example, Gm7/Bb? Or Bb6? Dm9/F or FM13? The answer to these naming questions depends on the context, the hypothesized key, and the chord's hypothesized function in addition to the musical style.