Student : TC du Plooy
About the student
I am a Computer Science Honours candidate specializing in Artificial Intelligence. I am also a DJ/producer that is passionate about music.
About the Project
My project makes use of a AI in order to recommend what track a DJ should play next during a set/live performance. To be specific, my project makes use of the encoder section of an autoencoder (which is a form of neural network) to generate latent space embeddings using data for the tracks that a DJ has chosen to play during a set. It then traverses the latent space to find the shortest path between all of the embeddings of these tracks and then recommends the track that is next along the recommendation path. The data used as input to the encoder is the danceability, energy, instrumentalness, and valence scores of the track; the loudness of the track; the key and mode of the track (e.g. A minor, C major etc); the beats-per-minute (BPM) of the track, and the chroma values of the track, which are a representation of the pitches of different notes. This data is then fed to the encoder and used to generate an embedding, which in this case is basically a compressed version of all the data provided as input that maintains the most important information. All of the tracks that the DJ wants to play in their set, along with all of the above data, is uploaded to the system and selected to be used in the set; the first track the DJ would like to play is selected, and then a recommendation path that orders the songs in the optimal order to play during a set is given.
