There are two components to the system: data processing/analysis and data collection. Code for each component is provided below.

Analysis and Baseline System

These R scripts were used to analyze the dataset and to implement a baseline QBT system. You will need to get R to run it. If you are new to R (or maybe you prefer IDEs), we suggest to also install RStudio.

Results Errata

The results for the melodic contour classification shown in Table 5 of the ISMIR'13 paper where slightly underperformed. This was due to over-thresholding differences, which mistakenly clustered together "notes" that could be differentiated by using a smaller threshold value. The corrected values are:
Accuracy (%)
ConditionTop 1Top 5Top 10
Rhythmic contour51.9270.8278.46
Melodic contour41.5256.8865.97
Both contours55.2271.6879.41
Significance analysis
Χ2(1, N=3,365)16.241.452.29

Data Collection System

The dataset was collected using an iOS app, which fed a backend implemented using Ruby-On-Rails. The code can be found here.