Skip to content

Automatic chord recognition with PCP (Pitch Class Profile)

Notifications You must be signed in to change notification settings

xavrr/Chord-Recognition

 
 

Repository files navigation

Chord-Recognition

Automatic chord recognition in Python

Chords are identified automatically from monophonic/polyphonic audio. The feature extracted is called the Pitch Class Profile, which is obtained by computing the Constant Q Transform. Two methods are used for classification:

  1. Template matching - The pitch profile class is correlated with 24 major and minor chords, and the chord with highest correlation is identified. Details given in the paper Automatic Chord Recognition from Audio Using Enhanced Pitch Class Profile - Kyogu Lee, CCRMA Stanford. Works well for chords played by solo instruments.
  2. Hidden Markov Model - HMM is trained based on music theory according to the paper A Robust Mid-level Representation for Harmonic Content in Music Signals - Juan P. Bello, MARL NYU. Viterbi decoding is used to estimate chord sequence in multi-timral, polyphonic music.

About

Automatic chord recognition with PCP (Pitch Class Profile)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%