Discussion
Tempo Extraction
The average accuracy achieved by the tempo extraction method is shown in the following table:
|
Initial Guess |
Convolution |
Comb filter |
Average error over all songs (%) |
5.800 |
2.373 |
2.273 |
Average error ignoring outliers (%) |
0.313 |
0.294 |
0.139 |
# Songs with improved accuracy from previous step |
N/A |
24 |
30 |
This shows that the value extracted for tempo is successfully optimised at each step. (Outliers refer to songs that are detected with an error in excess of 1% which might skew the results unfairly).
Mixability Classification
The mixability classification process proved to be very succesful, demonstrated by a high cross-validation accuracy result of 87.5%.
The final accuracy of the tempo detection process for each song determined whether songs were classified as 'mixable' or 'unmixable'. A mix was assumed to be successful where the beats of two songs were found still to overlap after a period of 8 bars, or one phrase - which indicates that they do not clash. The threshold accuracy was chosen as 0.089% - a figure determined by analysis of average beat lengths in songs, and related to ensuring an overlap after 8 bars.
Mix Output Evaluation
The success of a mix is a subjective matter - and thus a set of 21 mixes outputted from the program was evaluated by 5 human listeners, who were asked to classify each as 'good', 'passable', or 'bad' if they heard them in a club environment or on their computer at home. This yielded the following results:
Good
Passable
Bad
Person 1
11
4
6
Person 2
9
7
5
Person 3
8
6
7
Person 4 (DJ)
8
5
8
Person 5 (DJ)
8
7
6
Average
41.9
27.6
30.5
Analysis of the mixes created found that most unsuccessful mixes were created because of a poor song alignment rather than an inaccuracy in tempo detection.