The shuffle function always keeps playing the same few songs. Could it be that those tracks actually paid the platform to get played more often?
Have you ever had this feeling, friends?
There are clearly hundreds of songs saved in your playlist, but once you hit shuffle play, there are always a few old tracks that keep repeating. You just listened to them in the morning, and they come around again in the afternoon, while some other songs never get picked no matter how many times you shuffle.
Just last week, Shi Chao got tired of all the recent songs he had been playing, so he decided to turn on shuffle to mix in some old tracks (not all old songs, of course), but the result was that the playback kept jumping between new songs over and over.
Where did the promised shuffle go? This situation is not only encountered by Shi Chao.
Some netizens posted that the shuffle function of QQ Music is really bad, the same few songs keep playing every time they turn on shuffle, which is super annoying.
Other netizens said that their playlist has more than 1900 songs, and songs they just listened to yesterday can be picked again by shuffle today;
Some people are even tortured by the shuffle function so much that they choose a weird workaround, playing songs in reverse order of play count.
This is not just a problem with QQ Music. All music apps, including NetEase Cloud Music, KuGou, Apple Music and Spotify, have been complained about their shuffle functions by users.
After complaining, people naturally started to find the reason behind this phenomenon.
Some people say that the program can't achieve real randomness at all, it looks random on the surface, but in fact it follows a fixed pre-set sequence.
Some others suspect that those frequently played songs are paid to be prioritized, otherwise there is no way to explain why newly added songs never get a turn to play, and only those old familiar tracks keep popping up.
It sounds quite reasonable... But before we come to the conclusion, let's do a small test by ourselves.
If there is a completely fair shuffle that treats every song equally and no one pays for priority, what will the playback result look like?
So I wrote a small program to simulate this scenario.
The rule is very simple: there are 500 songs in the playlist, every time you open the playlist, all 500 songs are completely shuffled, then you listen to the first 45 tracks, and you do this for 7 rounds in total.
Calculated at 4 minutes per song, this is equivalent to a person turning on shuffle on his playlist once a day, listening for 3 hours then closing it, for a whole week.
Finally, count how many times each song has been played.
Intuitively, for a 500-song playlist that has played 315 times, even with some repetitions, you should have heard at least 280 to 290 different songs, right?
The result is:
Only 242 different songs are played, among which 50 songs are played twice, 11 songs are played more than 3 times, and 1 song is played 4 times. There are 258 songs that never get played, which is more than half of the total.
The more you go on, the more repeated songs you will get. Only 4 of the 45 songs on the second day have been played before, the number rises to 11 on the fourth day, and 20 on the seventh day, nearly half of which are old tracks you have heard this week.
So the more you use shuffle play every day, the more you feel that it is just repeating old songs.
Then why are there so many repetitions, and so many songs are ignored?
Because the system reshuffles all songs every time, and does not remember what it played for you last time at all.
This is just like the lottery at a company annual party:
There are 500 employees, 45 prizes are drawn every year, for each person, the probability of not winning is 91%, and the probability of not winning for 7 consecutive years is about 51.7%. That means after 7 years, more than half of the people have never won a prize (the lottery will not favor you just because you haven't won for the past 6 years). At the same time, there are always a dozen people who win 3 or 4 times, and people will suspect that they are the boss's relatives.
But probability is just probability, which does not mean that the shuffle function of every app is flawless.
Some people in the comment area said that in their 2000+ song collection, the same song was played 7 times within two days, which is far beyond the scope of coincidence. No platform has publicly explained how their shuffle algorithm works, and Shi Chao cannot vouch for them.
But at least one thing is certain —
Even if you get the fairest shuffle play, the situation that "only a few songs keep playing" and "some songs never get a turn" will still happen.
This is not a new thing, people already complained about it as early as 20 years ago.
In January 2005, Apple released the screenless iPod shuffle, with the slogan "Life is random", highlighting the experience of listening to whatever track the shuffle picks.
Shuffle play became popular, and complaints followed. Many people felt that their iPod was biased towards certain songs.
Steven Levy, a tech journalist from Newsweek, found that his iPod especially loved playing songs from the band Steely Dan, and he wrote a column about it called "Is Your iPod Biased?".
Apple responded that its shuffle is completely random, and later statisticians tested the actual playback data of iPod, and found no evidence of non-randomness.
But users did not buy this explanation, and Apple finally made concessions.
In iTunes 5 released in September of the same year, a new slider called Smart Shuffle was added, which can adjust the probability that songs from the same singer or the same album appear consecutively.
A similar thing also happened to Spotify.
For a long time, many users questioned that Spotify's shuffle is not random enough, but Spotify said "Hey, our shuffle is really random".
At that time, Spotify used the Fisher-Yates shuffle algorithm, which can be understood as shuffling the entire playlist completely like a deck of playing cards, and every possible sequence has exactly the same probability of appearing.
This means that the probability of three songs from the same artist playing consecutively is exactly the same as that of them playing separately, and the algorithm will not deliberately avoid the former situation.
So when the playlist is long enough and there are many songs from the same artist, consecutive tracks from the same artist are bound to happen sooner or later.
This is just like the gambler's fallacy: if a coin lands on heads four times in a row, people will think that the fifth time must be tails, but the coin has no memory, and the fifth time still has a 50/50 chance. The shuffle algorithm is the same, it will not deliberately avoid playing another song by Jay Chou just after you just listened to one of his tracks.
But sometimes theory doesn't work, guys. In 2014, Spotify honestly modified its algorithm.
They spread songs from the same artist as evenly as possible across the entire playlist, and added a little random offset to avoid the arrangement being too neat. Last November, Spotify also launched a new default shuffle mode for paid users called Fewer Repeats, which refers to your recent playback history to make sure the songs you just listened to will not appear again soon.
In fact, domestic software has been doing the same thing over the years, starting to optimize the "shuffle play" function.
For example, long pressing the shuffle button in NetEase Cloud Music will pop up an adjustment panel, where you can adjust your preference, choosing between similar or varied styles, and prioritizing frequently played or rarely played songs. QQ Music also has similar functions.
Seeing this, you may think: a shuffle function needs so many algorithm adjustments and optimizations, does it sound a bit ironic?
After all, the "random" that people want is not real randomness at all.
Think about it, when do we usually use shuffle play?
Most of the time we use it when we don't know what to listen to, and we are tired of the few songs we have been looping recently. When we turn on shuffle, what we actually mean is: Play whatever you want, you know what I mean, right?
But shuffle play has no brain, how could it understand what you mean?
More importantly, music always carries your current mood and the atmosphere of specific moments. If you entrust such an expectation-laden thing to a completely random, unfeeling system, you will definitely get disappointing results.
We humans always remember negative emotions more deeply, which eventually leads to the deep impression that shuffle play is total garbage.
We seem to choose shuffle play, but what we actually want is a DJ that knows us well.
Real randomness can never achieve that.
When iTunes added the Smart Shuffle function back then, Steve Jobs once said a sentence, which Shi Chao will put at the end of this article:
We’re making it less random to make it feel more random.
Image and Source References:
https://web.archive.org/web/20230112052142/
https://engineering.atspotify.com/2014/02/how-to-shuffle-songs/
Spotify Updates Shuffle to Keep Your Playlists Feeling Fresh
Teacher’s Corner:Does Your iPod Really Play Favorites?
Apple Introduces iTunes 5
This article is from WeChat official account "X.PIN", author: Ci Wei, editors: Mangshan Iron Head Viper, Mian Xian, published with authorization from 36Kr.