The objective of this project is to automatically generate a music playlist that connects two songs selected by the user. In principle, the selected songs can be very different. The generated playlist will commute from one song to another, trying to progress smoothly. Also, the playlist will be random, so everytime you use the system with the same input, the generated playlist will be different.
More formally, we created a graph, where the nodes are the songs in our dataset, and the edges connect similar songs. To create this graph, we used more than 300,000 playlists from Spotify's users and a word2vec model. We consider each playlist as a document and each song as a word. With the constructed model, we created the graph by connecting each song to it's most similar ones. Given the first and last song of the playlist, we generate the playlist by traversing this graph.
Below you will find a prototype of the algorithm, where it's possible to generate a music playlist given the first and last song of the playlist, and the desired number of songs. Also, you can save the playlist on Spotify using your Spotify account.
To generate your playlist, you must select the first and last song of the playlist and set the desired number of songs.
You can connect to your Spotify account to save the playlist.