Chord Recognition in Beatles Songs

Chord Recognition in Beatles Songs

While a graduate student at MIT’s Media Lab, I collaborated with office-mate Vi­ctor Adán to explore how if we might train a machine to recognize chord changes in music. We tried multiple models to solve the problem, including Support Vector Machines, Neural Networks, Hidden Markov Models, and a few variations of Maximum Likelihood systems.

We chose Beatles tunes as a subset of the larger problem and trained our systems with 16 songs from three of their albums. Our systems processed 2700 training samples, 150 validation samples, and 246 testing samples. Our most successful system, a Support Vector Machine, achieved 68% accuracy in testing.

Our intention was to further the research which will lead to applications such as automatic transcription, live tracking for improvisation, and computer-assisted (synthetic) performers. Our models were an extension of the research provided by the following papers:

  • Musical Key Extraction from Audio, Steffen Pauws
  • Chord Segmentation and Recognition using EM-Trained Hidden Markov Models, Alexander Sheh and Daniel P.W. Ellis
  • SmartMusicKIOSK: Music Listening Station with Chorus-Search Function, Masataka Goto
  • A Chorus-Section Detecting Method for Musical Audio Signals, Masataka Goto

Main Website

Similar Posts

  • Contrapuntal Composer

    Contrapuntal Composer is Prolog code which writes music for three simultaneous voices. Depending on initial parameters, it can write a fugue, a rondo, or any other contrapuntal form. Contrapuntal Composer obeys the rules of good voice leading within each voice and between the voices.

  • Microphone with proximity detection

    Around 2004 I developed a few protoype microphones enhanced to also offer proximity detection. The microphone could adjust it’s amplitude and bass response based on the proximity of the person using it. This would lessen the variable results users experience when holding a microphone too close or too far. Moreover, with proximity or its derivative mapped to a combination…

  • SoundScratch

    SoundScratch is a set of extensions I wrote to manipulate audio in a children’s programming language called Scratch. The environment emphasizes the expressive capabilities of sound through the act of creation and design.

  • LegalLanguage

    I wrote LegalLanguage, a scripting language for lawyers at Legal Services Corporation in West Virginia. The staff used LegalLanguage to write simple scripts that could then ask clients questions, give guidance, and print out the appropriate forms. This freed up resources to focus on the large number of cases involving domestic violence.

  • SoundBlocks

    SoundBlocks is a tangible environment where youth connect blocks to describe network dataflow. The environment explores digital sound manipulation as a personal, meaningful and fun artistic endeavor, rather than as a venture into mathematical, electronic or networking relationships.

  • Auralis

    Auralis is a musical instrument constructed from a multitouch table and custom software ported from my earlier touch wall Touch #2. Merging sound, interactivity, and sequencing, Auralis is simultaneously engaging, meditative and soothing. I created the work for youth ages 8-14. A virtual world of suns, stars and planets interact with each other. Participants run…