LabROSA : Projects :

[chords image]

Supervised Chord Recognition for Music Audio in Matlab


As our submission into the MIREX 2008 Audio Chord Detction evaluation, we developed a simple chord recognizer that builds models of chord classes based on labeled data (supervised training). This page provides access to the code and data used in our system.


Data

We used Chris Harte's Beatles Chord Transcription data. Our system uses beat-synchronous chroma features. You can download these features across all 180 Beatles tracks: beatles-chromftrs.tgz (7.9 MB).


Code

We provide our code package, dpwechordrecog-20080825.zip as submitted to the MIREX competition, which consists mainly of Matlab, but also includes the Jesper Jensen's ISP Toolbox for its optimized, MEX-based chroma calculation, and Kevin Murphy's HMM Toolbox for the HMM Viterbi decoder.

Main routines

Both the training labels and the classifier output files are in the format

<start_time_in_sec> <label>
<start_time_in_sec> <label>
....

where the label is an integer in the range 0 to 24. 0 to 11 represent major chords C, C#, ... B; 12 to 23 represent minor chords similarly, and 24 is the "no chord" symbol. Of course, the precise identity of these chords depends on the labels in the training data, but the transposition relationships between 0..11 and 12..23 are used in the algorithm - it transposes the chroma of the labeled chords back to C, and builds just a single major chord model, and a single minor chord model..


Acknowledgment

This material is based upon work supported by the National Science Foundation under Grant No. IIS-07-13334. Any opinions, findings and conclusions or recomendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).


Valid HTML 4.0! Last updated: $Date: 2008/09/25 20:55:36 $
Dan Ellis <dpwe@ee.columbia.edu>