Vienna University of Technology
Institute of Software Technology and Interactive Systems Information & Software Engineering Group Music Information Retrieval |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[Topics] [Projects] [Downloads] [People] [Publications] [Press] [Events] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Automatic Chord DetectionMany music-related tasks that humans solve easily, like distinguishing the constituting instrument in polyphonic audio or the recognition of rhythm or harmonies are still not solved for computers. Especially the development of an automatic transcription system that computes the score out of a music recording is still a distant prospect despite decades-long research efforts. Here we deal with a subproblem of automatic transcription - automatic chord detection. Chord detection is particularly interesting as chords are comparatively simple and stable structures, and at the same time completely describe the harmonic properties of a piece of music. We have designed an algorithm that operates on musical pieces of arbitrary instrumentation and considers music theoretical knowledge. Our detection method incorporates rhythm and tonality of the musical piece the same as knowledge about the common frequencies of chord-changes. An average accuracy rate of 65% has been achieved on a test set of 19 popular songs of the last decades and confirms the strength of this approach. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The Algorithm Our chord-detector consists of
4 modules: The basic chord detection itself, beat tracking, key
detection and a chord-sequence optimizer. Beat tracking
is used to split the audio data into blocks of sizes that correspond to
the computed beat structure. As chord changes usually happen on beat
times, beat detection is a good method to enlarge analysis blocks
without risking to miss chord-changes. Each of the obtained blocks is
passed to an enhanced autocorrelation-algorithm. Its output is then
used to compute the intensity of each pitch class, the so called Pitch
Class Profile (short PCP). The calculated PCP's are compared
to a set of reference chordtype-PCP's using only
those reference chords that fit to the key of the
song. Finally the smoothing algorithm rates each
chord according to the number of chord changes around it.
Large flowchart of the algorithm |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tools
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Evaluation
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Downloads
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|