Inspiration
Often I've felt bored and that I can't find good music to listen to, so I thought I might put the power to make that decision in the hands of an AI and see what it comes up with.
What it does
It contains pop and study playlists for you to see that were created by an LSTM model with data from the top 250 Spotify playlists in each genre.
How we built it
First, track data from the top 250 playlists was taken using the Spotify API and Python. Using the MATLAB Deep Learning Toolbox, an LSTM model was created that takes the track data, learns the tracks used and the sequencing of the tracks, and generates new playlists. The Spotify Web Console was used to create the playlists once I had the track URIs.
Challenges we ran into
One major challenge I ran into was making the model itself. First, I attempted to use a MATLAB LSTM model that would use tokenization on the track IDs and generate new words based on the sequencing of those track IDs. At first, it seemed to work, but once I attempted to train it, it wouldn't train. Since that path had been closed to me, I tried a different approach. I looked at how I could make a character based LSTM model and I changed the model so that it could function on the track IDs I would give it. Though this was much less memory efficient, it seemed to work much better and gave me playlists that I was happy with.
Another major challenge I ran into was making sure that enough data was used, but not too much that the computer would run out of memory. When I attempted to train the model for the first time, I tried using 1000 playlists rather than 250, which caused the script to fail due to an 'Out of memory' error, mainly because of the size of the X and Y vectors used. I then tried a few numbers for the number of playlists to train it on and 250 seemed to be a good number, so that was used.
Accomplishments that we're proud of
I am proud that I was able to learn to make a MATLAB LSTM model over the weekend as I'd never used it before.
What we learned
I learned a lot about MATLAB and how to use the Deep Learning Toolbox.
What's next for Perfect Playlists
Possibly creating playlists for more genres and attempting to use more training data.

Log in or sign up for Devpost to join the conversation.