Teams
Links
Description
The PartyLister is a playlist generator built to try out a weighting scheme used when comparing tag clouds to do collaborative playlist generation.
Imagine you are at a party where there are people with different musical taste. A good playlist would include songs that most people would like. We try to satisfy everyone by taking into account each of their taste.
The generation is based on tags clouds and we use them in the following way:
- Get tags for every artists and tracks that the system knows about. (last.fm)
- Get similar artists for artists that the users know to allow discovery (echonest)
- Each user is represented by a tag cloud encoding all his listening history on last.fm
- Each user can also built a steerable tag cloud, encoding the kind of music he currently wishes to listen to (since what we currently want to listen to is heavily dependant on the context)
- Chose the next track to play by computing the similarity between every candidate song's tag cloud with both the user's musical taste and their steerable tag clouds.
- Each user has a weight that is determined by how the past few songs fitted with his taste. If we've been neglecting a user, give him more weight when choosing the next songs
This plot shows the average distance of each user's musical taste to the current track playing over the last 5 songs. As a user get's a higher error, he get's more weight in the choice of the next song and so we have an alternating parttern between user's musical taste.
Other things can be added to the weighting of the next artist/track to play, like how familiar are the listeners to the given artist or if it is popular in general
Tools, Platforms and APIs Used
- Last.fm API
- EchoNest API
- Python, MySQL
Comments (0)
You don't have permission to comment on this page.