Difference between revisions of "2010:Audio Key Detection"
(→Evaluation Procedures) |
(→Evaluation Procedures) |
||
Line 74: | Line 74: | ||
The error analysis will center on comparing the key identified by the algorithm to the actual key of the piece. The key of the piece is the one defined by the composer in the title of the piece. We will then determine how "close" each identified key is to the corresponding correct key. Keys will be considered as "close" if they have one of the following relationships: distance of perfect fifth, relative major and minor, and parallel major and minor. A correct key assignment will be given a full point, and incorrect assignments will be allocated fractions of a point according to the following table: | The error analysis will center on comparing the key identified by the algorithm to the actual key of the piece. The key of the piece is the one defined by the composer in the title of the piece. We will then determine how "close" each identified key is to the corresponding correct key. Keys will be considered as "close" if they have one of the following relationships: distance of perfect fifth, relative major and minor, and parallel major and minor. A correct key assignment will be given a full point, and incorrect assignments will be allocated fractions of a point according to the following table: | ||
− | {| | + | {|border="1" |
− | |'''Relation to Correct Key''' || | + | |'''Relation to Correct Key''' ||'''Points''' |
|- | |- | ||
− | |Same|| | + | |Same||1.0 |
|- | |- | ||
− | |Perfect fifth|| | + | |Perfect fifth||0.5 |
|- | |- | ||
− | |Relative major/minor|| | + | |Relative major/minor||0.3 |
|- | |- | ||
− | |Parallel major/minor|| | + | |Parallel major/minor||0.2 |
|- | |- | ||
− | |Other|| | + | |Other||0.0 |
|} | |} |
Revision as of 12:57, 26 May 2010
Contents
Description
Determination of the key is a prerequisite for any analysis of tonal music. As a result, extensive work has been done in the area of automatic key detection. The goal of this task is the identification of the key from music in audio format.
Data
Collections
The collection used for this year's evaluation is the same as the one used in 2005. It consists of 1252 classical music audio pieces rendered from MIDI using the timidity MIDI synthesizer. The ground-truth key is drawn from the title of the piece. The entire piece is not used, but rather the first 30 seconds. This is done because usually the beginnings of pieces are in the labeled key before they possibly deviate due to key modulation.
Audio Formats
- CD-quality (PCM, 16-bit, 44100 Hz)
- single channel (mono)
Submission Format
Submissions to this task will have to conform to a specified format detailed below. Submissions should be packaged and contain at least two files: The algorithm itself and a README containing contact information and detailing, in full, the use of the algorithm.
Input Data
Participating algorithms will have to read audio in the following format:
- Sample rate: 44.1 KHz
- Sample size: 16 bit
- Number of channels: 1 (mono)
- Encoding: WAV
Output Data
The audio key detection algorithms will return the estimated key in an individual ASCII text file for each input .wav audio file. The specification of this output file is immediately below.
Output File Format (Audio Key Detection)
The Audio Key Detection output file format is a single-line tab-delimited ASCII text format. The tonic is reported, followed by a TAB and the mode. For sharps, the "#" symbol is used (e.g. A# for A sharp), for flats, a lowercase "b" is used, e.g. (Bb for B flat). Therefore, the output file should be of the form:
<tonic {A, A#, Bb, ...}>\t<mode {major, minor}>\n
where \t denotes a tab, \n denotes the end of line. The < and > characters are not included. An example output file would look something like:
C major
or
G# minor
Algorithm Calling Format
The submitted algorithm must take as arguments a SINGLE .wav file to perform the melody extraction on as well as the full output path and filename of the output file. The ability to specify the output path and file name is essential. Denoting the input .wav file path and name as %input and the output file path and name as %output, a program called foobar could be called from the command-line as follows:
foobar %input %output foobar -i %input -o %output
Moreover, if your submission takes additional parameters, foobar could be called like:
foobar .1 %input %output foobar -param1 .1 -i %input -o %output
If your submission is in MATLAB, it should be submitted as a function. Once again, the function must contain String inputs for the full path and names of the input and output files. Parameters could also be specified as input arguments of the function. For example:
foobar('%input','%output') foobar(.1,'%input','%output')
README File
A README file accompanying each submission should contain explicit instructions on how to to run the program (as well as contact information, etc.). In particular, each command line to run should be specified, using %input for the input sound file and %output for the resulting text file.
For instance, to test the program foobar with a specific value for parameter param1, the README file would look like:
foobar -param1 .1 -i %input -o %output
For a submission using MATLAB, the README file could look like:
matlab -r "foobar(.1,'%input','%output');quit;"
Evaluation Procedures
The error analysis will center on comparing the key identified by the algorithm to the actual key of the piece. The key of the piece is the one defined by the composer in the title of the piece. We will then determine how "close" each identified key is to the corresponding correct key. Keys will be considered as "close" if they have one of the following relationships: distance of perfect fifth, relative major and minor, and parallel major and minor. A correct key assignment will be given a full point, and incorrect assignments will be allocated fractions of a point according to the following table:
Relation to Correct Key | Points |
Same | 1.0 |
Perfect fifth | 0.5 |
Relative major/minor | 0.3 |
Parallel major/minor | 0.2 |
Other | 0.0 |