14 ms·
Ask HN: Why are modern music players so bad at playing music in random order?
On my phone I have a micro SD card with thousands of Mp3s on it yet I catch both Google Play Music and VLC player playing the same progression of music over and over when I have the random button set to on... I thought this was because it was a tactic to get me to upgrade the music players I was using, but it also happens lately on all kinds of devices I use.
YouTube, Spotify, and SoundCloud provide revolutionary services yet it seems like a lot of the time I am listening to pre-arranged and designated music playlists rather than a truly honest music stream.
In the days of the 5 disk CD changer, people truly knew what random meant. no tune was played twice until all of the tunes were played...
- fmajid 7y agoNot related to the OP’s complaint, but a shocking few can shuffle by random album. Apple regressed: the iPod could but the iPhone can’t.
- eterm 7y agoThis is something my main music player had circa 2003 when I used a linux desktop player. Since then I've not had it any service or software I use, it's the missing killer feature for me. I want "random"/recommended albums not recommended/random songs.
- alanbernstein 7y agoYou can hack the functionality into desktop spotify, if you care enough (on linux and mac at least).
- dilutedh2o 7y agoAm just here to nitpick, but the 5 disk CD changer behavior that you just described is not true randomness (by definition).
- phreeza 7y agoIt is in fact a random shuffling. Hence the name that was used for this function.
- gvb 7y agoNitpicking your nitpick, the difference is whether the random sampling is with replacement or without replacement. Wikipedia's definition of "simple random sample" defines it to include both ways: [S]ampling is typically done "without replacement", i.e., one deliberately avoids choosing any member of the population more than once. Although simple random sampling can be conducted with replacement instead, this is less common and would normally be described more fully as simple random sampling with replacement. Ref: https://en.wikipedia.org/wiki/Simple_random_sample https://en.wikipedia.org/wiki/Simple_random_sample
- alanbernstein 7y agonitnitnitpick: GP is likely (and overly pedantically) referring to the use of a PRNG to implement the shuffle, rather than using a true random source.
- larrik 7y agoIt is randomness if you are "playing N tracks in random order" and not "select the next track randomly from N choices in a loop".
- TheOtherHobbes 7y agoWhich is why it was called "shuffle" and not "random". Shuffle (mostly) used to do what you expected when you had a medium like CD with a small number of tracks. As the number of available tracks grew, the definition became less and less obvious. With a service like Spotify, you could design an entire multi-page specification to cover all the different possible "shuffle" options you could give users - all of which would be useful in at least some settings. Instead of which users get one button and some guessing.
- ssivark 7y agoDunno about contemporary music players, but: > no tune was played twice until all of the tunes were played That is definitely not compatible with actual mathematical “randomness”. Try rolling a die multiple times and see whether you get all six numbers before repeats. It’s very unlikely (probability of all six rolls being unique = 6!/6^6 = 1.5%) Which brings up the interesting question — what do humans actually expect from “shuffle” mode?
- larrik 7y agoI don't think mathematics is the issue here, rather problem definition. OP wants "Shuffle my playlist into a random order and then play it through" You are thinking closer to "After this song is done, choose a new song at random among ALL available." Spotify's is a mixture, while good offline clients tend to go to the first.
- siphon22 7y agoPersonally what i want out of shuffle is that once a song has been replayed more than n amount of times, it gets temporily removed from the queue for that session or an amount of time.
- simion314 7y agoIn statistics classes we learned that all problems can be reduced to problems with balls and urns. In this problems you can put the ball back in the urn or not put it back, both are valid things and can model different problems.
- egypturnash 7y agoThink of every single erroneous belief that people have about randomness. A pleasing music-randomizer algorithm obeys all of these. The term found on a lot of music players is not "random", it is "shuffle", and this is an important distinction. The term comes from cards. Take a deck of cards, shuffle it, and turn each card over in order from top to bottom. You expect that every card in the deck will be seen once and only once; turning up, say, two eights of clubs in a row means that something is dreadfully wrong with your deck. Humans tend to expect a similar behavior from "shuffle" modes: the same song does not repeat for a while. If people are shuffling by song, then they may also expect that performers don't repeat within a (smaller) timeframe. Nobody expects "pick a random number between 1 and numsongs, play that song, repeat, and be perfectly happy to play Baby Shark forty-seven times in a row if that number keeps on coming up".
- manofkent 7y agohttps://labs.spotify.com/2014/02/28/how-to-shuffle-songs/ https://labs.spotify.com/2014/02/28/how-to-shuffle-songs/
- tobr 7y agoThey must have changed it since, as they frequently put songs by the same artist right next to each other nowadays.
- imdhmd 7y agoI got so tired with YouTube's recommendation for playing Hindi songs, because it got so repetitive, that I opted to delete my entire viewing history. This did not help and with-in a few weeks, the 'random' playlist became predictably repetitive again. I'm having similar experience with YouTube Music as well.
- scohesc 7y agoBecause random is actually "random based on what you've listened to most in your playlist, because we believe that we know the definition of random more than you do"
- moron4hire 7y agoSeems like a Markov Chain approach--considered over artist and genre--would be a good idea.
- jrockway 7y ago> no tune was played twice until all of the tunes were played... That doesn't sound random. I use Google Play Music and it "randomizes" things in the way you desire. It takes your playlist and shuffles the entries; you can even press a button to see how it's sorted it. That ordering sticks around forever if you take no further action, though, so it will repeat that random ordering indefinitely unless you press the shuffle button to disable that, then start playing something, then press the shuffle button again.
- GrumpyNl 7y agoIf its programmed like youtube, it only shuffles the last 100 you have visited in your list, not the whole list.
- saghm 7y agoNot sure exactly what you're referring to here, but on Google Play Music, there's a concept of a "queue" of music that's currently playing/has been played. Generally it's just the songs in order of the album/playlist/etc. where you selected the song to play, but you can also manually add/delete/reorder the songs on the list. Since it keeps track of the songs that were played previously in the queue (to enable the "previous track" button, among other things), enabling shuffle just reorders the queue in a random way (with the currently playing song first). From the few times when I've used it with extremely large lists of songs (e.g. my entire music library), it doesn't just shuffle a subset of the queue that you have currently active, but the entire thing. You can also choose to start playing an album/playlist/etc. shuffled, which just puts the entire thing in the queue in a random order and starts playing through it.
- Alupis 7y agoI first noticed this with Spotify's "Shuffle" - it was so infuriating, particularly when I'd skip a song, it would just play another song from the same artist... sometimes even the same album! That's from a playlist with hundreds of artists and songs...
- ivolimmen 7y agoI noticed the same; and it seems to be getting worse...
- theandrewbailey 7y agoIt sounds like you want a shuffle function that obeys the gambler's fallacy. https://en.wikipedia.org/wiki/Gambler%27s_fallacy https://en.wikipedia.org/wiki/Gambler%27s_fallacy
- jermaustin1 7y agoI've always assumed the royalty cost and popularity factored in, but I've never tried to dig to deep into it. When I shuffle a playlist on Amazon Music, it wont repeat until the end of the playlist.
- patmcc 7y agoHere's the problem: go ahead and ask a bunch of different people what they want/expect their shuffle/random button to do and you'll get a bunch of different answers. 1. I want it to play in a truly random fashion, with replacement (same song twice in a row is possible). 2. I want it to play in a truly random fashion, without replacement (each song is removed from the list once played). 3. I want it to "seem" random (don't play too many songs by the same artist in a row). 4. I want it to be random, but predictable (same "random" ordering if I start the playlist again). 5. I want it to play my favourite songs more often than my lower-rated songs. 6. I want it to play my less-commonly played songs more often than the stuff I listen to all the time. So: what exactly do you want when you say random?
- jbob2000 7y agoOr what about this: I am indecisive about what music I want to listen to in this current moment and I want you to give me options that I will deny until I become decisive about what I want.
- abrowne 7y agoThis is basically what want too, so I like Quod Libet's "Random Album" (and Random Artist and Random Genre) command. It simply focuses on a new album each time I press Ctrl+M, which I can play or queue up.
- alanbernstein 7y agoThis was my favorite feature in winamp and itunes. It doesn't seem to exist in many music apps. I couldn't find an android app that does it, and spotify doesn't do it on any system. On desktop, It's possible to script spotify behavior, so with some work I was able to define a global keyboard shortcut to choose a random album and play it. Not perfect, but gets the job done.
- larrik 7y agoI would say what people usually want is "I want my playlist shuffled in a way that feels like variety". But, I don't have any data to back that up ;)
- asdfman123 7y agoIf it literally plays the same progression of music over and over, it's because the randomization is poorly designed. I had an early MP3 player that literally had the same "random" order, to the point where I always knew what song would come next. In that case, it's because random numbers generated by a computer are pseudorandom, or just generated by the exact same arithmetic sequence. For instance, here's a really bad pseudo-random number generator: Start with 4. Take the last number, divide it by 2, and if it's even add 5. If it goes over 100, subtract 100. (I didn't claim it was good.) These pseudo-random number generators can be improved by providing a seed number, which means if you give it the same starting point it will generate the exact same sequence, but the key is giving it a random seed. Often programs provide the current time as the seed. My last MP3 player would have been much better if they did that. Spotify does a much better job with actually randomly shuffling playlists. But the problem with Spotify is if you listen to, say, Wilco radio, it's not adventurous enough and keeps playing the same few songs over and over in random order until you get sick of all of them. Spotify upped its game with the "daily mix" feature, but yeah, radio stations are kind of crappy right now.
- h2odragon 7y agoHopefully someone will pop up with a logic listing of the way WinAmp did "shuffle". Surprisingly complicated. "Random" isn't enough, even with a good PRNG. Believe it or not radio DJ's had more job than just talking over your favorite bits of the song.
- overcast 7y agoThe answer is that people(like OP) who think they want random, really want shuffle. Or randomly choosing from whatever songs have NOT yet played.
- chkaloon 7y agoPandora (even though I gave it up for Spotify years ago) seemed to be the best at keeping variety. Spotify is very bad at it.
- rasjani 7y agoNever used pandora but MixRadio was the best for my taste. Spotify is nice but it’s really fucking hard to find new stuff that within Spotify itself.
- saghm 7y agoA bit tangential, but for a while I've wanted the ability to "pin" certain songs together for the purpose of random shuffles so that they always get played back to back. One good example of this is the second half Abbey Road; if I'm shuffling some Beatles songs, I really want "Carry That Weight" to come immediately after "Golden Slumbers" (and if I'm being honest, I want "The End" coming right after both of those). I know that I could just manually concatenate the songs together with some sort of music editor and then put that as a single song in my library, but I've always wondered if there were any music players that supported this sort of thing built-in when shuffling music. Has anyone ever used a player that lets you do this, or am I just the only one who wants this?
- jerkstate 7y agoI have noticed that Apple Music seems to always play “we are the champions” after “we will rock you” despite them being different tracks. Not sure how that works!
- logfromblammo 7y agoThose two songs were concatenated and released as a single. Unless you specifically want to play the album versions, Apple is likely to give you the single.
- Qwertystop 7y agoI, too, want this -- I mostly listen to game soundtracks, and sometimes two tracks according to the OST (or the unofficial rip) really felt like one in the game, from when they played. Other times I really do just want to specifically play part two of whatever, though, so if I manually concatenated them I'd need to still keep the originals around; if I did that, I wouldn't be able to just play through the entire album linearly without a repeat. So yeah, being able to pin in a shuffle would be good.
- deleted 7y ago[deleted]
- Timpy 7y ago
- scottlegrand2 7y agoSeems to me like a perfect opportunity for a simple neural network or machine learning model to predict the next song to play based on the last k songs having been trained on a bunch of existing playlists.
- xj9 7y agoa NN is overkill for something like this. you don't even complex logic to make a good shuffled mix.
- fevangelou 7y agoSpotify (and I assume others) doesn't exactly serve a random playlist, but one that favours/returns more revenue back to them. So older releases, "burned out" songs and so on. Create a playlist with 10 songs, add 8 before the 90s (e.g. Cure, U2 etc.) and add some newer ones (after 2000 - e.g. Radiohead). You'll be living in the 80s for most of the time... If you search the Spotify forums, there are a few posts on the issue with no official answer from Spotify whatsoever.
- hadrien01 7y agoOne way to mitigate that is to play music in alphabetical order, it's more random than "random" and you can listen to artists you wouldn't ear with the "random" order
- ngomez 7y agoThis doesn't work too well if someone adds Nine Inch Nails' Ghosts I-IV or Kendrick Lamar's untitled unmastered to their playlist.
- ilikehurdles 7y agoI also suspect this is the case. I also feel like it's part of the reason Spotify has aggressively wiped out easy discovery of user-curated playlists in favor of their own playlists. Just about every playlist you see when browsing around is one authored by Spotify. It used to be that you could find lost of community-made content in the Browse tab. If you want a good, user-maintained playlist now, you have to know its exact name in order to find it. There is no community behind the platform anymore, only an algorithm that maximizes margin for the company.
- crb 7y agoSteve Jobs in 2005: "You know we've gotten a lot of people that say our shuffle's not random. Well it really is random but sometimes random means you've got two songs from the same artist next to each other. Just happens randomly sometimes. And so what we've added is smart shuffle to actually make it less random - if you want. Even though people will think it's more random it's actually less random and what it is, in preferences, there it is right there, it says smart shuffle allows you to control how likely you are to hear multiple songs by the same artist or from the same album in a row." https://youtu.be/lg188Ebas9E?t=719 https://youtu.be/lg188Ebas9E?t=719
- mrweasel 7y agoI always got the feeling that the original iPod Shuffle would randomize your songs ONCE, and that's why people where complaining. So when you loaded up your Shuffle, the software would order the songs randomly, on a playlist, for that set of songs. The Shuffle would then reshuffle the songs, when new one where added or removed, but only then. That theory also explained the disconnect between the complaints and Apples response. Apple would indeed be right that the music was randomized, but not continuously, as consumers expected. It was never clear to me what the issue actually was, perhaps we really don't understand randomness.
- eridius 7y agoApple's response above was talking about iTunes, not about iPods.
- Buttons840 7y agoIf I remember correctly, the encryption performed by the Enigma machine was cracked largely because they would never repeat the same character twice in a 3 letter key. The Allies discovered this and it was a big help in their code breaking efforts. My point being, even mathematicians might mistakenly believe that repeating a song or artist is less random. The creators of the Enigma machine were not dumb, but they believed that repeating letters would be more predictable and thus less random.
- 7y ago
- pwinnski 7y agoThis is why Apple calls it "shuffle" rather than "random."
- christiansakai 7y agoFunny, when I was looking for my first part time dev job in college, a company interviewed me on “how to create a random playlist”. Didn’t get the job. To this day I still wasn’t sure what was the purpose of that question? Was it to see how I think or did they really wanted me to come up with a way to create random playlist that satisfies their arbitrary definition of random
- mindcrime 7y agoI don't have a problem playing my local ogg/mp3 collection in shuffle mode with XMMS; but using Youtube for listening to music sucks in a related regard. It seems like pretty much no matter what song I start listening to on YT, it eventually falls into a rut where I start hearing the same handful of songs that I've heard a million times. It's like it's too good at figuring out "what I like" and tries to only play songs it "knows" I like. Or more likely, since plenty of what I like are "deep cuts", it's just playing the most popular few songs by the given artist(s). The order within a given session is probably shuffled up OK, but it still sucks from a variety standpoint because I don't want to hear "Eighteen and Life", "Round and Round", "Kickstart My Heart", "Livin' On A Prayer", "Rock You Like A Hurricane", "Fallen Angel", "Shot In The Dark", etc., day after day after day after day after day... as much as I like all of those songs. It does seem to be at least somewhat genre aware though. If I start out listening to classical music, it doesn't jump to metal/rock, or if I start out listening to synthwave, it doesn't bridge to classical. But the problem I just described seems to exist within each genre. :-(
- garyfirestorm 7y agoGoogle Play Music seems to truly understand shuffle. Everytime you press shuffle button, you can see the playlist change randomly. I think it is very straight forward, randomize without repetition, still many streaming apps fail to implement it - add Saavn, Gaana to the list too.
- for1nner 7y ago> no tune was played twice until all of the tunes were played... So…not random, then?
- wonderhamster 7y agowhat kind of animal listens to music in a random order?!? I have trouble finding a player that organizes by album. I just want to play to a sorted list of albums in order. No player does this.
- firethief 7y agoMine does: mplayer artist/album/*
- phjesusthatguy3 7y agoSymphony (found it on F-Droid a while ago) claims to do this but it didn't seem to work well for me.
- WorldMaker 7y agoYou can set that up with Foobar 2000 if your albums are correctly tagged. It's also one of the few players I've met that gives you a "middle choice" of randomly picking albums, but playing the albums themselves start to finish. (That said, I'm one of the animals that shuffles everything in my library regardless of genre or album order anything else.)
- magicalhippo 7y agoNot exactly what you want, but Plexamp[1] has a "random album" mode, where it plays randomly selected albums. I really like this feature, as I find it's a good balance between random and coherence. Before anyone screams, yes it's an Electron-based app but it's fairly lightweight as far as those go. [1]: https://plexamp.com/ https://plexamp.com/ (required Plex server)
- s_y_n_t_a_x 7y agoMy side project is a media player (music, images, videos). I'm not happy with any music player, so when I get frustrated with them, I work on mine, trying to solve the issues. Being able to choose a shuffle mode is one big difference in my player. You can choose from lru, random, similar, least skipped. I like least skipped mode because I usually skip past the same songs. The more I skip them, the less they are played. Similar mode is nice because I notice I skip music depending on what mood I'm in, and I have a tendency to just put all my music in one giant playlist. If I'm in a picky mood I put it on similar shuffle and if I listen to a song all the way through it'll play a similar song it hasn't played yet. If I skip a song, it'll use the last one I completed. Another big thing is being able to see the next song coming up, and being able to dismiss it. So you can refine the next in the queue while you listen through the current song.
- gatesphere 7y agoMy FiiO M9 does a real good job at random. But the UI leaves a lot to be desired.
- mrinfinite 7y agovlc with music in folders not individual files is where I would like some better randomness... it favors the folders already open for sure.
- aidenn0 7y agoGone mad music player for android can shuffle your play-queue which is possibly what you want?
- WorldMaker 7y agoThere's definitely a feeling that track orders feel quite similar between play attempts because there isn't a large enough "shuffle memory" between sessions, or in many of these services any "shuffle memory" at all (some really are just random and hoping the distribution of the random function enough to compensate). 5 Disk Changers had a finite need for memory for recalling what had been played, which was easy enough. Some people's libraries are so large it's an interesting question of how much is it worth storing the played state of a song, and for how long (can you clear that to start a fresh shuffle? can you add individual songs back without just clearing the memory state?). Some players let you manually manage this: shuffle songs into a shuffle playlist and then play that list in track order, remembering your last heard state. (For the purposes of dealing with the bad PRNG in my car I wrote a Python script a few years ago to do a version of that shuffle playlist management in how it fills thumb drives intended for my car. It keeps a shuffled track list in YAML and then uses that copy files to the drive by track number for the simple lexicographic default play order of the car.)
- ricardobeat 7y agoWhy do you need to remind me of Rdio again? :(
- zamalek 7y agoBecause random doesn't look/seem random to humans. The problem is that these players aren't randomizing the order of the songs, they are randomizing the next chosen song. You'll want to shuffle the entire playlist at once; or use a player that attempts to avoid this issue (Winamp would let you bias the RNG to choose songs further away from the current one, for example). If you decide on the latter, there is always the chance that you'll hear repetition, because repetition is valid in random sequences.
- gothroach 7y agoI believe the issue he's describing is not how random the playlists seem, but rather that it randomizes a list once and uses that as the order instead of each time the list is played. I've definitely seen that behavior in some music players.
- apaprocki 7y agoNot all music players. I highly suggest you give Roon (https://roonlabs.com https://roonlabs.com) a try, if you haven't already.
- llao 7y agoWhat does it do specifically on shuffling?
- ringshall 7y agoThis talk by Sid Meier is a good description of the problem of true randomness, from a game perspective: https://youtu.be/MtzCLd93SyU?t=1166 https://youtu.be/MtzCLd93SyU?t=1166
- dec0dedab0de 7y agoI haven't listened to randomized music since Winamp 2 was my primary player.
- ianamartin 7y agoThey aren’t. People are bad at understanding randomness.
- luminati 7y agoHere is a nice post about this problem: https://keyj.emphy.de/balanced-shuffle/ https://keyj.emphy.de/balanced-shuffle/
- jey 7y agoVLC 4 has an interesting new randomizer that works as you describe: https://blog.rom1v.com/2019/05/a-new-core-playlist-for-vlc-4/#random-playback https://blog.rom1v.com/2019/05/a-new-core-playlist-for-vlc-4... Discussion: https://news.ycombinator.com/item?id=19978295 https://news.ycombinator.com/item?id=19978295
- wozer 7y agoFoobar2000 is pretty good. It seems to have a bias to play two songs of the same interpret in a row. But I don't mind that.
- magduf 7y agoThis has little to do with music, but as an example of how a program has a "random" setting that doesn't make much sense, my KDE rotating background I've found has a really annoying implementation: Suppose I give it 2 directories full of photos, one of those containing 1000 photos, and the other containing only 1. It'll show that 1 photo half the time, because it's randomly selecting between the directories first, and then selecting among the photos in that directory. It should be selecting randomly between all 1001 photos, but that's not how it works.
- jraph 7y agoThis should get fixed. Have you reported this on bugs.kde.org? People are very friendly there.
- pibi 7y agoThis is exactly the reason why I'm stuck with Deezer. The random selection, which is called Flow, it's just a never-ending stream of music from the track I tagged and similar songs.
- Zarath 7y agoSpotify is the worst offender for me. Random won't play any song outside of the top 100-200 in my song library, but depending on how it is sorted. So if it is sorted from A-Z, I will hear only songs that start with A or B. If it is sorted by date added, I will only hear songs recently added.
- vsnf 7y agoThis sounds like it could be the well-known bug with Spotify Connect, where only the first 100 songs in any given playback context are submitted to the queue[1]. This particular bug has been around since at least 2016. [1] https://community.spotify.com/t5/Other-Partners-Web-Player-etc/BUG-Spotify-Connect-only-shuffles-100-songs/td-p/1299418 https://community.spotify.com/t5/Other-Partners-Web-Player-e...
- qpiox 7y agoEvery single person can have multiple definitions on what random means in different situations (use-cases). My hypothesis is that people use the random or shuffle options when they don't know exactly what do they want to listen to, they have a nice collection (or have access to a huge database), and want to be surprised on what follows. So, a truly random progression is never what you truly want! Instead you want a good DJ, that will suprise you and keep the mood going. Imaging the opposite. A truly randomized playlist out of a list of 100000 songs. Who would want a truly randomized progression? Imagine listening to Beethovens 6th part II, then Sepultura, then Dua Lipa, then Juzni Vetar, and then only after 20000 other songs forced upon you with no context, you will get to the 6th part III. So, don't ask for true random. Ask for an option that will give you a nice progression, keep the tempo, keep the mood, ask you if it is good (or measure it somehow). Yes, you want to hear the oldies/goldies, but not only those, otherwise it will get boring, yes you also want to be educated, to hear some good songs that you have not heard about in the past, ... just some of the possibilities. Playlists are a hot topic in the field of recommender systems these days, and personalized playlists, playlists adapted to your mood and liking and your swings in mood from time to time, are the real future in modern players. Last years ACM Recommenders systems conference had an competition in exactly that - the challenge of automatic playlist continuation. See this link for more details including the publications that presented some of the results of the challenge. http://www.recsyschallenge.com/2018 http://www.recsyschallenge.com/2018
- deleted 7y ago[deleted]
- ryanmercer 7y agoI like how I have it on random, then it'll play 3-4 titles from one artist in a row, even though that artist is roughly equal in number as any other artist in my library. This will happen at least once a week driving home. It will also barely ever play probably 30% of my titles but it will play 5-10% of them a LOT.