日本語 Download on the App Store
← Back to home DEV NOTE · ON SHUFFLING

Why shuffle keeps playing
the same songs

Why random doesn’t feel random.

Rondio dev notes6 min read

01True randomness clumps together

Real randomness doesn’t look random to us. Flip a coin twenty times and you will almost never get a tidy alternating pattern. Four of the same face in a row is the ordinary outcome, not the strange one.

One run of twenty coin flips. Streaks of three and four show up all the time.

Statistically there is nothing wrong with that sequence. But look at it, and it feels lopsided.

The same thing happens with music. Keep picking one track at random from a 100-track playlist and you will get the same artist three times in a row, and you will hear a track you just heard. That is randomness working exactly as intended.

02Hearing all 100 tracks takes 519 plays

If every pick is drawn fresh from all 100 tracks, it takes about 519 plays, on average, before you have heard each one.

519
re-drawing at random every time
100
every track once per pass

This is the coupon collector’s problem: 100 × (1 + 1/2 + 1/3 + … + 1/100) ≈ 519. The last few tracks are the ones that never seem to come up.

TO BE FAIR That figure assumes a player that re-draws a single track every time. Most music apps build a queue of some length the moment you hit play, so things are rarely that extreme in practice.

The point still holds, though. As long as tracks are drawn with replacement, some of them simply stay unheard. If you feel like part of your library never gets played, you are not imagining it.

What happens when that queue runs out is anyone’s guess. Whether the next queue excludes what you already heard, or starts over from the whole library, isn’t published anywhere. What is certain is only this:

the same tracks over and over,
while plenty of others never played at all.

03What we call “shuffle” isn’t random play

This is the most interesting part of the whole story.

When people say a shuffle “feels right,” what they are describing isn’t randomness at all. It’s even distribution.
  • The same artist doesn’t come up twice in a row
  • A track you just heard doesn’t come back right away
  • The whole library gets its turn

You cannot get there by being more random. You get there by deciding the order on purpose. And all three of those come for free from a single rule:

all tracks once per pass.

With that rule, a track that never plays is impossible. Nothing repeats before the pass ends. The library always comes around.

Listening to it in that order makes it obvious. What makes a shuffle feel right isn’t how random it is — it’s that everything gets played.

04Rondio’s take

That ideal shuffle is exactly what Rondio does. Rondio is a player for the music files on your iPhone and iPad.

1
The full order is set the moment you press play

Rather than pulling songs from a rolling pool, Rondio lays out the order for every track in the range first. One pass plays each track exactly once. For that 100-track playlist: 100 plays, not 519.

2
No two tracks by the same artist back to back

While the order is laid out, tracks by the same artist are spaced apart so they never land next to each other.

3
Tracks you haven’t played yet come up early

Rondio favors tracks with a low play count, so nothing you added sits there unplayed. The counter only reflects plays in Rondio — history from other apps isn’t carried over.

4
Favorites spread evenly across the pass

Your favorites don’t all land at the front or hide at the very end. They arrive at a steady pace, because hearing a track you love is what lifts the whole hour.

5
Album shuffle

Shuffles the order of albums while leaving each album’s track order intact. An album’s sequence is something the artist put together deliberately — on days you want that, this is the mode.

6
Album shuffle inside a playlist

Buy a track on iTunes and the artist name sometimes comes back transliterated, so “Michael Jackson” and its localised spelling end up as two different artists. Rondio’s answer is to put both into one playlist and shuffle it by album — so you get everything by that artist, album by album, in a different order each time.

PLEASE NOTE Rondio cannot play streaming tracks. They are protected, and third-party apps have no access to them. Rondio is for people who want to play the files they own — mp3, m4a and FLAC.

05Everything else

A quick look at the rest of the app. Some of these are premium features.

Point Rondio at any folder visible in the Files app and it imports from there
On-device or in the cloud, your music stays where it is and still reads as one library
Tracks in the Music app appear as just another folder
No copies are made inside the app, so nothing takes up space twice
mp3, m4a (AAC) and FLAC
Background playback, lock screen controls and dark mode
Widgets
No ads, no account. Your library and play counts never leave your device

Rondio is a free download. Premium features are a one-time purchase — no subscription — and you can try them free for 14 days.

06Closing

That feeling that shuffle is lopsided isn’t in your head. True randomness runs against our intuition. And when all tracks play once per pass, that is what people recognize as a properly shuffled library.

Random doesn’t
feel random.

If the same thing has been bothering you, hopefully this reaches you.

Want a shuffle that doesn’t clump?

Rondio is a local music player for iPhone and iPad. Free to download.