Feel free to split hairs about if I mean “random” or if I mean "varied."
Since at least 2011, I’ve always been flabbergasted at the inability of any of my music devices being able to generate a truly random play list.
Lately I use a music playing app and listen to music through my phone. I have some odd 200 bands, some with more tracks than others, but several thousand songs.
All this week I’ve put my entire track list on shuffle. I am aware of the shuffle/turn off shuffle/turn shuffle back on trick to get your shuffle playlist out of a loop.
My playlist is indeed different every day, but it gravitates to the same few bands and tracks. There are at least 5 songs that I hear every time I shuffle during the first 20 minutes or so. Likewise, it will play one band’s full album in a random order before playing the second half of my library.
Why is it so hard to really shuffle a play list? Is there a trick I don’t know?
First of all, don’t think you need “truly random” numbers here, just a pseudorandom function that mixes things up.
Beyond that, it is by no means hard to shuffle a list, so the question is whether turning shuffle off and then on really results in a re-shuffle. I would test it a few times. If you have and the same songs are at the beginning each time, either it is a bug (certainly possible), or else the “shuffle” function is not a random shuffle at all, but rather some ad hoc algorithm that does things like keep the tracks of an album together.
I used to be able to “fool” iTunes back when that was my main way of listening: I’d sort songs by track length then “shuffle” that list, it tended to un-bunch a lot of bunched-up data points and would result in a more natural listening experience. With my app, Pi Music Player, the shuffle all tracks function is a little hit-and-miss.
But you’re right. I don’t need to hear one of every band before any band repeats or anything of that nature, but hearing 4 tracks off one album within an hour when I have thousands of hours of music, the illusion of randomness gets lost.
I used to be able to “fool” iTunes back when that was my main way of listening: I’d sort songs by track length then “shuffle” that list, it tended to un-bunch a lot of bunched-up data points and would result in a more natural listening experience. With my app, Pi Music Player, the shuffle all tracks function is a little hit-and-miss.
But you’re right. I don’t need to hear one of every band before any band repeats or anything of that nature, but hearing 4 tracks off one album within an hour when I have thousands of hours of music, the illusion of randomness gets lost.
I don’t know, my iPod touch 6th generation seems to work pretty well. I have thousands of songs in it. I’ve been using shuffle a lot lately and haven’t noticed excessive repetition.
As a veteran of iPod shuffle listening, I’ve always been struck by the relative non-randomness of the shuffle setting. The iPod gremlins are way overly fond of certain of my albums (which are not sorted according to a rating system).
I mildly enjoy a two-disc album of Hispanic versions of rock hits (“Los Nuggetz”), but I don’t need to hear a song off that album for every hour or two of listening, when a truly random shuffle would have one such song materializing at best every couple of days.
This is why I’ve bought about six sequential Sony car decks in a row–they actually have a really good shuffle algorithm. I usually have either a 32 or a 64GB USB drive plugged in with the whole thing set on shuffle > device and I hardly ever get repeats, as one would expect with several thousand tracks to work through. Anyway, it’s pretty good.
On my phone I recently installed Folder Player and it’s also got a decent shuffle to it. Good enough for government work, anway.
I’ve had the same experience using an Android app. 4 songs from one album once I could see, but the standard pattern was to concentrate on a few albums with a few other songs interspersed and then move to some new albums to play a few songs from. I could move it to new albums by manually playing a song from one.
I think there are some old threads about this very problem.
WAG: it’s not hard to shuffle a list, but the problem is that your music collection isn’t stored in the form of a one-dimensional list, but in a more complex structure. So there more involved in randomly picking a song than just (pseudo)randomly picking a number from 1 to n.
Quite true, but “shuffle”, as opposed to “random play”, is supposed to start by building a list, which could be your entire collection or a subset like everything by a given artist or in a given genre, and then shuffle that playlist like a deck of cards. Either way ISTM a one-dimensional list gets constructed as the first step, unless I have misunderstood the meaning of “shuffle”.
Here’s what I’ve been doing lately to get a more or less random selection- I go to my alphabetical song list (~4000 songs) and pick a letter, maybe G or R or whatever. Then pick one of the tunes and hit Play. Shuffle is turned off. The only thing the songs have in common is they all start with G (until they all play, then H comes up). It works pretty well for me.
It’s really, really easy to shuffle a list randomly (or at least, randomly enough). The problem is, that’s really unpopular with customers, many of whom will complain that it’s “not random enough”. So the makers of music players instead come up with algorithms that are designed to give what most customers want when they say “random”, and that’s a much harder problem (for starters, you have to figure out what customers actually want, when you can’t rely on what they say).
Yes, I recall reading about how much work went into the shuffle feature of some online streaming service (Pandora IIRC, but it might have been Spotify). The problem is that humans are really good at finding patterns in randomness, and the challenge is for the computer to look for those patterns and preemptively break them up.
My own workaround is that I use a player on my phone (Rocket Player) that has dynamic, rule-based playlists. I usually add a rule to only play songs that haven’t been played in the last 7-30 days, depending on the size of the playlist, and once a song is played it drops off the list for the duration. I get a constant turnover of music that way.
I’m a programmer and it’s very easy to randomly shuffle a list. The problem is that humans have a terrible sense of what is truly random.
I know a professor who makes his students flip a coin 50 times and write down the results (HTHHH…). He then tells them to make up another sample of 50 flips and try to make it random. He can then look at the two samples and immediately tell which one represents the real coin flips and he is almost always right. His trick: he looks for the sample with the most consecutive heads or tails. In a random sample of 50 coin flips it is very unlikely that there will NOT be a run of 6 (?) or more consecutive values. Students, however, think that 6 in a row is not really random and almost never have such a sample.
When you’re listening to your shuffled list of 1000+ songs you will eventually come to a section equivalent to 6 heads in a row and in the moment you’ll think the random shuffle sucks but it’s just an expected outcome of truly random shuffles.
Coming up with an algorithm that humans <think> is random is much harder because it’s a psychological problem, not a mathematical/programming problem. You mentioned “varied” in the OP but what does that mean? If you have two songs by the same band in a row, one a rocker and one a ballad, is that varied? What about about the same song by two different bands? It’s an interesting problem but likely has no solution that most people would agree on.
Well, I hope they do a better job of it than the folks at I -heart- radio do. If I bring up, say, The Beatles channel it will play one (1) Beatles tune then start throwing up songs at random that go farther and farther afield and play another Beatles tune an hour later, if I’m lucky. Some bands have a rather thin catalog and doing so would be more understandable in such cases, but The Beatles? You’re not even trying.
They keep asking my to subscribe and give them money. Hell, no, I’ll stick with Alexa instead.
It’s understandable how that happens: Most I Heart Radio stations themed on a particular band have songs by that band, and songs that are similar to songs by that band. But the Beatles have songs that are similar to everything, so anything is similar to some Beatles song or another, and so a Beatles channel can include nearly any song at all.
While that might be a reasonable approach for most bands, they should maybe consider a different approach for that particular band. I mean, if any band deserves special treatment, it’s the Beatles.
I did a “playlist” of songs alphabetically by title, and then did shuffles on that. Problem is, I don’t like all the songs on my collection. Still end up hitting next. Not hitting next is the goal, right? Telepathy is the only answer. But who wants Apple to be able to do that?
If you don’t like some songs in your collection, surely the solution is to take them out of your collection? Or if, for some reason, you want to keep it and just never listen to it, make a playlist that’s all of the music you own except for the few you don’t like?