The SIMPLEST solution is smth along the following:
For a given theme, create parameters that define audio features of a spotify song.. this can take shape in multiple ways
We can do a "closeness score" where we define an audio feature like danceability for something like peanut butter jam to be associated to the value 0.85 and a weight of some number b, we then take any given song and then calculate the score by doing the (1 - | song's danceability - theme danceability|) * b. We then take the first 50 songs among all songs across users in the lobby. We can add weight for common songs too.
Another way we can do it is to define a "range" for an audio feature. For example, let's say peanut butter jam worthy songs fall under the range of 0.6 - 0.9 in danceability. We can then filter out songs that don't meet these criteria and then take a random sample of what remains as part of first couple songs.. adding weights for common songs as well
As seen in the examples above, the scoring system is naturally tied to song selection, though there are probably places where we can merge/tweak them
[ ] :wave: I may be able to implement this feature request
We need to figure out a way to generate these playlists.. we can choose an easy prompt to start with one of the following:
Essentially the algorithm will have the following interface
Proposed Solution
RFC write up on playlist generation
The SIMPLEST solution is smth along the following:
For a given theme, create parameters that define audio features of a spotify song.. this can take shape in multiple ways
danceability
for something likepeanut butter jam
to be associated to the value0.85
and a weight of some numberb
, we then take any given song and then calculate the score by doing the(1 - | song's danceability - theme danceability|) * b
. We then take the first 50 songs among all songs across users in the lobby. We can add weight for common songs too.peanut butter jam
worthy songs fall under the range of0.6 - 0.9
in danceability. We can then filter out songs that don't meet these criteria and then take a random sample of what remains as part of first couple songs.. adding weights for common songs as wellAs seen in the examples above, the scoring system is naturally tied to song selection, though there are probably places where we can merge/tweak them
[ ] :wave: I may be able to implement this feature request
This is a :rocket: Feature Request