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 (%)
(# outliers )

0.313
(7)

0.294
(6)

0.139
(6)

# 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.