4 ms·
I think you're solving the wrong problem here. The goal is not to take a list and shuffle it once. That's trivial. The goal is: given a set of N songs, sample a
by rcthompson 9y ago
I think you're solving the wrong problem here. The goal is not to take a list and shuffle it once. That's trivial. The goal is: given a set of N songs, sample an arbitrarily long sequence of songs with replacement from this set such that the sequence "feels" random. Things that are random but don't "feel random" include: playing the same song too often, not playing a song often enough, and repeating the same sub-sequence of songs too often. The "shuffle the list once and repeat forever" approach fails hard on the last criterion. Generating a new shuffle every time through the list solves that issue but fails on the first two criteria, since a song could appear at the end of one shuffle and at the beginning of the next, resulting in repeating the same song twice in a row (or vice versa, resulting in the song not playing for 2N-2 songs).
- bryanlarsen 9y agoAlso: - don't play too many songs from the same artist in a row (and too many is probably 2) - don't play too many slow/fast/sad/angry/... songs in a row - ... instruments - ... genres - ... "feel" - ... Deep AI is definitely needed to create playlists that "feel random". :)
- weaksauce 9y agoI don't think what people want is random when they say that... they want intelligently mixed playlists that meet a few criteria. no back to back songs from the same artist unless the pool of songs doesn't have sufficient variability in artists, not too frequent repeating of the same song, if you have a live version of the song it should be lowered sufficiently in probability of playing when another cover/live version played. basically people want to remove repetition.
- rcthompson 9y agoI think in the general case you could imagine a NxN matrix of values between 0 and 1 representing similarity between N songs. Songs on the same album would have high similarity, especially consecutive tracks on the album, and different versions of the same song (e.g. live vs. studio) would also have high similarity. Then when selecting the next song, you would weight each available song's selection probability inversely to its similarity to the last few songs.
- oliv__ 9y agoI don't see how this requires "deep AI". Aren't songs already categorized by their contents?