<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://music-ir.org/mirex/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Chestnut</id>
	<title>MIREX Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://music-ir.org/mirex/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Chestnut"/>
	<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/wiki/Special:Contributions/Chestnut"/>
	<updated>2026-04-13T19:51:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Beat_Tracking&amp;diff=14669</id>
		<title>2025:Audio Beat Tracking</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Beat_Tracking&amp;diff=14669"/>
		<updated>2025-05-30T18:00:29Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
The text of this section was copied from the 2012 Wiki.&lt;br /&gt;
&lt;br /&gt;
The aim of the automatic beat tracking task is to track each beat locations in a collection of sound files. Unlike the Audio Tempo Extraction task, which aim is to detect tempi for each file, the beat tracking task aims at detecting all beat locations in recordings. The algorithms will be evaluated in terms of their accuracy in predicting beat locations annotated by a group of listeners.&lt;br /&gt;
&lt;br /&gt;
== Dataset ==&lt;br /&gt;
=== Train Dataset ===&lt;br /&gt;
For the audio beat tracking task, we do not impose restrictions on the training data used by machine learning-based systems. However, all submissions must clearly state the specific training dataset(s) used in their extended abstract.&lt;br /&gt;
&lt;br /&gt;
=== Test Datasets ===&lt;br /&gt;
==== Ballroom Dataset ====&lt;br /&gt;
The Ballroom Dataset contains 685 short excerpts (30 seconds each) from various ballroom dance genres, such as Waltz, Tango, Rumba, and Jive. Each excerpt includes annotated beat and meter information, making the dataset ideal for evaluating beat tracking and tempo estimation methods in rhythmically regular dance music.&lt;br /&gt;
&lt;br /&gt;
==== Hainsworth Dataset ====&lt;br /&gt;
The Hainsworth Dataset offers 222 music excerpts covering a wide range of genres, including classical, jazz, and popular music. Annotations include both beat and downbeat locations, providing a varied testing ground for assessing the performance of beat tracking systems across different musical styles.&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
The beat tracking algorithms will return beat-times in an ASCII text file for each input .wav audio file. The specification of this output file is immediately below.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Beat tracking) ===&lt;br /&gt;
&lt;br /&gt;
The Beat Tracking output file format is an ASCII text format. Each beat time is specified, in seconds, on its own line. Specifically, &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;beat time(in seconds)&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 0.243&lt;br /&gt;
 0.486&lt;br /&gt;
 0.729&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
The submitted algorithm must take as arguments a SINGLE .wav file to perform the onset detection 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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, such as a detection threshold, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== README File ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with different values for parameters param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;br /&gt;
 foobar -param1 .15 -i %input -o %output&lt;br /&gt;
 foobar -param1 .2 -i %input -o %output&lt;br /&gt;
 foobar -param1 .25 -i %input -o %output&lt;br /&gt;
 foobar -param1 .3 -i %input -o %output&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
For a submission using MATLAB, the README file could look like:&lt;br /&gt;
&lt;br /&gt;
 matlab -r &amp;quot;foobar(.1,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.15,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.2,'%input','%output');quit;&amp;quot; &lt;br /&gt;
 matlab -r &amp;quot;foobar(.25,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.3,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The different command lines to evaluate the performance of each parameter set over the whole database will be generated automatically from each line in the README file containing both '%input' and '%output' strings.&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
&lt;br /&gt;
The evaluation methods are taken from the beat evaluation toolbox and&lt;br /&gt;
are described in the following technical report: &lt;br /&gt;
&lt;br /&gt;
 M. E. P. Davies, N. Degara and M. D. Plumbley. &amp;quot;Evaluation methods for musical audio beat tracking algorithms&amp;quot;. [http://www.elec.qmul.ac.uk/people/markp/2009/DaviesDegaraPlumbley09-evaluation-tr.pdf ''Technical Report C4DM-TR-09-06'']. This link now works! :)&lt;br /&gt;
&lt;br /&gt;
For further details on the specifics of the methods please refer to the&lt;br /&gt;
paper. However, here is a brief summary with appropriate references:&lt;br /&gt;
&lt;br /&gt;
*'''F-measure''' - the standard calculation as used in onset evaluation but&lt;br /&gt;
with a 70ms window. &lt;br /&gt;
&lt;br /&gt;
 S. Dixon, &amp;quot;Onset detection revisited,&amp;quot; in ''Proceedings of 9th&lt;br /&gt;
 International Conference on Digital Audio Effects (DAFx)'', Montreal,&lt;br /&gt;
 Canada, pp. 133-137, 2006.&lt;br /&gt;
&lt;br /&gt;
 S. Dixon, &amp;quot;Evaluation of audio beat tracking system beatroot,&amp;quot; ''Journal&lt;br /&gt;
 of New Music Research'', vol. 36, no. 1, pp. 39-51, 2007.&lt;br /&gt;
&lt;br /&gt;
*'''Cemgil''' - beat accuracy is calculated using a Gaussian error function&lt;br /&gt;
with 40ms standard deviation.&lt;br /&gt;
&lt;br /&gt;
 A. T. Cemgil, B. Kappen, P. Desain, and H. Honing, &amp;quot;On tempo tracking:&lt;br /&gt;
 Tempogram representation and Kalman filtering,&amp;quot; ''Journal Of New Music&lt;br /&gt;
 Research'', vol. 28, no. 4, pp. 259-273, 2001&lt;br /&gt;
 &lt;br /&gt;
*'''Goto''' - binary decision of correct or incorrect tracking based on&lt;br /&gt;
statistical properties of a beat error sequence.&lt;br /&gt;
&lt;br /&gt;
 M. Goto and Y. Muraoka, &amp;quot;Issues in evaluating beat tracking systems,&amp;quot; in&lt;br /&gt;
 ''Working Notes of the IJCAI-97 Workshop on Issues in AI and Music -&lt;br /&gt;
 Evaluation and Assessment'', 1997, pp. 9-16.&lt;br /&gt;
&lt;br /&gt;
*'''PScore''' - McKinney's impulse train cross-correlation method as used in&lt;br /&gt;
2006.&lt;br /&gt;
&lt;br /&gt;
 M. F. McKinney, D. Moelants, M. E. P. Davies, and A. Klapuri,&lt;br /&gt;
 &amp;quot;Evaluation of audio beat tracking and music tempo extraction&lt;br /&gt;
 algorithms,&amp;quot; ''Journal of New Music Research'', vol. 36, no. 1, pp. 1-16,&lt;br /&gt;
 2007.&lt;br /&gt;
&lt;br /&gt;
*'''CMLc''', '''CMLt''', '''AMLc''', '''AMLt''' - continuity-based evaluation methods based on&lt;br /&gt;
the longest continuously correctly tracked section. &lt;br /&gt;
&lt;br /&gt;
 S. Hainsworth, &amp;quot;Techniques for the automated analysis of musical audio,&amp;quot;&lt;br /&gt;
 Ph.D. dissertation, Department of Engineering, Cambridge University,&lt;br /&gt;
 2004.&lt;br /&gt;
&lt;br /&gt;
 A. P. Klapuri, A. Eronen, and J. Astola, &amp;quot;Analysis of the meter of&lt;br /&gt;
 acoustic musical signals,&amp;quot; IEEE Transactions on Audio, Speech and&lt;br /&gt;
 Language Processing, vol. 14, no. 1, pp. 342-355, 2006.&lt;br /&gt;
&lt;br /&gt;
*'''D''', '''Dg''' - information based criteria based on analysis of a beat error&lt;br /&gt;
histogram (note the results are measured in 'bits' and not percentages),&lt;br /&gt;
see the technical report for a description.&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Beat_Tracking&amp;diff=14668</id>
		<title>2025:Audio Beat Tracking</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Beat_Tracking&amp;diff=14668"/>
		<updated>2025-05-30T17:43:01Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
The text of this section was copied from the 2012 Wiki.&lt;br /&gt;
&lt;br /&gt;
The aim of the automatic beat tracking task is to track each beat locations in a collection of sound files. Unlike the Audio Tempo Extraction task, which aim is to detect tempi for each file, the beat tracking task aims at detecting all beat locations in recordings. The algorithms will be evaluated in terms of their accuracy in predicting beat locations annotated by a group of listeners.&lt;br /&gt;
&lt;br /&gt;
== Dataset ==&lt;br /&gt;
=== Train Dataset ===&lt;br /&gt;
For the audio beat tracking task, we do not impose restrictions on the training data used by machine learning-based systems. However, all submissions must clearly state the specific training dataset(s) used in their extended abstract.&lt;br /&gt;
&lt;br /&gt;
=== Test Datasets ===&lt;br /&gt;
==== TBA ====&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
==== TBA ====&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
The beat tracking algorithms will return beat-times in an ASCII text file for each input .wav audio file. The specification of this output file is immediately below.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Beat tracking) ===&lt;br /&gt;
&lt;br /&gt;
The Beat Tracking output file format is an ASCII text format. Each beat time is specified, in seconds, on its own line. Specifically, &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;beat time(in seconds)&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 0.243&lt;br /&gt;
 0.486&lt;br /&gt;
 0.729&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
The submitted algorithm must take as arguments a SINGLE .wav file to perform the onset detection 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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, such as a detection threshold, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== README File ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with different values for parameters param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;br /&gt;
 foobar -param1 .15 -i %input -o %output&lt;br /&gt;
 foobar -param1 .2 -i %input -o %output&lt;br /&gt;
 foobar -param1 .25 -i %input -o %output&lt;br /&gt;
 foobar -param1 .3 -i %input -o %output&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
For a submission using MATLAB, the README file could look like:&lt;br /&gt;
&lt;br /&gt;
 matlab -r &amp;quot;foobar(.1,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.15,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.2,'%input','%output');quit;&amp;quot; &lt;br /&gt;
 matlab -r &amp;quot;foobar(.25,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.3,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The different command lines to evaluate the performance of each parameter set over the whole database will be generated automatically from each line in the README file containing both '%input' and '%output' strings.&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
&lt;br /&gt;
The evaluation methods are taken from the beat evaluation toolbox and&lt;br /&gt;
are described in the following technical report: &lt;br /&gt;
&lt;br /&gt;
 M. E. P. Davies, N. Degara and M. D. Plumbley. &amp;quot;Evaluation methods for musical audio beat tracking algorithms&amp;quot;. [http://www.elec.qmul.ac.uk/people/markp/2009/DaviesDegaraPlumbley09-evaluation-tr.pdf ''Technical Report C4DM-TR-09-06'']. This link now works! :)&lt;br /&gt;
&lt;br /&gt;
For further details on the specifics of the methods please refer to the&lt;br /&gt;
paper. However, here is a brief summary with appropriate references:&lt;br /&gt;
&lt;br /&gt;
*'''F-measure''' - the standard calculation as used in onset evaluation but&lt;br /&gt;
with a 70ms window. &lt;br /&gt;
&lt;br /&gt;
 S. Dixon, &amp;quot;Onset detection revisited,&amp;quot; in ''Proceedings of 9th&lt;br /&gt;
 International Conference on Digital Audio Effects (DAFx)'', Montreal,&lt;br /&gt;
 Canada, pp. 133-137, 2006.&lt;br /&gt;
&lt;br /&gt;
 S. Dixon, &amp;quot;Evaluation of audio beat tracking system beatroot,&amp;quot; ''Journal&lt;br /&gt;
 of New Music Research'', vol. 36, no. 1, pp. 39-51, 2007.&lt;br /&gt;
&lt;br /&gt;
*'''Cemgil''' - beat accuracy is calculated using a Gaussian error function&lt;br /&gt;
with 40ms standard deviation.&lt;br /&gt;
&lt;br /&gt;
 A. T. Cemgil, B. Kappen, P. Desain, and H. Honing, &amp;quot;On tempo tracking:&lt;br /&gt;
 Tempogram representation and Kalman filtering,&amp;quot; ''Journal Of New Music&lt;br /&gt;
 Research'', vol. 28, no. 4, pp. 259-273, 2001&lt;br /&gt;
 &lt;br /&gt;
*'''Goto''' - binary decision of correct or incorrect tracking based on&lt;br /&gt;
statistical properties of a beat error sequence.&lt;br /&gt;
&lt;br /&gt;
 M. Goto and Y. Muraoka, &amp;quot;Issues in evaluating beat tracking systems,&amp;quot; in&lt;br /&gt;
 ''Working Notes of the IJCAI-97 Workshop on Issues in AI and Music -&lt;br /&gt;
 Evaluation and Assessment'', 1997, pp. 9-16.&lt;br /&gt;
&lt;br /&gt;
*'''PScore''' - McKinney's impulse train cross-correlation method as used in&lt;br /&gt;
2006.&lt;br /&gt;
&lt;br /&gt;
 M. F. McKinney, D. Moelants, M. E. P. Davies, and A. Klapuri,&lt;br /&gt;
 &amp;quot;Evaluation of audio beat tracking and music tempo extraction&lt;br /&gt;
 algorithms,&amp;quot; ''Journal of New Music Research'', vol. 36, no. 1, pp. 1-16,&lt;br /&gt;
 2007.&lt;br /&gt;
&lt;br /&gt;
*'''CMLc''', '''CMLt''', '''AMLc''', '''AMLt''' - continuity-based evaluation methods based on&lt;br /&gt;
the longest continuously correctly tracked section. &lt;br /&gt;
&lt;br /&gt;
 S. Hainsworth, &amp;quot;Techniques for the automated analysis of musical audio,&amp;quot;&lt;br /&gt;
 Ph.D. dissertation, Department of Engineering, Cambridge University,&lt;br /&gt;
 2004.&lt;br /&gt;
&lt;br /&gt;
 A. P. Klapuri, A. Eronen, and J. Astola, &amp;quot;Analysis of the meter of&lt;br /&gt;
 acoustic musical signals,&amp;quot; IEEE Transactions on Audio, Speech and&lt;br /&gt;
 Language Processing, vol. 14, no. 1, pp. 342-355, 2006.&lt;br /&gt;
&lt;br /&gt;
*'''D''', '''Dg''' - information based criteria based on analysis of a beat error&lt;br /&gt;
histogram (note the results are measured in 'bits' and not percentages),&lt;br /&gt;
see the technical report for a description.&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Beat_Tracking&amp;diff=14667</id>
		<title>2025:Audio Beat Tracking</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Beat_Tracking&amp;diff=14667"/>
		<updated>2025-05-30T17:42:01Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: /* Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
The text of this section was copied from the 2012 Wiki.&lt;br /&gt;
&lt;br /&gt;
The aim of the automatic beat tracking task is to track each beat locations in a collection of sound files. Unlike the Audio Tempo Extraction task, which aim is to detect tempi for each file, the beat tracking task aims at detecting all beat locations in recordings. The algorithms will be evaluated in terms of their accuracy in predicting beat locations annotated by a group of listeners.&lt;br /&gt;
&lt;br /&gt;
== Dataset ==&lt;br /&gt;
=== Train Dataset ===&lt;br /&gt;
For the audio beat tracking task, we do not impose restrictions on the training data used by machine learning-based systems. However, all submissions must clearly state the specific training dataset(s) used in their extended abstract.&lt;br /&gt;
&lt;br /&gt;
=== Test Datasets ===&lt;br /&gt;
==== TBA ====&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
==== TBA ====&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
The beat tracking algorithms will return beat-times in an ASCII text file for each input .wav audio file. The specification of this output file is immediately below.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Beat tracking) ===&lt;br /&gt;
&lt;br /&gt;
The Beat Tracking output file format is an ASCII text format. Each beat time is specified, in seconds, on its own line. Specifically, &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;beat time(in seconds)&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 0.243&lt;br /&gt;
 0.486&lt;br /&gt;
 0.729&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
The submitted algorithm must take as arguments a SINGLE .wav file to perform the onset detection 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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, such as a detection threshold, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== README File ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with different values for parameters param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;br /&gt;
 foobar -param1 .15 -i %input -o %output&lt;br /&gt;
 foobar -param1 .2 -i %input -o %output&lt;br /&gt;
 foobar -param1 .25 -i %input -o %output&lt;br /&gt;
 foobar -param1 .3 -i %input -o %output&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
For a submission using MATLAB, the README file could look like:&lt;br /&gt;
&lt;br /&gt;
 matlab -r &amp;quot;foobar(.1,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.15,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.2,'%input','%output');quit;&amp;quot; &lt;br /&gt;
 matlab -r &amp;quot;foobar(.25,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.3,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The different command lines to evaluate the performance of each parameter set over the whole database will be generated automatically from each line in the README file containing both '%input' and '%output' strings.&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
&lt;br /&gt;
The evaluation methods are taken from the beat evaluation toolbox and&lt;br /&gt;
are described in the following technical report: &lt;br /&gt;
&lt;br /&gt;
 M. E. P. Davies, N. Degara and M. D. Plumbley. &amp;quot;Evaluation methods for musical audio beat tracking algorithms&amp;quot;. [http://www.elec.qmul.ac.uk/people/markp/2009/DaviesDegaraPlumbley09-evaluation-tr.pdf ''Technical Report C4DM-TR-09-06'']. This link now works! :)&lt;br /&gt;
&lt;br /&gt;
For further details on the specifics of the methods please refer to the&lt;br /&gt;
paper. However, here is a brief summary with appropriate references:&lt;br /&gt;
&lt;br /&gt;
*'''F-measure''' - the standard calculation as used in onset evaluation but&lt;br /&gt;
with a 70ms window. &lt;br /&gt;
&lt;br /&gt;
 S. Dixon, &amp;quot;Onset detection revisited,&amp;quot; in ''Proceedings of 9th&lt;br /&gt;
 International Conference on Digital Audio Effects (DAFx)'', Montreal,&lt;br /&gt;
 Canada, pp. 133-137, 2006.&lt;br /&gt;
&lt;br /&gt;
 S. Dixon, &amp;quot;Evaluation of audio beat tracking system beatroot,&amp;quot; ''Journal&lt;br /&gt;
 of New Music Research'', vol. 36, no. 1, pp. 39-51, 2007.&lt;br /&gt;
&lt;br /&gt;
*'''Cemgil''' - beat accuracy is calculated using a Gaussian error function&lt;br /&gt;
with 40ms standard deviation.&lt;br /&gt;
&lt;br /&gt;
 A. T. Cemgil, B. Kappen, P. Desain, and H. Honing, &amp;quot;On tempo tracking:&lt;br /&gt;
 Tempogram representation and Kalman filtering,&amp;quot; ''Journal Of New Music&lt;br /&gt;
 Research'', vol. 28, no. 4, pp. 259-273, 2001&lt;br /&gt;
 &lt;br /&gt;
*'''Goto''' - binary decision of correct or incorrect tracking based on&lt;br /&gt;
statistical properties of a beat error sequence.&lt;br /&gt;
&lt;br /&gt;
 M. Goto and Y. Muraoka, &amp;quot;Issues in evaluating beat tracking systems,&amp;quot; in&lt;br /&gt;
 ''Working Notes of the IJCAI-97 Workshop on Issues in AI and Music -&lt;br /&gt;
 Evaluation and Assessment'', 1997, pp. 9-16.&lt;br /&gt;
&lt;br /&gt;
*'''PScore''' - McKinney's impulse train cross-correlation method as used in&lt;br /&gt;
2006.&lt;br /&gt;
&lt;br /&gt;
 M. F. McKinney, D. Moelants, M. E. P. Davies, and A. Klapuri,&lt;br /&gt;
 &amp;quot;Evaluation of audio beat tracking and music tempo extraction&lt;br /&gt;
 algorithms,&amp;quot; ''Journal of New Music Research'', vol. 36, no. 1, pp. 1-16,&lt;br /&gt;
 2007.&lt;br /&gt;
&lt;br /&gt;
*'''CMLc''', '''CMLt''', '''AMLc''', '''AMLt''' - continuity-based evaluation methods based on&lt;br /&gt;
the longest continuously correctly tracked section. &lt;br /&gt;
&lt;br /&gt;
 S. Hainsworth, &amp;quot;Techniques for the automated analysis of musical audio,&amp;quot;&lt;br /&gt;
 Ph.D. dissertation, Department of Engineering, Cambridge University,&lt;br /&gt;
 2004.&lt;br /&gt;
&lt;br /&gt;
 A. P. Klapuri, A. Eronen, and J. Astola, &amp;quot;Analysis of the meter of&lt;br /&gt;
 acoustic musical signals,&amp;quot; IEEE Transactions on Audio, Speech and&lt;br /&gt;
 Language Processing, vol. 14, no. 1, pp. 342-355, 2006.&lt;br /&gt;
&lt;br /&gt;
*'''D''', '''Dg''' - information based criteria based on analysis of a beat error&lt;br /&gt;
histogram (note the results are measured in 'bits' and not percentages),&lt;br /&gt;
see the technical report for a description.&lt;br /&gt;
&lt;br /&gt;
== Relevant Development Collections (need update) ==&lt;br /&gt;
You can find it here:&lt;br /&gt;
&lt;br /&gt;
(data has been uploaded in both .tgz and .zip format)&lt;br /&gt;
&lt;br /&gt;
''User: beattrack Password: b34trx''&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/beat/beattrack_train_2006.tgz OR&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/beat/beattrack_train_2006.zip&lt;br /&gt;
&lt;br /&gt;
''User: tempo Password: t3mp0''&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/tempo/tempo_train_2006.tgz OR&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/tempo/tempo_train_2006.zip&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Beat_Tracking&amp;diff=14666</id>
		<title>2025:Audio Beat Tracking</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Beat_Tracking&amp;diff=14666"/>
		<updated>2025-05-30T17:21:20Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
The text of this section was copied from the 2012 Wiki.&lt;br /&gt;
&lt;br /&gt;
The aim of the automatic beat tracking task is to track each beat locations in a collection of sound files. Unlike the Audio Tempo Extraction task, which aim is to detect tempi for each file, the beat tracking task aims at detecting all beat locations in recordings. The algorithms will be evaluated in terms of their accuracy in predicting beat locations annotated by a group of listeners.&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
=== Collections ===&lt;br /&gt;
The original 2006 dataset contains 160 30-second excerpts (WAV format) used for the Audio Tempo and Beat contests in 2006.  Beat locations have been annotated in each excerpt by 40 different listeners (39 listeners for a few excerpts. The length of each excerpt is 30 seconds. These audio recordings were selected to provide a stable tempo value, a wide distribution of tempi values, and a large variety of instrumentation and musical styles. About 20% of the files contain non-binary meters, and a small number of examples contain changing meters.  One disadvantage of using this set for beat tracking is that the tempi are rather stable and this set will not test beat-tracking algorithms in their ability to track tempo changes.&lt;br /&gt;
&lt;br /&gt;
The second collection is comprised of 367 Chopin Mazurkas, represented as full audio tracks (WAV format). The Mazurka dataset contains tempo changes so it will evaluate the ability of algorithms to track these.&lt;br /&gt;
&lt;br /&gt;
The third collection was assembled and donated in 2012. This dataset contains 217 excerpts around 40s each, of which 19 are &amp;quot;easy&amp;quot; and the remaining 198 are &amp;quot;hard&amp;quot;. The harder excerpts were drawn from the following musical styles: Romantic music, ﬁlm soundtracks, blues, chanson and solo guitar. &lt;br /&gt;
&lt;br /&gt;
This dataset has been designed for radically new techniques which can contend with challenging beat tracking situations like: quiet accompaniment, expressive timing, changes in time signature, slow tempo, poor sound quality etc. So, if your beat tracker likes a 4/4 time-signature with a steady tempo and needs clear percussive onsets, don't expect it to do very well!&lt;br /&gt;
But don't be deterred, this is for the good of beat tracking. &lt;br /&gt;
&lt;br /&gt;
You can read in detail about how the dataset was made here:&lt;br /&gt;
[http://dx.doi.org/10.1109/TASL.2012.2205244 ''Selective Sampling for Beat Tracking Evaluation'']&lt;br /&gt;
&lt;br /&gt;
The dataset can be found under the [[#Relevant Development Collections| Relevant Development Collections]]&lt;br /&gt;
&lt;br /&gt;
=== Audio Formats ===&lt;br /&gt;
&lt;br /&gt;
The data are monophonic sound files, with the associated onset times and data about the annotation robustness.&lt;br /&gt;
&lt;br /&gt;
* CD-quality (PCM, 16-bit, 44100 Hz)&lt;br /&gt;
* single channel (mono)&lt;br /&gt;
* file length between 2 and 36 seconds (total time: 14 minutes) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
The beat tracking algorithms will return beat-times in an ASCII text file for each input .wav audio file. The specification of this output file is immediately below.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Beat tracking) ===&lt;br /&gt;
&lt;br /&gt;
The Beat Tracking output file format is an ASCII text format. Each beat time is specified, in seconds, on its own line. Specifically, &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;beat time(in seconds)&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 0.243&lt;br /&gt;
 0.486&lt;br /&gt;
 0.729&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
The submitted algorithm must take as arguments a SINGLE .wav file to perform the onset detection 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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, such as a detection threshold, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== README File ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with different values for parameters param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;br /&gt;
 foobar -param1 .15 -i %input -o %output&lt;br /&gt;
 foobar -param1 .2 -i %input -o %output&lt;br /&gt;
 foobar -param1 .25 -i %input -o %output&lt;br /&gt;
 foobar -param1 .3 -i %input -o %output&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
For a submission using MATLAB, the README file could look like:&lt;br /&gt;
&lt;br /&gt;
 matlab -r &amp;quot;foobar(.1,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.15,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.2,'%input','%output');quit;&amp;quot; &lt;br /&gt;
 matlab -r &amp;quot;foobar(.25,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.3,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The different command lines to evaluate the performance of each parameter set over the whole database will be generated automatically from each line in the README file containing both '%input' and '%output' strings.&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
&lt;br /&gt;
The evaluation methods are taken from the beat evaluation toolbox and&lt;br /&gt;
are described in the following technical report: &lt;br /&gt;
&lt;br /&gt;
 M. E. P. Davies, N. Degara and M. D. Plumbley. &amp;quot;Evaluation methods for musical audio beat tracking algorithms&amp;quot;. [http://www.elec.qmul.ac.uk/people/markp/2009/DaviesDegaraPlumbley09-evaluation-tr.pdf ''Technical Report C4DM-TR-09-06'']. This link now works! :)&lt;br /&gt;
&lt;br /&gt;
For further details on the specifics of the methods please refer to the&lt;br /&gt;
paper. However, here is a brief summary with appropriate references:&lt;br /&gt;
&lt;br /&gt;
*'''F-measure''' - the standard calculation as used in onset evaluation but&lt;br /&gt;
with a 70ms window. &lt;br /&gt;
&lt;br /&gt;
 S. Dixon, &amp;quot;Onset detection revisited,&amp;quot; in ''Proceedings of 9th&lt;br /&gt;
 International Conference on Digital Audio Effects (DAFx)'', Montreal,&lt;br /&gt;
 Canada, pp. 133-137, 2006.&lt;br /&gt;
&lt;br /&gt;
 S. Dixon, &amp;quot;Evaluation of audio beat tracking system beatroot,&amp;quot; ''Journal&lt;br /&gt;
 of New Music Research'', vol. 36, no. 1, pp. 39-51, 2007.&lt;br /&gt;
&lt;br /&gt;
*'''Cemgil''' - beat accuracy is calculated using a Gaussian error function&lt;br /&gt;
with 40ms standard deviation.&lt;br /&gt;
&lt;br /&gt;
 A. T. Cemgil, B. Kappen, P. Desain, and H. Honing, &amp;quot;On tempo tracking:&lt;br /&gt;
 Tempogram representation and Kalman filtering,&amp;quot; ''Journal Of New Music&lt;br /&gt;
 Research'', vol. 28, no. 4, pp. 259-273, 2001&lt;br /&gt;
 &lt;br /&gt;
*'''Goto''' - binary decision of correct or incorrect tracking based on&lt;br /&gt;
statistical properties of a beat error sequence.&lt;br /&gt;
&lt;br /&gt;
 M. Goto and Y. Muraoka, &amp;quot;Issues in evaluating beat tracking systems,&amp;quot; in&lt;br /&gt;
 ''Working Notes of the IJCAI-97 Workshop on Issues in AI and Music -&lt;br /&gt;
 Evaluation and Assessment'', 1997, pp. 9-16.&lt;br /&gt;
&lt;br /&gt;
*'''PScore''' - McKinney's impulse train cross-correlation method as used in&lt;br /&gt;
2006.&lt;br /&gt;
&lt;br /&gt;
 M. F. McKinney, D. Moelants, M. E. P. Davies, and A. Klapuri,&lt;br /&gt;
 &amp;quot;Evaluation of audio beat tracking and music tempo extraction&lt;br /&gt;
 algorithms,&amp;quot; ''Journal of New Music Research'', vol. 36, no. 1, pp. 1-16,&lt;br /&gt;
 2007.&lt;br /&gt;
&lt;br /&gt;
*'''CMLc''', '''CMLt''', '''AMLc''', '''AMLt''' - continuity-based evaluation methods based on&lt;br /&gt;
the longest continuously correctly tracked section. &lt;br /&gt;
&lt;br /&gt;
 S. Hainsworth, &amp;quot;Techniques for the automated analysis of musical audio,&amp;quot;&lt;br /&gt;
 Ph.D. dissertation, Department of Engineering, Cambridge University,&lt;br /&gt;
 2004.&lt;br /&gt;
&lt;br /&gt;
 A. P. Klapuri, A. Eronen, and J. Astola, &amp;quot;Analysis of the meter of&lt;br /&gt;
 acoustic musical signals,&amp;quot; IEEE Transactions on Audio, Speech and&lt;br /&gt;
 Language Processing, vol. 14, no. 1, pp. 342-355, 2006.&lt;br /&gt;
&lt;br /&gt;
*'''D''', '''Dg''' - information based criteria based on analysis of a beat error&lt;br /&gt;
histogram (note the results are measured in 'bits' and not percentages),&lt;br /&gt;
see the technical report for a description.&lt;br /&gt;
&lt;br /&gt;
== Relevant Development Collections (need update) ==&lt;br /&gt;
You can find it here:&lt;br /&gt;
&lt;br /&gt;
(data has been uploaded in both .tgz and .zip format)&lt;br /&gt;
&lt;br /&gt;
''User: beattrack Password: b34trx''&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/beat/beattrack_train_2006.tgz OR&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/beat/beattrack_train_2006.zip&lt;br /&gt;
&lt;br /&gt;
''User: tempo Password: t3mp0''&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/tempo/tempo_train_2006.tgz OR&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/tempo/tempo_train_2006.zip&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14665</id>
		<title>2025:Audio Key Detection</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14665"/>
		<updated>2025-05-30T17:17:29Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: /* Dataset */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
Audio Key Detection aims to identify the musical key (e.g., C major, A minor) of an audio recording. This involves determining both the tonic (root pitch) and the mode (major or minor) from the audio signal.&lt;br /&gt;
&lt;br /&gt;
== Dataset ==&lt;br /&gt;
=== Train Dataset ===&lt;br /&gt;
For the audio key detection task, we do not impose restrictions on the training data used by machine learning-based systems. However, all submissions must clearly state the specific training dataset(s) used in their extended abstract.&lt;br /&gt;
&lt;br /&gt;
=== Test Datasets ===&lt;br /&gt;
==== GiantSteps Key Dataset ====&lt;br /&gt;
The GiantSteps Key Dataset comprises 604 two-minute excerpts of electronic dance music tracks, primarily sourced from Beatport. Each excerpt is annotated with one of 24 musical keys—12 major and 12 minor—providing a standardized benchmark for evaluating key classification performance.&lt;br /&gt;
&lt;br /&gt;
==== Isophonics Dataset ====&lt;br /&gt;
The Isophonics Dataset includes 225 songs from artists such as The Beatles, Queen, and Zweieck. Each track is annotated with key, chord, beat, and structural segmentation information, offering a comprehensive resource for evaluating key detection algorithms across a diverse range of popular music.&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
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 &amp;quot;close&amp;quot; each identified key is to the corresponding correct key. Keys will be considered as &amp;quot;close&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Relation to Correct Key''' ||'''Points'''&lt;br /&gt;
|-&lt;br /&gt;
|Same||1.0&lt;br /&gt;
|-&lt;br /&gt;
|Perfect fifth||0.5&lt;br /&gt;
|-&lt;br /&gt;
|Relative major/minor||0.3&lt;br /&gt;
|-&lt;br /&gt;
|Parallel major/minor||0.2&lt;br /&gt;
|-&lt;br /&gt;
|Other||0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The points are counted over all files and averaged. The number of correctly identified keys as well as the distribution of the errors is also reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Key Detection) ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;#&amp;quot; symbol is used (e.g. A# for A sharp), for flats, a lowercase &amp;quot;b&amp;quot; is used, e.g. (Bb for B flat). Therefore, the output file should be of the form:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tonic {A, A#, Bb, ...}&amp;gt;\t&amp;lt;mode {major, minor}&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \t denotes a tab, \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 C    major&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 G#   minor&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Packaging submissions ===&lt;br /&gt;
&lt;br /&gt;
All submissions should include a README file including the following the information:&lt;br /&gt;
&lt;br /&gt;
* Command line calling format for all executables including examples&lt;br /&gt;
* Number of threads/cores used or whether this should be specified on the command line&lt;br /&gt;
* Expected memory footprint&lt;br /&gt;
* Expected runtime&lt;br /&gt;
* Approximately how much scratch disk space will the submission need to store any feature/cache files?&lt;br /&gt;
* Any required environments/architectures (and versions) such as Matlab, Java, Python, Bash, Ruby etc.&lt;br /&gt;
* Any special notice regarding to running your algorithm&lt;br /&gt;
&lt;br /&gt;
Note that the information that you place in the README file is '''extremely''' important in ensuring that your submission is evaluated properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== README File ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with a specific value for parameter param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14664</id>
		<title>2025:Audio Key Detection</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14664"/>
		<updated>2025-05-30T17:16:32Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: /* Dataset */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
Audio Key Detection aims to identify the musical key (e.g., C major, A minor) of an audio recording. This involves determining both the tonic (root pitch) and the mode (major or minor) from the audio signal.&lt;br /&gt;
&lt;br /&gt;
== Dataset ==&lt;br /&gt;
=== Train Dataset ===&lt;br /&gt;
For the audio key detection task, we do not impose restrictions on the training data used by machine learning-based systems. However, all submissions must clearly state the specific training dataset(s) used in their extended abstract.&lt;br /&gt;
&lt;br /&gt;
=== Test Datasets ===&lt;br /&gt;
GiantSteps Key Dataset&lt;br /&gt;
The GiantSteps Key Dataset comprises 604 two-minute excerpts of electronic dance music tracks, primarily sourced from Beatport. Each excerpt is annotated with one of 24 musical keys—12 major and 12 minor—providing a standardized benchmark for evaluating key classification performance.&lt;br /&gt;
&lt;br /&gt;
Isophonics Dataset&lt;br /&gt;
The Isophonics Dataset includes 225 songs from artists such as The Beatles, Queen, and Zweieck. Each track is annotated with key, chord, beat, and structural segmentation information, offering a comprehensive resource for evaluating key detection algorithms across a diverse range of popular music.&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
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 &amp;quot;close&amp;quot; each identified key is to the corresponding correct key. Keys will be considered as &amp;quot;close&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Relation to Correct Key''' ||'''Points'''&lt;br /&gt;
|-&lt;br /&gt;
|Same||1.0&lt;br /&gt;
|-&lt;br /&gt;
|Perfect fifth||0.5&lt;br /&gt;
|-&lt;br /&gt;
|Relative major/minor||0.3&lt;br /&gt;
|-&lt;br /&gt;
|Parallel major/minor||0.2&lt;br /&gt;
|-&lt;br /&gt;
|Other||0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The points are counted over all files and averaged. The number of correctly identified keys as well as the distribution of the errors is also reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Key Detection) ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;#&amp;quot; symbol is used (e.g. A# for A sharp), for flats, a lowercase &amp;quot;b&amp;quot; is used, e.g. (Bb for B flat). Therefore, the output file should be of the form:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tonic {A, A#, Bb, ...}&amp;gt;\t&amp;lt;mode {major, minor}&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \t denotes a tab, \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 C    major&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 G#   minor&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Packaging submissions ===&lt;br /&gt;
&lt;br /&gt;
All submissions should include a README file including the following the information:&lt;br /&gt;
&lt;br /&gt;
* Command line calling format for all executables including examples&lt;br /&gt;
* Number of threads/cores used or whether this should be specified on the command line&lt;br /&gt;
* Expected memory footprint&lt;br /&gt;
* Expected runtime&lt;br /&gt;
* Approximately how much scratch disk space will the submission need to store any feature/cache files?&lt;br /&gt;
* Any required environments/architectures (and versions) such as Matlab, Java, Python, Bash, Ruby etc.&lt;br /&gt;
* Any special notice regarding to running your algorithm&lt;br /&gt;
&lt;br /&gt;
Note that the information that you place in the README file is '''extremely''' important in ensuring that your submission is evaluated properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== README File ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with a specific value for parameter param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14663</id>
		<title>2025:Audio Key Detection</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14663"/>
		<updated>2025-05-30T17:09:22Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: /* Dataset */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
Audio Key Detection aims to identify the musical key (e.g., C major, A minor) of an audio recording. This involves determining both the tonic (root pitch) and the mode (major or minor) from the audio signal.&lt;br /&gt;
&lt;br /&gt;
== Dataset ==&lt;br /&gt;
=== Train Dataset ===&lt;br /&gt;
For the audio key detection task, we do not impose restrictions on the training data used by machine learning-based systems. However, all submissions must clearly state the specific training dataset(s) used in their extended abstract.&lt;br /&gt;
&lt;br /&gt;
=== Test Dataset ===&lt;br /&gt;
The test dataset for this year is the GiantSteps Key Dataset, which consists of 604 two-minute excerpts of electronic dance music tracks, originally sourced from Beatport. Each excerpt is annotated with one of 24 musical keys—12 major and 12 minor—serving as a standardized benchmark for evaluating key classification performance.&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
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 &amp;quot;close&amp;quot; each identified key is to the corresponding correct key. Keys will be considered as &amp;quot;close&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Relation to Correct Key''' ||'''Points'''&lt;br /&gt;
|-&lt;br /&gt;
|Same||1.0&lt;br /&gt;
|-&lt;br /&gt;
|Perfect fifth||0.5&lt;br /&gt;
|-&lt;br /&gt;
|Relative major/minor||0.3&lt;br /&gt;
|-&lt;br /&gt;
|Parallel major/minor||0.2&lt;br /&gt;
|-&lt;br /&gt;
|Other||0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The points are counted over all files and averaged. The number of correctly identified keys as well as the distribution of the errors is also reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Key Detection) ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;#&amp;quot; symbol is used (e.g. A# for A sharp), for flats, a lowercase &amp;quot;b&amp;quot; is used, e.g. (Bb for B flat). Therefore, the output file should be of the form:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tonic {A, A#, Bb, ...}&amp;gt;\t&amp;lt;mode {major, minor}&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \t denotes a tab, \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 C    major&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 G#   minor&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Packaging submissions ===&lt;br /&gt;
&lt;br /&gt;
All submissions should include a README file including the following the information:&lt;br /&gt;
&lt;br /&gt;
* Command line calling format for all executables including examples&lt;br /&gt;
* Number of threads/cores used or whether this should be specified on the command line&lt;br /&gt;
* Expected memory footprint&lt;br /&gt;
* Expected runtime&lt;br /&gt;
* Approximately how much scratch disk space will the submission need to store any feature/cache files?&lt;br /&gt;
* Any required environments/architectures (and versions) such as Matlab, Java, Python, Bash, Ruby etc.&lt;br /&gt;
* Any special notice regarding to running your algorithm&lt;br /&gt;
&lt;br /&gt;
Note that the information that you place in the README file is '''extremely''' important in ensuring that your submission is evaluated properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== README File ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with a specific value for parameter param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14662</id>
		<title>2025:Audio Key Detection</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14662"/>
		<updated>2025-05-30T17:08:57Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: /* Train Dataset */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
Audio Key Detection aims to identify the musical key (e.g., C major, A minor) of an audio recording. This involves determining both the tonic (root pitch) and the mode (major or minor) from the audio signal.&lt;br /&gt;
&lt;br /&gt;
== Dataset ==&lt;br /&gt;
=== Train Dataset ===&lt;br /&gt;
For the audio key detection task, we do not impose restrictions on the training data used by machine learning-based systems. However, all submissions must clearly state the specific training dataset(s) used in their extended abstract.&lt;br /&gt;
&lt;br /&gt;
=== Test Dataset ===&lt;br /&gt;
The test dataset for this year is the GiantSteps Key Dataset, which consists of 604 two-minute excerpts of electronic dance music tracks, originally sourced from Beatport. Each excerpt is annotated with one of 24 musical keys—12 major and 12 minor—serving as a standardized benchmark for evaluating key classification performance.&lt;br /&gt;
&lt;br /&gt;
=== Audio Formats ===&lt;br /&gt;
&lt;br /&gt;
* CD-quality (PCM, 16-bit, 44100 Hz)&lt;br /&gt;
* single channel (mono)&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
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 &amp;quot;close&amp;quot; each identified key is to the corresponding correct key. Keys will be considered as &amp;quot;close&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Relation to Correct Key''' ||'''Points'''&lt;br /&gt;
|-&lt;br /&gt;
|Same||1.0&lt;br /&gt;
|-&lt;br /&gt;
|Perfect fifth||0.5&lt;br /&gt;
|-&lt;br /&gt;
|Relative major/minor||0.3&lt;br /&gt;
|-&lt;br /&gt;
|Parallel major/minor||0.2&lt;br /&gt;
|-&lt;br /&gt;
|Other||0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The points are counted over all files and averaged. The number of correctly identified keys as well as the distribution of the errors is also reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Key Detection) ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;#&amp;quot; symbol is used (e.g. A# for A sharp), for flats, a lowercase &amp;quot;b&amp;quot; is used, e.g. (Bb for B flat). Therefore, the output file should be of the form:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tonic {A, A#, Bb, ...}&amp;gt;\t&amp;lt;mode {major, minor}&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \t denotes a tab, \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 C    major&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 G#   minor&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Packaging submissions ===&lt;br /&gt;
&lt;br /&gt;
All submissions should include a README file including the following the information:&lt;br /&gt;
&lt;br /&gt;
* Command line calling format for all executables including examples&lt;br /&gt;
* Number of threads/cores used or whether this should be specified on the command line&lt;br /&gt;
* Expected memory footprint&lt;br /&gt;
* Expected runtime&lt;br /&gt;
* Approximately how much scratch disk space will the submission need to store any feature/cache files?&lt;br /&gt;
* Any required environments/architectures (and versions) such as Matlab, Java, Python, Bash, Ruby etc.&lt;br /&gt;
* Any special notice regarding to running your algorithm&lt;br /&gt;
&lt;br /&gt;
Note that the information that you place in the README file is '''extremely''' important in ensuring that your submission is evaluated properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== README File ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with a specific value for parameter param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14661</id>
		<title>2025:Audio Key Detection</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14661"/>
		<updated>2025-05-30T17:08:27Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: /* Data (need update) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
Audio Key Detection aims to identify the musical key (e.g., C major, A minor) of an audio recording. This involves determining both the tonic (root pitch) and the mode (major or minor) from the audio signal.&lt;br /&gt;
&lt;br /&gt;
== Train Dataset ==&lt;br /&gt;
For the audio key detection task, we do not impose restrictions on the training data used by machine learning-based systems. However, all submissions must clearly state the specific training dataset(s) used in their extended abstract.&lt;br /&gt;
&lt;br /&gt;
=== Test Dataset ===&lt;br /&gt;
The test dataset for this year is the GiantSteps Key Dataset, which consists of 604 two-minute excerpts of electronic dance music tracks, originally sourced from Beatport. Each excerpt is annotated with one of 24 musical keys—12 major and 12 minor—serving as a standardized benchmark for evaluating key classification performance.&lt;br /&gt;
&lt;br /&gt;
=== Audio Formats ===&lt;br /&gt;
&lt;br /&gt;
* CD-quality (PCM, 16-bit, 44100 Hz)&lt;br /&gt;
* single channel (mono)&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
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 &amp;quot;close&amp;quot; each identified key is to the corresponding correct key. Keys will be considered as &amp;quot;close&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Relation to Correct Key''' ||'''Points'''&lt;br /&gt;
|-&lt;br /&gt;
|Same||1.0&lt;br /&gt;
|-&lt;br /&gt;
|Perfect fifth||0.5&lt;br /&gt;
|-&lt;br /&gt;
|Relative major/minor||0.3&lt;br /&gt;
|-&lt;br /&gt;
|Parallel major/minor||0.2&lt;br /&gt;
|-&lt;br /&gt;
|Other||0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The points are counted over all files and averaged. The number of correctly identified keys as well as the distribution of the errors is also reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Key Detection) ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;#&amp;quot; symbol is used (e.g. A# for A sharp), for flats, a lowercase &amp;quot;b&amp;quot; is used, e.g. (Bb for B flat). Therefore, the output file should be of the form:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tonic {A, A#, Bb, ...}&amp;gt;\t&amp;lt;mode {major, minor}&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \t denotes a tab, \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 C    major&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 G#   minor&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Packaging submissions ===&lt;br /&gt;
&lt;br /&gt;
All submissions should include a README file including the following the information:&lt;br /&gt;
&lt;br /&gt;
* Command line calling format for all executables including examples&lt;br /&gt;
* Number of threads/cores used or whether this should be specified on the command line&lt;br /&gt;
* Expected memory footprint&lt;br /&gt;
* Expected runtime&lt;br /&gt;
* Approximately how much scratch disk space will the submission need to store any feature/cache files?&lt;br /&gt;
* Any required environments/architectures (and versions) such as Matlab, Java, Python, Bash, Ruby etc.&lt;br /&gt;
* Any special notice regarding to running your algorithm&lt;br /&gt;
&lt;br /&gt;
Note that the information that you place in the README file is '''extremely''' important in ensuring that your submission is evaluated properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== README File ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with a specific value for parameter param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14660</id>
		<title>2025:Audio Key Detection</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14660"/>
		<updated>2025-05-30T16:21:44Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: /* README File */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
Audio Key Detection aims to identify the musical key (e.g., C major, A minor) of an audio recording. This involves determining both the tonic (root pitch) and the mode (major or minor) from the audio signal.&lt;br /&gt;
&lt;br /&gt;
== Data (need update) == &lt;br /&gt;
* need to state: all datasets for training is okay&lt;br /&gt;
* need to state: each submission needs to state clearly the training set they used in their extended abstract&lt;br /&gt;
* need to state: what is the testset&lt;br /&gt;
&lt;br /&gt;
=== Collections ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Audio Formats ===&lt;br /&gt;
&lt;br /&gt;
* CD-quality (PCM, 16-bit, 44100 Hz)&lt;br /&gt;
* single channel (mono)&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
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 &amp;quot;close&amp;quot; each identified key is to the corresponding correct key. Keys will be considered as &amp;quot;close&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Relation to Correct Key''' ||'''Points'''&lt;br /&gt;
|-&lt;br /&gt;
|Same||1.0&lt;br /&gt;
|-&lt;br /&gt;
|Perfect fifth||0.5&lt;br /&gt;
|-&lt;br /&gt;
|Relative major/minor||0.3&lt;br /&gt;
|-&lt;br /&gt;
|Parallel major/minor||0.2&lt;br /&gt;
|-&lt;br /&gt;
|Other||0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The points are counted over all files and averaged. The number of correctly identified keys as well as the distribution of the errors is also reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Key Detection) ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;#&amp;quot; symbol is used (e.g. A# for A sharp), for flats, a lowercase &amp;quot;b&amp;quot; is used, e.g. (Bb for B flat). Therefore, the output file should be of the form:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tonic {A, A#, Bb, ...}&amp;gt;\t&amp;lt;mode {major, minor}&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \t denotes a tab, \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 C    major&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 G#   minor&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Packaging submissions ===&lt;br /&gt;
&lt;br /&gt;
All submissions should include a README file including the following the information:&lt;br /&gt;
&lt;br /&gt;
* Command line calling format for all executables including examples&lt;br /&gt;
* Number of threads/cores used or whether this should be specified on the command line&lt;br /&gt;
* Expected memory footprint&lt;br /&gt;
* Expected runtime&lt;br /&gt;
* Approximately how much scratch disk space will the submission need to store any feature/cache files?&lt;br /&gt;
* Any required environments/architectures (and versions) such as Matlab, Java, Python, Bash, Ruby etc.&lt;br /&gt;
* Any special notice regarding to running your algorithm&lt;br /&gt;
&lt;br /&gt;
Note that the information that you place in the README file is '''extremely''' important in ensuring that your submission is evaluated properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== README File ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with a specific value for parameter param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14659</id>
		<title>2025:Audio Key Detection</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14659"/>
		<updated>2025-05-30T16:21:11Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: /* Data (need update) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
Audio Key Detection aims to identify the musical key (e.g., C major, A minor) of an audio recording. This involves determining both the tonic (root pitch) and the mode (major or minor) from the audio signal.&lt;br /&gt;
&lt;br /&gt;
== Data (need update) == &lt;br /&gt;
* need to state: all datasets for training is okay&lt;br /&gt;
* need to state: each submission needs to state clearly the training set they used in their extended abstract&lt;br /&gt;
* need to state: what is the testset&lt;br /&gt;
&lt;br /&gt;
=== Collections ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Audio Formats ===&lt;br /&gt;
&lt;br /&gt;
* CD-quality (PCM, 16-bit, 44100 Hz)&lt;br /&gt;
* single channel (mono)&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
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 &amp;quot;close&amp;quot; each identified key is to the corresponding correct key. Keys will be considered as &amp;quot;close&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Relation to Correct Key''' ||'''Points'''&lt;br /&gt;
|-&lt;br /&gt;
|Same||1.0&lt;br /&gt;
|-&lt;br /&gt;
|Perfect fifth||0.5&lt;br /&gt;
|-&lt;br /&gt;
|Relative major/minor||0.3&lt;br /&gt;
|-&lt;br /&gt;
|Parallel major/minor||0.2&lt;br /&gt;
|-&lt;br /&gt;
|Other||0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The points are counted over all files and averaged. The number of correctly identified keys as well as the distribution of the errors is also reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Key Detection) ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;#&amp;quot; symbol is used (e.g. A# for A sharp), for flats, a lowercase &amp;quot;b&amp;quot; is used, e.g. (Bb for B flat). Therefore, the output file should be of the form:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tonic {A, A#, Bb, ...}&amp;gt;\t&amp;lt;mode {major, minor}&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \t denotes a tab, \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 C    major&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 G#   minor&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Packaging submissions ===&lt;br /&gt;
&lt;br /&gt;
All submissions should include a README file including the following the information:&lt;br /&gt;
&lt;br /&gt;
* Command line calling format for all executables including examples&lt;br /&gt;
* Number of threads/cores used or whether this should be specified on the command line&lt;br /&gt;
* Expected memory footprint&lt;br /&gt;
* Expected runtime&lt;br /&gt;
* Approximately how much scratch disk space will the submission need to store any feature/cache files?&lt;br /&gt;
* Any required environments/architectures (and versions) such as Matlab, Java, Python, Bash, Ruby etc.&lt;br /&gt;
* Any special notice regarding to running your algorithm&lt;br /&gt;
&lt;br /&gt;
Note that the information that you place in the README file is '''extremely''' important in ensuring that your submission is evaluated properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== README File ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with a specific value for parameter param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
For a submission using MATLAB, the README file could look like:&lt;br /&gt;
&lt;br /&gt;
 matlab -r &amp;quot;foobar(.1,'%input','%output');quit;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14658</id>
		<title>2025:Audio Key Detection</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14658"/>
		<updated>2025-05-30T16:20:28Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: /* Data (need update) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
Audio Key Detection aims to identify the musical key (e.g., C major, A minor) of an audio recording. This involves determining both the tonic (root pitch) and the mode (major or minor) from the audio signal.&lt;br /&gt;
&lt;br /&gt;
== Data (need update) == &lt;br /&gt;
need to state: all datasets for training is okay&lt;br /&gt;
need to state: each submission needs to state clearly the training set they used in their extended abstract&lt;br /&gt;
need to state: what is the testset&lt;br /&gt;
=== Collections ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Audio Formats ===&lt;br /&gt;
&lt;br /&gt;
* CD-quality (PCM, 16-bit, 44100 Hz)&lt;br /&gt;
* single channel (mono)&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
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 &amp;quot;close&amp;quot; each identified key is to the corresponding correct key. Keys will be considered as &amp;quot;close&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Relation to Correct Key''' ||'''Points'''&lt;br /&gt;
|-&lt;br /&gt;
|Same||1.0&lt;br /&gt;
|-&lt;br /&gt;
|Perfect fifth||0.5&lt;br /&gt;
|-&lt;br /&gt;
|Relative major/minor||0.3&lt;br /&gt;
|-&lt;br /&gt;
|Parallel major/minor||0.2&lt;br /&gt;
|-&lt;br /&gt;
|Other||0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The points are counted over all files and averaged. The number of correctly identified keys as well as the distribution of the errors is also reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Key Detection) ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;#&amp;quot; symbol is used (e.g. A# for A sharp), for flats, a lowercase &amp;quot;b&amp;quot; is used, e.g. (Bb for B flat). Therefore, the output file should be of the form:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tonic {A, A#, Bb, ...}&amp;gt;\t&amp;lt;mode {major, minor}&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \t denotes a tab, \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 C    major&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 G#   minor&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Packaging submissions ===&lt;br /&gt;
&lt;br /&gt;
All submissions should include a README file including the following the information:&lt;br /&gt;
&lt;br /&gt;
* Command line calling format for all executables including examples&lt;br /&gt;
* Number of threads/cores used or whether this should be specified on the command line&lt;br /&gt;
* Expected memory footprint&lt;br /&gt;
* Expected runtime&lt;br /&gt;
* Approximately how much scratch disk space will the submission need to store any feature/cache files?&lt;br /&gt;
* Any required environments/architectures (and versions) such as Matlab, Java, Python, Bash, Ruby etc.&lt;br /&gt;
* Any special notice regarding to running your algorithm&lt;br /&gt;
&lt;br /&gt;
Note that the information that you place in the README file is '''extremely''' important in ensuring that your submission is evaluated properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== README File ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with a specific value for parameter param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
For a submission using MATLAB, the README file could look like:&lt;br /&gt;
&lt;br /&gt;
 matlab -r &amp;quot;foobar(.1,'%input','%output');quit;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14634</id>
		<title>2025:Audio Key Detection</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14634"/>
		<updated>2025-05-21T01:48:38Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
Audio Key Detection aims to identify the musical key (e.g., C major, A minor) of an audio recording. This involves determining both the tonic (root pitch) and the mode (major or minor) from the audio signal.&lt;br /&gt;
&lt;br /&gt;
== Data (need update) == &lt;br /&gt;
=== Collections ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Audio Formats ===&lt;br /&gt;
&lt;br /&gt;
* CD-quality (PCM, 16-bit, 44100 Hz)&lt;br /&gt;
* single channel (mono)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
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 &amp;quot;close&amp;quot; each identified key is to the corresponding correct key. Keys will be considered as &amp;quot;close&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Relation to Correct Key''' ||'''Points'''&lt;br /&gt;
|-&lt;br /&gt;
|Same||1.0&lt;br /&gt;
|-&lt;br /&gt;
|Perfect fifth||0.5&lt;br /&gt;
|-&lt;br /&gt;
|Relative major/minor||0.3&lt;br /&gt;
|-&lt;br /&gt;
|Parallel major/minor||0.2&lt;br /&gt;
|-&lt;br /&gt;
|Other||0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The points are counted over all files and averaged. The number of correctly identified keys as well as the distribution of the errors is also reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Key Detection) ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;#&amp;quot; symbol is used (e.g. A# for A sharp), for flats, a lowercase &amp;quot;b&amp;quot; is used, e.g. (Bb for B flat). Therefore, the output file should be of the form:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tonic {A, A#, Bb, ...}&amp;gt;\t&amp;lt;mode {major, minor}&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \t denotes a tab, \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 C    major&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 G#   minor&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Packaging submissions ===&lt;br /&gt;
&lt;br /&gt;
All submissions should include a README file including the following the information:&lt;br /&gt;
&lt;br /&gt;
* Command line calling format for all executables including examples&lt;br /&gt;
* Number of threads/cores used or whether this should be specified on the command line&lt;br /&gt;
* Expected memory footprint&lt;br /&gt;
* Expected runtime&lt;br /&gt;
* Approximately how much scratch disk space will the submission need to store any feature/cache files?&lt;br /&gt;
* Any required environments/architectures (and versions) such as Matlab, Java, Python, Bash, Ruby etc.&lt;br /&gt;
* Any special notice regarding to running your algorithm&lt;br /&gt;
&lt;br /&gt;
Note that the information that you place in the README file is '''extremely''' important in ensuring that your submission is evaluated properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== README File ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with a specific value for parameter param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
For a submission using MATLAB, the README file could look like:&lt;br /&gt;
&lt;br /&gt;
 matlab -r &amp;quot;foobar(.1,'%input','%output');quit;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Beat_Tracking&amp;diff=14633</id>
		<title>2025:Audio Beat Tracking</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Beat_Tracking&amp;diff=14633"/>
		<updated>2025-05-20T17:37:03Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
The text of this section was copied from the 2012 Wiki.  Please add your comments and discussion at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
The aim of the automatic beat tracking task is to track each beat locations in a collection of sound files. Unlike the Audio Tempo Extraction task, which aim is to detect tempi for each file, the beat tracking task aims at detecting all beat locations in recordings. The algorithms will be evaluated in terms of their accuracy in predicting beat locations annotated by a group of listeners. &lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
=== Collections ===&lt;br /&gt;
The original 2006 dataset contains 160 30-second excerpts (WAV format) used for the Audio Tempo and Beat contests in 2006.  Beat locations have been annotated in each excerpt by 40 different listeners (39 listeners for a few excerpts. The length of each excerpt is 30 seconds. These audio recordings were selected to provide a stable tempo value, a wide distribution of tempi values, and a large variety of instrumentation and musical styles. About 20% of the files contain non-binary meters, and a small number of examples contain changing meters.  One disadvantage of using this set for beat tracking is that the tempi are rather stable and this set will not test beat-tracking algorithms in their ability to track tempo changes.&lt;br /&gt;
&lt;br /&gt;
The second collection is comprised of 367 Chopin Mazurkas, represented as full audio tracks (WAV format). The Mazurka dataset contains tempo changes so it will evaluate the ability of algorithms to track these.&lt;br /&gt;
&lt;br /&gt;
The third collection was assembled and donated in 2012. This dataset contains 217 excerpts around 40s each, of which 19 are &amp;quot;easy&amp;quot; and the remaining 198 are &amp;quot;hard&amp;quot;. The harder excerpts were drawn from the following musical styles: Romantic music, ﬁlm soundtracks, blues, chanson and solo guitar. &lt;br /&gt;
&lt;br /&gt;
This dataset has been designed for radically new techniques which can contend with challenging beat tracking situations like: quiet accompaniment, expressive timing, changes in time signature, slow tempo, poor sound quality etc. So, if your beat tracker likes a 4/4 time-signature with a steady tempo and needs clear percussive onsets, don't expect it to do very well!&lt;br /&gt;
But don't be deterred, this is for the good of beat tracking. &lt;br /&gt;
&lt;br /&gt;
You can read in detail about how the dataset was made here:&lt;br /&gt;
[http://dx.doi.org/10.1109/TASL.2012.2205244 ''Selective Sampling for Beat Tracking Evaluation'']&lt;br /&gt;
&lt;br /&gt;
The dataset can be found under the [[#Relevant Development Collections| Relevant Development Collections]]&lt;br /&gt;
&lt;br /&gt;
=== Audio Formats ===&lt;br /&gt;
&lt;br /&gt;
The data are monophonic sound files, with the associated onset times and data about the annotation robustness.&lt;br /&gt;
&lt;br /&gt;
* CD-quality (PCM, 16-bit, 44100 Hz)&lt;br /&gt;
* single channel (mono)&lt;br /&gt;
* file length between 2 and 36 seconds (total time: 14 minutes) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
The beat tracking algorithms will return beat-times in an ASCII text file for each input .wav audio file. The specification of this output file is immediately below.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Beat tracking) ===&lt;br /&gt;
&lt;br /&gt;
The Beat Tracking output file format is an ASCII text format. Each beat time is specified, in seconds, on its own line. Specifically, &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;beat time(in seconds)&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 0.243&lt;br /&gt;
 0.486&lt;br /&gt;
 0.729&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
The submitted algorithm must take as arguments a SINGLE .wav file to perform the onset detection 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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, such as a detection threshold, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== README File ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with different values for parameters param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;br /&gt;
 foobar -param1 .15 -i %input -o %output&lt;br /&gt;
 foobar -param1 .2 -i %input -o %output&lt;br /&gt;
 foobar -param1 .25 -i %input -o %output&lt;br /&gt;
 foobar -param1 .3 -i %input -o %output&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
For a submission using MATLAB, the README file could look like:&lt;br /&gt;
&lt;br /&gt;
 matlab -r &amp;quot;foobar(.1,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.15,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.2,'%input','%output');quit;&amp;quot; &lt;br /&gt;
 matlab -r &amp;quot;foobar(.25,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.3,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The different command lines to evaluate the performance of each parameter set over the whole database will be generated automatically from each line in the README file containing both '%input' and '%output' strings.&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
&lt;br /&gt;
The evaluation methods are taken from the beat evaluation toolbox and&lt;br /&gt;
are described in the following technical report: &lt;br /&gt;
&lt;br /&gt;
 M. E. P. Davies, N. Degara and M. D. Plumbley. &amp;quot;Evaluation methods for musical audio beat tracking algorithms&amp;quot;. [http://www.elec.qmul.ac.uk/people/markp/2009/DaviesDegaraPlumbley09-evaluation-tr.pdf ''Technical Report C4DM-TR-09-06'']. This link now works! :)&lt;br /&gt;
&lt;br /&gt;
For further details on the specifics of the methods please refer to the&lt;br /&gt;
paper. However, here is a brief summary with appropriate references:&lt;br /&gt;
&lt;br /&gt;
*'''F-measure''' - the standard calculation as used in onset evaluation but&lt;br /&gt;
with a 70ms window. &lt;br /&gt;
&lt;br /&gt;
 S. Dixon, &amp;quot;Onset detection revisited,&amp;quot; in ''Proceedings of 9th&lt;br /&gt;
 International Conference on Digital Audio Effects (DAFx)'', Montreal,&lt;br /&gt;
 Canada, pp. 133-137, 2006.&lt;br /&gt;
&lt;br /&gt;
 S. Dixon, &amp;quot;Evaluation of audio beat tracking system beatroot,&amp;quot; ''Journal&lt;br /&gt;
 of New Music Research'', vol. 36, no. 1, pp. 39-51, 2007.&lt;br /&gt;
&lt;br /&gt;
*'''Cemgil''' - beat accuracy is calculated using a Gaussian error function&lt;br /&gt;
with 40ms standard deviation.&lt;br /&gt;
&lt;br /&gt;
 A. T. Cemgil, B. Kappen, P. Desain, and H. Honing, &amp;quot;On tempo tracking:&lt;br /&gt;
 Tempogram representation and Kalman filtering,&amp;quot; ''Journal Of New Music&lt;br /&gt;
 Research'', vol. 28, no. 4, pp. 259-273, 2001&lt;br /&gt;
 &lt;br /&gt;
*'''Goto''' - binary decision of correct or incorrect tracking based on&lt;br /&gt;
statistical properties of a beat error sequence.&lt;br /&gt;
&lt;br /&gt;
 M. Goto and Y. Muraoka, &amp;quot;Issues in evaluating beat tracking systems,&amp;quot; in&lt;br /&gt;
 ''Working Notes of the IJCAI-97 Workshop on Issues in AI and Music -&lt;br /&gt;
 Evaluation and Assessment'', 1997, pp. 9-16.&lt;br /&gt;
&lt;br /&gt;
*'''PScore''' - McKinney's impulse train cross-correlation method as used in&lt;br /&gt;
2006.&lt;br /&gt;
&lt;br /&gt;
 M. F. McKinney, D. Moelants, M. E. P. Davies, and A. Klapuri,&lt;br /&gt;
 &amp;quot;Evaluation of audio beat tracking and music tempo extraction&lt;br /&gt;
 algorithms,&amp;quot; ''Journal of New Music Research'', vol. 36, no. 1, pp. 1-16,&lt;br /&gt;
 2007.&lt;br /&gt;
&lt;br /&gt;
*'''CMLc''', '''CMLt''', '''AMLc''', '''AMLt''' - continuity-based evaluation methods based on&lt;br /&gt;
the longest continuously correctly tracked section. &lt;br /&gt;
&lt;br /&gt;
 S. Hainsworth, &amp;quot;Techniques for the automated analysis of musical audio,&amp;quot;&lt;br /&gt;
 Ph.D. dissertation, Department of Engineering, Cambridge University,&lt;br /&gt;
 2004.&lt;br /&gt;
&lt;br /&gt;
 A. P. Klapuri, A. Eronen, and J. Astola, &amp;quot;Analysis of the meter of&lt;br /&gt;
 acoustic musical signals,&amp;quot; IEEE Transactions on Audio, Speech and&lt;br /&gt;
 Language Processing, vol. 14, no. 1, pp. 342-355, 2006.&lt;br /&gt;
&lt;br /&gt;
*'''D''', '''Dg''' - information based criteria based on analysis of a beat error&lt;br /&gt;
histogram (note the results are measured in 'bits' and not percentages),&lt;br /&gt;
see the technical report for a description.&lt;br /&gt;
&lt;br /&gt;
== Relevant Development Collections (need update) ==&lt;br /&gt;
You can find it here:&lt;br /&gt;
&lt;br /&gt;
(data has been uploaded in both .tgz and .zip format)&lt;br /&gt;
&lt;br /&gt;
''User: beattrack Password: b34trx''&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/beat/beattrack_train_2006.tgz OR&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/beat/beattrack_train_2006.zip&lt;br /&gt;
&lt;br /&gt;
''User: tempo Password: t3mp0''&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/tempo/tempo_train_2006.tgz OR&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/tempo/tempo_train_2006.zip&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Beat_Tracking&amp;diff=14632</id>
		<title>2025:Audio Beat Tracking</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Beat_Tracking&amp;diff=14632"/>
		<updated>2025-05-20T17:35:49Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: Created page with &amp;quot;== Description == The text of this section was copied from the 2012 Wiki.  Please add your comments and discussion at the bottom of this page.  The aim of the automatic beat t...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
The text of this section was copied from the 2012 Wiki.  Please add your comments and discussion at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
The aim of the automatic beat tracking task is to track each beat locations in a collection of sound files. Unlike the Audio Tempo Extraction task, which aim is to detect tempi for each file, the beat tracking task aims at detecting all beat locations in recordings. The algorithms will be evaluated in terms of their accuracy in predicting beat locations annotated by a group of listeners. &lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
=== Collections ===&lt;br /&gt;
The original 2006 dataset contains 160 30-second excerpts (WAV format) used for the Audio Tempo and Beat contests in 2006.  Beat locations have been annotated in each excerpt by 40 different listeners (39 listeners for a few excerpts. The length of each excerpt is 30 seconds. These audio recordings were selected to provide a stable tempo value, a wide distribution of tempi values, and a large variety of instrumentation and musical styles. About 20% of the files contain non-binary meters, and a small number of examples contain changing meters.  One disadvantage of using this set for beat tracking is that the tempi are rather stable and this set will not test beat-tracking algorithms in their ability to track tempo changes.&lt;br /&gt;
&lt;br /&gt;
The second collection is comprised of 367 Chopin Mazurkas, represented as full audio tracks (WAV format). The Mazurka dataset contains tempo changes so it will evaluate the ability of algorithms to track these.&lt;br /&gt;
&lt;br /&gt;
The third collection was assembled and donated in 2012. This dataset contains 217 excerpts around 40s each, of which 19 are &amp;quot;easy&amp;quot; and the remaining 198 are &amp;quot;hard&amp;quot;. The harder excerpts were drawn from the following musical styles: Romantic music, ﬁlm soundtracks, blues, chanson and solo guitar. &lt;br /&gt;
&lt;br /&gt;
This dataset has been designed for radically new techniques which can contend with challenging beat tracking situations like: quiet accompaniment, expressive timing, changes in time signature, slow tempo, poor sound quality etc. So, if your beat tracker likes a 4/4 time-signature with a steady tempo and needs clear percussive onsets, don't expect it to do very well!&lt;br /&gt;
But don't be deterred, this is for the good of beat tracking. &lt;br /&gt;
&lt;br /&gt;
You can read in detail about how the dataset was made here:&lt;br /&gt;
[http://dx.doi.org/10.1109/TASL.2012.2205244 ''Selective Sampling for Beat Tracking Evaluation'']&lt;br /&gt;
&lt;br /&gt;
The dataset can be found under the [[#Relevant Development Collections| Relevant Development Collections]]&lt;br /&gt;
&lt;br /&gt;
=== Audio Formats ===&lt;br /&gt;
&lt;br /&gt;
The data are monophonic sound files, with the associated onset times and data about the annotation robustness.&lt;br /&gt;
&lt;br /&gt;
* CD-quality (PCM, 16-bit, 44100 Hz)&lt;br /&gt;
* single channel (mono)&lt;br /&gt;
* file length between 2 and 36 seconds (total time: 14 minutes) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
The beat tracking algorithms will return beat-times in an ASCII text file for each input .wav audio file. The specification of this output file is immediately below.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Beat tracking) ===&lt;br /&gt;
&lt;br /&gt;
The Beat Tracking output file format is an ASCII text format. Each beat time is specified, in seconds, on its own line. Specifically, &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;beat time(in seconds)&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 0.243&lt;br /&gt;
 0.486&lt;br /&gt;
 0.729&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
The submitted algorithm must take as arguments a SINGLE .wav file to perform the onset detection 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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, such as a detection threshold, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== README File ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with different values for parameters param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;br /&gt;
 foobar -param1 .15 -i %input -o %output&lt;br /&gt;
 foobar -param1 .2 -i %input -o %output&lt;br /&gt;
 foobar -param1 .25 -i %input -o %output&lt;br /&gt;
 foobar -param1 .3 -i %input -o %output&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
For a submission using MATLAB, the README file could look like:&lt;br /&gt;
&lt;br /&gt;
 matlab -r &amp;quot;foobar(.1,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.15,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.2,'%input','%output');quit;&amp;quot; &lt;br /&gt;
 matlab -r &amp;quot;foobar(.25,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 matlab -r &amp;quot;foobar(.3,'%input','%output');quit;&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
The different command lines to evaluate the performance of each parameter set over the whole database will be generated automatically from each line in the README file containing both '%input' and '%output' strings.&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
&lt;br /&gt;
The evaluation methods are taken from the beat evaluation toolbox and&lt;br /&gt;
are described in the following technical report: &lt;br /&gt;
&lt;br /&gt;
 M. E. P. Davies, N. Degara and M. D. Plumbley. &amp;quot;Evaluation methods for musical audio beat tracking algorithms&amp;quot;. [http://www.elec.qmul.ac.uk/people/markp/2009/DaviesDegaraPlumbley09-evaluation-tr.pdf ''Technical Report C4DM-TR-09-06'']. This link now works! :)&lt;br /&gt;
&lt;br /&gt;
For further details on the specifics of the methods please refer to the&lt;br /&gt;
paper. However, here is a brief summary with appropriate references:&lt;br /&gt;
&lt;br /&gt;
*'''F-measure''' - the standard calculation as used in onset evaluation but&lt;br /&gt;
with a 70ms window. &lt;br /&gt;
&lt;br /&gt;
 S. Dixon, &amp;quot;Onset detection revisited,&amp;quot; in ''Proceedings of 9th&lt;br /&gt;
 International Conference on Digital Audio Effects (DAFx)'', Montreal,&lt;br /&gt;
 Canada, pp. 133-137, 2006.&lt;br /&gt;
&lt;br /&gt;
 S. Dixon, &amp;quot;Evaluation of audio beat tracking system beatroot,&amp;quot; ''Journal&lt;br /&gt;
 of New Music Research'', vol. 36, no. 1, pp. 39-51, 2007.&lt;br /&gt;
&lt;br /&gt;
*'''Cemgil''' - beat accuracy is calculated using a Gaussian error function&lt;br /&gt;
with 40ms standard deviation.&lt;br /&gt;
&lt;br /&gt;
 A. T. Cemgil, B. Kappen, P. Desain, and H. Honing, &amp;quot;On tempo tracking:&lt;br /&gt;
 Tempogram representation and Kalman filtering,&amp;quot; ''Journal Of New Music&lt;br /&gt;
 Research'', vol. 28, no. 4, pp. 259-273, 2001&lt;br /&gt;
 &lt;br /&gt;
*'''Goto''' - binary decision of correct or incorrect tracking based on&lt;br /&gt;
statistical properties of a beat error sequence.&lt;br /&gt;
&lt;br /&gt;
 M. Goto and Y. Muraoka, &amp;quot;Issues in evaluating beat tracking systems,&amp;quot; in&lt;br /&gt;
 ''Working Notes of the IJCAI-97 Workshop on Issues in AI and Music -&lt;br /&gt;
 Evaluation and Assessment'', 1997, pp. 9-16.&lt;br /&gt;
&lt;br /&gt;
*'''PScore''' - McKinney's impulse train cross-correlation method as used in&lt;br /&gt;
2006.&lt;br /&gt;
&lt;br /&gt;
 M. F. McKinney, D. Moelants, M. E. P. Davies, and A. Klapuri,&lt;br /&gt;
 &amp;quot;Evaluation of audio beat tracking and music tempo extraction&lt;br /&gt;
 algorithms,&amp;quot; ''Journal of New Music Research'', vol. 36, no. 1, pp. 1-16,&lt;br /&gt;
 2007.&lt;br /&gt;
&lt;br /&gt;
*'''CMLc''', '''CMLt''', '''AMLc''', '''AMLt''' - continuity-based evaluation methods based on&lt;br /&gt;
the longest continuously correctly tracked section. &lt;br /&gt;
&lt;br /&gt;
 S. Hainsworth, &amp;quot;Techniques for the automated analysis of musical audio,&amp;quot;&lt;br /&gt;
 Ph.D. dissertation, Department of Engineering, Cambridge University,&lt;br /&gt;
 2004.&lt;br /&gt;
&lt;br /&gt;
 A. P. Klapuri, A. Eronen, and J. Astola, &amp;quot;Analysis of the meter of&lt;br /&gt;
 acoustic musical signals,&amp;quot; IEEE Transactions on Audio, Speech and&lt;br /&gt;
 Language Processing, vol. 14, no. 1, pp. 342-355, 2006.&lt;br /&gt;
&lt;br /&gt;
*'''D''', '''Dg''' - information based criteria based on analysis of a beat error&lt;br /&gt;
histogram (note the results are measured in 'bits' and not percentages),&lt;br /&gt;
see the technical report for a description.&lt;br /&gt;
&lt;br /&gt;
== Relevant Development Collections ==&lt;br /&gt;
You can find it here:&lt;br /&gt;
&lt;br /&gt;
(data has been uploaded in both .tgz and .zip format)&lt;br /&gt;
&lt;br /&gt;
''User: beattrack Password: b34trx''&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/beat/beattrack_train_2006.tgz OR&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/beat/beattrack_train_2006.zip&lt;br /&gt;
&lt;br /&gt;
''User: tempo Password: t3mp0''&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/tempo/tempo_train_2006.tgz OR&lt;br /&gt;
&lt;br /&gt;
https://www.music-ir.org/evaluation/MIREX/data/2006/tempo/tempo_train_2006.zip&lt;br /&gt;
&lt;br /&gt;
== Time and hardware limits ==&lt;br /&gt;
Due to the potentially high number of participants in this and other audio tasks, hard limits on the runtime of submissions will be imposed.&lt;br /&gt;
&lt;br /&gt;
A hard limit of 12 hours will be imposed on analysis times. Submissions exceeding this limit may not receive a result.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Potential Participants ==&lt;br /&gt;
name / email&lt;br /&gt;
&lt;br /&gt;
Ju-Chiang Wang / ju-chiang.wang@bytedance.com&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
name / email&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14631</id>
		<title>2025:Audio Key Detection</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14631"/>
		<updated>2025-05-20T16:52:29Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Data (need update) == &lt;br /&gt;
=== Collections ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Audio Formats ===&lt;br /&gt;
&lt;br /&gt;
* CD-quality (PCM, 16-bit, 44100 Hz)&lt;br /&gt;
* single channel (mono)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
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 &amp;quot;close&amp;quot; each identified key is to the corresponding correct key. Keys will be considered as &amp;quot;close&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Relation to Correct Key''' ||'''Points'''&lt;br /&gt;
|-&lt;br /&gt;
|Same||1.0&lt;br /&gt;
|-&lt;br /&gt;
|Perfect fifth||0.5&lt;br /&gt;
|-&lt;br /&gt;
|Relative major/minor||0.3&lt;br /&gt;
|-&lt;br /&gt;
|Parallel major/minor||0.2&lt;br /&gt;
|-&lt;br /&gt;
|Other||0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The points are counted over all files and averaged. The number of correctly identified keys as well as the distribution of the errors is also reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Key Detection) ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;#&amp;quot; symbol is used (e.g. A# for A sharp), for flats, a lowercase &amp;quot;b&amp;quot; is used, e.g. (Bb for B flat). Therefore, the output file should be of the form:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tonic {A, A#, Bb, ...}&amp;gt;\t&amp;lt;mode {major, minor}&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \t denotes a tab, \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 C    major&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 G#   minor&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Packaging submissions ===&lt;br /&gt;
&lt;br /&gt;
All submissions should include a README file including the following the information:&lt;br /&gt;
&lt;br /&gt;
* Command line calling format for all executables including examples&lt;br /&gt;
* Number of threads/cores used or whether this should be specified on the command line&lt;br /&gt;
* Expected memory footprint&lt;br /&gt;
* Expected runtime&lt;br /&gt;
* Approximately how much scratch disk space will the submission need to store any feature/cache files?&lt;br /&gt;
* Any required environments/architectures (and versions) such as Matlab, Java, Python, Bash, Ruby etc.&lt;br /&gt;
* Any special notice regarding to running your algorithm&lt;br /&gt;
&lt;br /&gt;
Note that the information that you place in the README file is '''extremely''' important in ensuring that your submission is evaluated properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== README File ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with a specific value for parameter param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
For a submission using MATLAB, the README file could look like:&lt;br /&gt;
&lt;br /&gt;
 matlab -r &amp;quot;foobar(.1,'%input','%output');quit;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14630</id>
		<title>2025:Audio Key Detection</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14630"/>
		<updated>2025-05-20T16:52:10Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: /* Packaging submissions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Data (need update) == &lt;br /&gt;
=== Collections ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Audio Formats ===&lt;br /&gt;
&lt;br /&gt;
* CD-quality (PCM, 16-bit, 44100 Hz)&lt;br /&gt;
* single channel (mono)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
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 &amp;quot;close&amp;quot; each identified key is to the corresponding correct key. Keys will be considered as &amp;quot;close&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Relation to Correct Key''' ||'''Points'''&lt;br /&gt;
|-&lt;br /&gt;
|Same||1.0&lt;br /&gt;
|-&lt;br /&gt;
|Perfect fifth||0.5&lt;br /&gt;
|-&lt;br /&gt;
|Relative major/minor||0.3&lt;br /&gt;
|-&lt;br /&gt;
|Parallel major/minor||0.2&lt;br /&gt;
|-&lt;br /&gt;
|Other||0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The points are counted over all files and averaged. The number of correctly identified keys as well as the distribution of the errors is also reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Key Detection) ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;#&amp;quot; symbol is used (e.g. A# for A sharp), for flats, a lowercase &amp;quot;b&amp;quot; is used, e.g. (Bb for B flat). Therefore, the output file should be of the form:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tonic {A, A#, Bb, ...}&amp;gt;\t&amp;lt;mode {major, minor}&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \t denotes a tab, \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 C    major&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 G#   minor&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Packaging submissions ===&lt;br /&gt;
&lt;br /&gt;
All submissions should include a README file including the following the information:&lt;br /&gt;
&lt;br /&gt;
* Command line calling format for all executables including examples&lt;br /&gt;
* Number of threads/cores used or whether this should be specified on the command line&lt;br /&gt;
* Expected memory footprint&lt;br /&gt;
* Expected runtime&lt;br /&gt;
* Approximately how much scratch disk space will the submission need to store any feature/cache files?&lt;br /&gt;
* Any required environments/architectures (and versions) such as Matlab, Java, Python, Bash, Ruby etc.&lt;br /&gt;
* Any special notice regarding to running your algorithm&lt;br /&gt;
&lt;br /&gt;
Note that the information that you place in the README file is '''extremely''' important in ensuring that your submission is evaluated properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== README File ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with a specific value for parameter param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
For a submission using MATLAB, the README file could look like:&lt;br /&gt;
&lt;br /&gt;
 matlab -r &amp;quot;foobar(.1,'%input','%output');quit;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Time and hardware limits ==&lt;br /&gt;
Due to the potentially high number of participants in this and other audio tasks, hard limits on the runtime of submissions will be imposed.&lt;br /&gt;
&lt;br /&gt;
A hard limit of 6 hours will be imposed on analysis times.&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14629</id>
		<title>2025:Audio Key Detection</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14629"/>
		<updated>2025-05-20T10:38:11Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Data (need update) == &lt;br /&gt;
=== Collections ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Audio Formats ===&lt;br /&gt;
&lt;br /&gt;
* CD-quality (PCM, 16-bit, 44100 Hz)&lt;br /&gt;
* single channel (mono)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
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 &amp;quot;close&amp;quot; each identified key is to the corresponding correct key. Keys will be considered as &amp;quot;close&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Relation to Correct Key''' ||'''Points'''&lt;br /&gt;
|-&lt;br /&gt;
|Same||1.0&lt;br /&gt;
|-&lt;br /&gt;
|Perfect fifth||0.5&lt;br /&gt;
|-&lt;br /&gt;
|Relative major/minor||0.3&lt;br /&gt;
|-&lt;br /&gt;
|Parallel major/minor||0.2&lt;br /&gt;
|-&lt;br /&gt;
|Other||0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The points are counted over all files and averaged. The number of correctly identified keys as well as the distribution of the errors is also reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Key Detection) ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;#&amp;quot; symbol is used (e.g. A# for A sharp), for flats, a lowercase &amp;quot;b&amp;quot; is used, e.g. (Bb for B flat). Therefore, the output file should be of the form:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tonic {A, A#, Bb, ...}&amp;gt;\t&amp;lt;mode {major, minor}&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \t denotes a tab, \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 C    major&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 G#   minor&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Packaging submissions ===&lt;br /&gt;
&lt;br /&gt;
* All submissions should be statically linked to all libraries (the presence of dynamically linked libraries cannot be guaranteed). [mailto:mirproject@lists.lis.uiuc.edu IMIRSEL] should be notified of any dependencies that you cannot include with your submission at the earliest opportunity (in order to give them time to satisfy the dependency).&lt;br /&gt;
* Be sure to follow the [[2009:Best Coding Practices for MIREX | Best Coding Practices for MIREX]]&lt;br /&gt;
* Be sure to follow the [[MIREX 2019 Submission Instructions]]&lt;br /&gt;
&lt;br /&gt;
All submissions should include a README file including the following the information:&lt;br /&gt;
&lt;br /&gt;
* Command line calling format for all executables including examples&lt;br /&gt;
* Number of threads/cores used or whether this should be specified on the command line&lt;br /&gt;
* Expected memory footprint&lt;br /&gt;
* Expected runtime&lt;br /&gt;
* Approximately how much scratch disk space will the submission need to store any feature/cache files?&lt;br /&gt;
* Any required environments/architectures (and versions) such as Matlab, Java, Python, Bash, Ruby etc.&lt;br /&gt;
* Any special notice regarding to running your algorithm&lt;br /&gt;
&lt;br /&gt;
Note that the information that you place in the README file is '''extremely''' important in ensuring that your submission is evaluated properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== README File ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with a specific value for parameter param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
For a submission using MATLAB, the README file could look like:&lt;br /&gt;
&lt;br /&gt;
 matlab -r &amp;quot;foobar(.1,'%input','%output');quit;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Time and hardware limits ==&lt;br /&gt;
Due to the potentially high number of participants in this and other audio tasks, hard limits on the runtime of submissions will be imposed.&lt;br /&gt;
&lt;br /&gt;
A hard limit of 6 hours will be imposed on analysis times.&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14628</id>
		<title>2025:Audio Key Detection</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14628"/>
		<updated>2025-05-20T10:15:28Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Data == &lt;br /&gt;
=== Collections ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Audio Formats ===&lt;br /&gt;
&lt;br /&gt;
* CD-quality (PCM, 16-bit, 44100 Hz)&lt;br /&gt;
* single channel (mono)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Evaluation Procedures ==&lt;br /&gt;
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 &amp;quot;close&amp;quot; each identified key is to the corresponding correct key. Keys will be considered as &amp;quot;close&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Relation to Correct Key''' ||'''Points'''&lt;br /&gt;
|-&lt;br /&gt;
|Same||1.0&lt;br /&gt;
|-&lt;br /&gt;
|Perfect fifth||0.5&lt;br /&gt;
|-&lt;br /&gt;
|Relative major/minor||0.3&lt;br /&gt;
|-&lt;br /&gt;
|Parallel major/minor||0.2&lt;br /&gt;
|-&lt;br /&gt;
|Other||0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The points are counted over all files and averaged. The number of correctly identified keys as well as the distribution of the errors is also reported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission Format ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Input Data ===&lt;br /&gt;
Participating algorithms will have to read audio in the following format:&lt;br /&gt;
&lt;br /&gt;
* Sample rate: 44.1 KHz&lt;br /&gt;
* Sample size: 16 bit&lt;br /&gt;
* Number of channels: 1 (mono)&lt;br /&gt;
* Encoding: WAV &lt;br /&gt;
&lt;br /&gt;
=== Output Data ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Output File Format (Audio Key Detection) ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;#&amp;quot; symbol is used (e.g. A# for A sharp), for flats, a lowercase &amp;quot;b&amp;quot; is used, e.g. (Bb for B flat). Therefore, the output file should be of the form:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tonic {A, A#, Bb, ...}&amp;gt;\t&amp;lt;mode {major, minor}&amp;gt;\n&lt;br /&gt;
&lt;br /&gt;
where \t denotes a tab, \n denotes the end of line. The &amp;lt; and &amp;gt; characters are not included. An example output file would look something like:&lt;br /&gt;
&lt;br /&gt;
 C    major&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 G#   minor&lt;br /&gt;
&lt;br /&gt;
=== Algorithm Calling Format ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 foobar %input %output&lt;br /&gt;
 foobar -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
Moreover, if your submission takes additional parameters, foobar could be called like:&lt;br /&gt;
&lt;br /&gt;
 foobar .1 %input %output&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output  &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
 foobar('%input','%output')&lt;br /&gt;
 foobar(.1,'%input','%output')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Packaging submissions ===&lt;br /&gt;
&lt;br /&gt;
* All submissions should be statically linked to all libraries (the presence of dynamically linked libraries cannot be guaranteed). [mailto:mirproject@lists.lis.uiuc.edu IMIRSEL] should be notified of any dependencies that you cannot include with your submission at the earliest opportunity (in order to give them time to satisfy the dependency).&lt;br /&gt;
* Be sure to follow the [[2009:Best Coding Practices for MIREX | Best Coding Practices for MIREX]]&lt;br /&gt;
* Be sure to follow the [[MIREX 2019 Submission Instructions]]&lt;br /&gt;
&lt;br /&gt;
All submissions should include a README file including the following the information:&lt;br /&gt;
&lt;br /&gt;
* Command line calling format for all executables including examples&lt;br /&gt;
* Number of threads/cores used or whether this should be specified on the command line&lt;br /&gt;
* Expected memory footprint&lt;br /&gt;
* Expected runtime&lt;br /&gt;
* Approximately how much scratch disk space will the submission need to store any feature/cache files?&lt;br /&gt;
* Any required environments/architectures (and versions) such as Matlab, Java, Python, Bash, Ruby etc.&lt;br /&gt;
* Any special notice regarding to running your algorithm&lt;br /&gt;
&lt;br /&gt;
Note that the information that you place in the README file is '''extremely''' important in ensuring that your submission is evaluated properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== README File ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For instance, to test the program foobar with a specific value for parameter param1, the README file would look like:&lt;br /&gt;
&lt;br /&gt;
 foobar -param1 .1 -i %input -o %output&lt;br /&gt;
&lt;br /&gt;
For a submission using MATLAB, the README file could look like:&lt;br /&gt;
&lt;br /&gt;
 matlab -r &amp;quot;foobar(.1,'%input','%output');quit;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Time and hardware limits ==&lt;br /&gt;
Due to the potentially high number of participants in this and other audio tasks, hard limits on the runtime of submissions will be imposed.&lt;br /&gt;
&lt;br /&gt;
A hard limit of 6 hours will be imposed on analysis times.&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
	<entry>
		<id>https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14627</id>
		<title>2025:Audio Key Detection</title>
		<link rel="alternate" type="text/html" href="https://music-ir.org/mirex/w/index.php?title=2025:Audio_Key_Detection&amp;diff=14627"/>
		<updated>2025-05-20T10:14:30Z</updated>

		<summary type="html">&lt;p&gt;Chestnut: Created page with &amp;quot;==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....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Chestnut</name></author>
		
	</entry>
</feed>