Help Wizard

Step 1

NEXT STEP

Staff announcements.jpg

Your Ideas At Work: Shuffle Improvements

meahtenoha

The Community Ideas Board isn’t just about requesting new features. It’s also about improving the features already in Spotify.

 

Take our shuffle algorithm for instance.

 

The Idea “Implement an actual shuffle function” by Community user @RoninTheOrigina  gathered over 850 votes.  Users were vocal in their comments about what they wanted (and didn’t want) when it came to shuffling playlists.

 

We then passed this knowledge on and our teams got to work.

 

The result: an improved shuffling algorithm that avoids playing a couple songs from an artist too close together.

 

shuffle algorithm.png

 

If you’re thinking, “that sounds kind of vague, what are these improvements” then fret no more.

 

Spotify’s @lukasP  has written an extensive blog post on how we gathered user feedback on Shuffle, analyzed their comments, took a hard look at our previous algorithm and found the best way to bring the improvements users wanted.

 

We’re aware this doesn’t fix all shuffling issues forever. Rest assured we are still working on this though.  You’ll also see the new algorithm in other clients other than desktop soon.

 

Now go hit shuffle on your favorite playlist and reap the benefits of your hard work clicking that Kudos button.

 

Enjoy!

 

111 Comments
swearm

so here is my suggestion for ramdom play!

 

I have a playlist with 400 songs and I select the button "RANDOM" (Not in spotify right now, but my suggesion is to implement this)

When I press play, each song is assigned a number between 1-400.

When next song is supposed to start, or I press "next song", a dice with, in this case, 400 values is digitally created and digitally thrown.

The next song that will be played is the number on the "dice"

 

If I during play add or remove songs, the dice is altered. So +20 songs means a dice with 420 sides, if 20 songs is removed the next dice to be thrown has 380 sides. This is very easy to program. Even the commodore 64 had a built in "random" funcion, accessable even from basic.

 

Anyway, by this procedure the next song is picked randomly. It also means that the chance to listen to the same song again is only 1 out of 400. You can even program this so if I have selected "repeat" all songs can be played (by 1 to 400 chance) and if unselected it can mean that this recent played song is excluded for the next throwns, means a dice with 399 sides and the number of the recent played song is not possible to be played. This procedure can be valid until I press stop, and by this the playlist is reset, or if I select repeat the list is reset. If I add or remove songs during play, the list alter and the dice equallly. If nothing is done, the playlist plays until the end and stops 400 songs later, and not a single one of the songs has been played twice.

 

I think this is what I really would like to see in spotify. For me it is of no problem that the same song can, in my above exmple, be picked twice, the chance is only 1 out of 400.

 

You can keep the advanced algorithm, but add another button labeld "SHUFFLE" for this funcion

 

//M

 

 

camport

I have an alternative idea for shuffling without repeating songs: create a column or a right-click option to sort your playlist in a (temporary) random order. So the songs are played in a random order when the shuffle function is turned off. And if you want to create a new random order, click on that option again for a new random order.

I also submitted this idea in the Ideas subforum.

Mrdannyblob
I don't see why it can't just put all the songs in a playlist into a random order then just playing them. It's as if after ever song it just picks another song from the playlist at random. The fact that this next song can be the same as the one that just played is a joke. I remember when I used to use iTunes and it would randomize the order of the playlist and just play it in that order over and over until you hit shuffle again, I see zero drawback to this method, aside from generating a very long playlist in a random order maybe. I've given up on using the radio function. Every time it just starts with the same songs. Out of all the songs in each album it still picks the same one from each album every time. Not only that but songs/artists I've disliked still come up over and over. There's this one band that I absolutely hate that comes up constantly on certain artist radios.

Here's a screenshot of the result of hitting the shuffle button on a Pearl Jam album:
https://www.dropbox.com/s/daq5nfyf26xudd3/Screenshot_2015-09-18-17-59-09.png?dl=0
Sirens played 3 times in a row while I was riding my bike, unable to skip the song. Future days played twice within 3 songs after that.

Seriously, how hard can this possibly be? This isn't a feature that Spotify made up and tried to perfect. Shuffle has already been done perfectly for years with literally every other audio player I've ever used. How have they **bleep**ed this up?
Harlowin

Some of you must have some sort of bug that you're experiencing with the shuffle The way the shuffle presently works means that it shuffles the entire playlist. Yeah, you can only see 50 tracks in the queue, but the rest of the tracks are shuffled as well. I've tested this dozens of times. When you go through the playlist, it will never repeat a track until the end of the playlist because the shuffle is just an imaginary playlist in a different order. 

 

The problem is that some things reset the shuffle that probably shouldn't. If you click on a song anywhere on the playlist, it will reset the shuffle. Clicking to another playlist also resets the shuffle.

 

Also, reaching the end of the shuffle DOES NOT CURRENTLY RESET THE SHUFFLE. I have no idea why as I'm pretty sure it used to do this. So if you have a group of songs say "A B C D E F G" and you turn on shuffle and get the order "G E A B D F C", your playlist will persist in this order after you reach the end of the shuffle. With "repeat" on, it will continuously play "G E A B D F C G E A B D F C G E A B D F C" until you do something that resets the shuffle.

 

So yes, it does have its shortcomings but the algorithm itself makes it nearly impossible to repeat tracks just because of the way the shuffle is handled. It's the resetting of the shuffle that is causing the problem

FlyingPole

So apparently spotify say their shuffle is random. The problem is with random is data will appear in clusters, it won't be evenly spread out and a piece of data could appear multiple times before others appear once. This happens because after a piece of data appears is still has the exact same probability of appearing as any other data in the set. i.e. Take the numbers 1-10. Each has a 1 in 10 chance of appearing in a random sequence. The first number could be 8. The second number could be 5. Now that numbers 8 and 5 have appeared does not mean they are less likely to be the next number in the sequence. They still have a 1 in 10 chance just like 1, 2, 3, 4, 6, 7, 9, and 10. This means after 10 numbers have been randomly put in a sequence the sequence could appear as 8, 5, 3, 7, 5, 2, 1, 9, 9, 4. Notice how there are multiple 5's and 9's but no 6's or 10's? This seems to be how Spotifies Algorithim works.

 

How it should work is after a song has been played its probability of being queued should change from being 1 in x (x being number of songs in the playlist) to 0 in x (which is just 0 chance obviously) untill the playlist has been played completely.

 

Now what I have also observed mainly while using Spotify on Android 5.x.x is just like when on shuffle it only plays the first 30-50 songs on a 50+ song playlist, while playing without shuffle (so in the intented playlist order) the playlist will randomly restart the playlist after 30-50 songs even when repeat is turned off.

 

This suggests to me that Spotify has issues with allocating RAM on Android devices. (I only specify Android as I have not experienced this on iOS or Windows). If Spotify is trying to store the playlist order in the devices RAM this could be whats limiting the number of songs it plays to 30-50 even when the playlist is 50+. If this is the case maybe move the playlist order to the devices permanent memory (sort of like virtual memory). It will be slower but could solve the issue everyone is reporting as it will allow for larger playlists so it would be worth looking at if you haven't already. The only limitation would then be the amount of storage available on the device itself.

 

This thread has been going for over a year and the problem still persists so I hope you (the Spotify Team)  see this and at least let me know where you are at with this problem.

 

On an unrelated but possibly actually is related note is how slow Spotify loads on Android devices, taking an average of 30 seconds to load menus. Again this could be how Spotify manages RAM with the Android SDK.