Automated Roman Numeral Analysis

By Mike Cuevas, Aaron Keller, and David Zane

Northwestern University, EECS 352, Professor Bryan Pardo


What Am I?

We have written a program to perform an automated Roman numeral harmonic analysis of an input chord progression signal. The program takes in an input signal of piano block chords and returns the key and Roman numerals representing that progression.


Roman numeral analysis is an extremely important tool in analyzing the functions chords serve in a piece of music. It allows musicians to understand why a composer decided to place certain chords where they did and can help improve performance. Creating an automated version of this would be an important tool for musicians. This tool could be modified one day to not only work for input chord progressions, but to be able to analyze input music. This has the potential to benefit many fields of machine music perception.