Further work
Alternative faders with automatic choice
When a DJ performs a mix between two songs, they are highly unlikely to simply decrease the volume of the first track as they increase the volume of the second, as performed in this project. In reality they would perform a careful blending of the different frequency ranges of each track. Several different fade options could be added to the program, which could automatically choose between them using features extracted from songs.
Playlist generation by solving the Travelling Salesman Problem
The order of the playlist could be more elegantly determined by solving an adaptation of the Travelling Salesman Problem (TSP), using a number of extra features extracted during the tempo extraction process, in addition to flux and tempo. This would enable a more efficient ordering to be created.
Post-mix verification
An idea discussed but never fully explored was the addition of a post-mix verification method. Once the mixing of two songs was completed, the output would then be analysed to determine its validity. If the method determined that a mix was inadequate, it would repeat the original mixing method with new parameters inferred from the post-mix analysis.
Constant pitch timescaling
Songs are mixed as close as possible to their original tempo in this project, in order to minimise any potential distortion of the sound. In addition to this, if the tempo is changed significantly, the pitch of the track is also changed, which can make songs sound very strange – particularly those with vocal content. However, the implementation of a ‘phase vocoder’ [2] makes varying the tempo of songs without changing their pitch possible.
Key extraction
As issue which was not addressed in this project was that of potential 'key-clashing', where the musical keys of two songs make a mix sound strange if they do not fit well with one another. The implementation of an effective phase vocoder presents the opportunity for an automated key extraction of songs, which can help create a better playlist ordering.. The method has been successfully implemented in a commerical context, as a DJ tool named 'Mixed in Key', which retails for $58 [3].