top | item 33742014

Show HN: Recycle your old Spotify playlists into new ones

50 points| dr00bot | 3 years ago |playlistrecycle.com

I wanted a way to quickly generate new Spotify playlists from my library based on some simple user inputs. There are probably a bunch of songs floating around in old playlists that you will never listen to again so the Spotify Playlist Recycling Plant is an attempt to resurrect these forgotten gems!

At the heart of this tool is a simple custom algorithm that uses Spotify's 5000+ unique genres to find similar artists. It works well for my purposes but everybody uses Spotify differently so I'd love some feedback :)

Built using React and the Spotify Web API.

19 comments

order

CrypticShift|3 years ago

Well done! I like your design approach: artists as seeds in a controlled genre-based expanding similarity selection. It is like a recommendation system but limited to your own music library content.

Just a simple suggestion: allow for copying the result as a text list (I'm one of those who can tolerate you reading my data but not writing in it)

Some of you may be looking for more "plain" ways of recycling your library (where you more explicitly choose the final outcome) by

- (re)organizing (by genres, popularity, date added, audio features...) -> http://organizeyourmusic.playlistmachinery.com/

- (re)combining (using a good selection of modular dataflow operators) -> http://smarterplaylists.playlistmachinery.com/

---

Bonus : https://observablehq.com/@mjbo/genre-map-explorer-for-spotif...

dr00bot|3 years ago

Thanks! I think the text output is a good option. Will add it to the backlog :).

calebh|3 years ago

It would be nice if it would be possible to import your "liked" songs. I don't typically put songs I like into a specific playlist.

dr00bot|3 years ago

Great idea. There's an endpoint for this so I'll add this functionality soon. Thanks!

kingkongjaffa|3 years ago

Agreed. Often my likes list is across multiple moods and genres so playing my likes back doesn’t flow so nicely. Being able to split them up properly would be a nice feature.

snac|3 years ago

I'm a big fan of this for how simple it is. How anyone that has used Spotify for years, knows how bad their random song algorithm is. Can you elaborate more on your 'simple custom algorithm'? I 'recycled' a large playlist with 650+ songs and I'm listening to songs I almost never listen to, I love it.

dr00bot|3 years ago

Thanks! Glad you've found it useful :). The algo is quite simple but a little bit hard to explain so I'll do my best...

The aim is to find similar artists to the ones you have selected based on genre (every artist on Spotify is associated with multiple genres).

1. The tool pre-calculates the number of artists from your playlists that are associated with each genre (e.g. "jazztronica: 3" indicates that there are 3 artists in your playlists in the genre jazztronica).

2. We compute a threshold called artist_thresh which is a function of the total number of artists across all your imported playlists and the "Similarity Threshold" set in the tool.

3. For each artist you select in the tool, we find all of their associated genres which have an artist count BELOW our artist_thresh.

4. For each of the genres selected in the previous step (as well as any genres manually selected in the tool), add all the associated artists to our output playlist.

5. Finally apply the "Release Years" and "Include Explicit Tracks?" filters and output the playlist.

The underlying assumption here is that rarer genres are more specific and therefore better indicators of similarity. E.g. I am more confident that two artists that share the genre "uk alternative hip hop" are similar than if they only share the genre "rap".

Hope this makes sense!

joxel|3 years ago

No matter what I set the similarity threshold too, its just reproducing exactly the input songs. Any tips?

dr00bot|3 years ago

That's interesting. Depending on the number of tracks/artists that you initially import it is possible that the tool won't find any similar artists.

Can I ask how many tracks and artists you are importing from your playlists and how many artists you are selecting in the parameters panel?

mahathu|3 years ago

Really cool! Great job, OP! Can you explain a bit further what that "simple custom algorithm" does and how it works?

EDIT: A nice additional feature would be to add a filter to only show playlist that you created yourself

dr00bot|3 years ago

Thanks! I've explained the algorithm in a previous comment. If it doesn't make sense let me know.

And I like that feature idea. Will add it to the backlog!

strobby|3 years ago

Do you delete the tracks from your servers after the playlist is generated? :)

Thanks, this works great!

dr00bot|3 years ago

Thanks! The app is fully client-side so nothing is ever stored on my servers. I pretty much use the Spotify API as the backend.