MIREX 2005
AUDIO MELODY EXTRACTION CONTEST
COLUMBIA UNIVERSITY SUBMISSION
Graham Poliner and Dan Ellis 
{graham,dpwe}@ee.columbia.edu

-----------------------------

TABLE OF CONTENTS
1. Submission Description
2. Included Files (aka Key Scripts and Binary Files)
3. System Usage
4. Special Instructions

_____________________________

1. SUBMISSION DESCRIPTION

The submission is a classification approach to melody transcription. 
A SVM classifier is used to predict a MIDI note frequency at each 
10 ms instant.  

_____________________________

2. INCLUDED FILES

melodycompetition.sh - Shell script that runs our submission. 
Input arguments: inwavfile.wav is the name of the .wav file to be classified.
outfreqfile.txt is the name of the output file to be generated according 
to the Audio Melody Extraction Format. 
Output file: 2 column .txt file according to contest format 
Essentially, the algorithm calls preprocessData.m, WEKA classifier, 
then postprocessData.m. PLEASE SEE SPECIAL INSTRUCTIONS.

preprocessData.m - matlab file that calculates audio features for 
WEKA classification.
Input arguments: inAudioFile is the file name of the .wav file.
outDataFile is the name of the .csv output file.

mirexClassifier4 - WEKA SVM classifier

postprocessData.m - converts WEKA output predictions to mirex
Melody competition format.
Input arguments: inAudioFile is the file name of the .wav file.
predictionFile is the output of the WEKA classifier.
soulutionFile is the file name to write melody transcription.

voice_header.txt - header file to prepend to the .csv data file 
for WEKA.

_____________________________

3. SYSTEM USAGE

Simply call melodycompetition.sh with argument 1 as the .wav file
under consideration and argument 2 as the desired output file name
for the predicted REF.txt file.

_____________________________

4. SPECIAL INSTRUCTIONS

Please note that path names within the script 
(namely for matlab, java, and weka) may need to be modified 
for proper operation. 


