Computer Music Analysis Dataset

The dataset contains labels of melody, chord and structure.

The training data has 5823 measures in 51 songs located in the ./train folder. The data is in melody_label.txt, which has one row for each file. The only data is the number of the channel that contains the melody. The format is {filename},{channel_id}.

The testing data has 1703 measures in 22 songs located in the ./test folder. For each {music}.mid, if there are melody labels, there will be a "{music}_melody.txt file". The format of the label file is that for each measure, there is line containing "Measure {#}". If melody exists in this measure, the next row will contain "Chan {#}" with the channel number of the melody. If the melody exists in multiple channels (typically because the melody is played in unison by multiple instruments), there will be multiple lines containing "Chan {#}", one for each channel containing melody.

The testing data has 1890 chord labels in 20 songs located in the ./test folder.

Similar with melody, if the music has a chord label, there is a file "{music}_chord.txt" and "{music}_chord_simple.txt". Each row represents a chord label with the format of "{time in millisecond} {chord label}". In {music}_chord_simple.txt, labels are reduced to Major, minor, diminished, augmented, suspended 4 and "N" for unknown.

We provide 10 reference labels for structure located in the ./test folder in files named "{music}_structure.txt". If a music has structure label, there will be a "{music}_melody.txt file". Each row has the format of "{start measure},{end measure},{pattern_number}", where the pattern_number is the same iff the section is considered to be a repetition. E.g. an AABA form will have numbers 1, 1, 2, and 1.

You can download the entire dataset here.
CC-BY