spicetify-extensions icon indicating copy to clipboard operation
spicetify-extensions copied to clipboard

Recommend songs differently with Feature Shuffle

Open schradert opened this issue 1 year ago • 4 comments

Is your feature request related to a problem? Please describe.

Honestly, the recommendation algorithm in Feature Shuffle does not work well. I have tried to use this extension with 10 different playlists, and the results have not been what I expected: completely different vibe entirely, nothing even in the same genre, and preference for massively popular songs. Spotify already has the Enhance feature now which works somewhat well in a similar vein, but it's not exactly the same as what you built here, and it would be cool to improve this.

Describe the solution you'd like

Although in principle, averaging the audio features of songs on the playlist might intuitively make sense if the playlist has very similar songs, I think the varied distribution of audio features on the playlist is critical to how people perceive their playlist, and these differences are lost in the current scheme. I think an algorithm that would have more success could randomly sample songs from the playlist, and then try to find a song for each one selected that is within a reasonable range of that particular song's audio features.

I also think the expectation of this feature is that the genres would be preserved, which definitely isn't happening currently. A look at the /search endpoint shows you can constrain song searches by genre. Combine this with the above suggestion, and I think it will possibly work as expected.

I'm not sure about how to control for popularity, partly because I think this might just be an emergent property of the algorithm currently used. The suggestions above might correct this tendency. Popularity is also not directly an audio feature, so I don't think it makes sense to include filters for this.

I'm happy to help contribute to this when I have some time! Let me know if you are interested in what I described above. Thanks :)

schradert avatar Dec 22 '22 17:12 schradert