HydrogenAudio

Hosted Forums => foobar2000 => General - (fb2k) => Topic started by: EpicForever on 2024-03-24 19:08:22

Title: Can we finally have REAL shuffle playback?
Post by: EpicForever on 2024-03-24 19:08:22
I love foobar2000. But there is one strong annoyance, on both Windows and Android platforms. Shuffle playback. On Android I am able to learn patterns that the app applies while playing in shuffle order... It is annoying, that I have to disable and enable shuffle playback to have the pattern changed. Why just changing track manually isn't enough?

But it isn't better on Windows. Typically I listen to a long playlist of single tracks in shuffle mode, so it isn't annoying, it is impossible to spot it that there is something wrong. But recently I started listening to a big bunch of albums in shuffle mode. And OMG - now I can learn the pattern which album (a random track from it) will be played at which point. Dear god! How deterministic is this shuffle, if from 300 albums it just selected maybe 10, maybe 20, and just plays tracks from those 10-20 only? Looks like foobar selects some "regions of interest" throughout the length of playlist, and just picks tracks from those! I remember that the only real shuffle playback was available in Winamp. It even have some slider, which regulated how much shuffle this should be (I believe it was called "shuffle morph rate") and I always kept it at "max" and I was always happy, having totally shuffled playback, each time. In foobar I see the same album pattern even after PC restart! For god's sake, how this can be that you can learn "shufflicity" of a program?! Am I a genius or this really so obvious? How non-shuffle has to be this algorithm to give such results?

Can we have this really fixed?
Title: Re: Can we finally have REAL shuffle playback?
Post by: Cannonaire on 2024-03-25 07:48:54
This is how shuffle works for me on a clean install: It's different every time I restart the program, and you can make a button to manually reshuffle (Button options Main Menu Items > Playback/Reshuffle). As far as I understand it, Shuffle will store a randomized playback order that will play every song in the playlist, but that order will stay the same unless you restart, reshuffle, or—if you have reshuffle on manual track selection on—select a track manually, at which point it will make a completely new shuffle order and you may hear repeats.

If it is not working like this for you, then I believe it must have been changed by a component you use.

I also use Case's Skip Track component, which lets me skip any track played within the last X amount of time (I have it set to 8 hours). This will ensure that you don't hear repeats even if you do reset the shuffle order. I hope this helps.
Title: Re: Can we finally have REAL shuffle playback?
Post by: EpicForever on 2024-03-25 09:06:36
The problem I report is how this randomized order is generated. Algorithm behind this randomization is very deterministic. Each time it selects just few areas of the playlist, which are jumped to frequently. While 80% of the playlist is just dead and never selected, thus never played. While it makes no sense, I can make here a long list of albums which are on my current playlist, and list those few albums which are played frequently. But giving exact titles proves nothing specific. It is a fact, that this randomization is very deterministic and very similar each time PC is started.
Title: Re: Can we finally have REAL shuffle playback?
Post by: regor on 2024-03-25 12:00:56
While I agree the current shuffle methods are mediocre, at best... you can simply create a playlist and apply a sorting there, according to your taste. You may find tons of components, scripts, etc. for that. Some even being similar to spotify's shuffle.

Now, what you are complaining could be a bug, but you would have to really prove it. I mean, it's already known 100% random shuffle algorithms seem deterministic to most people, because people really want a non-random shuffle xd .Random patterns are usually "understood" as recognizable patterns.
https://engineering.atspotify.com/2014/02/how-to-shuffle-songs/

Have zero idea about what shuffle code does on foobar (per track? title?), that's up to the dev to tell. But if you can provide real numbers showing an specific pattern on multiple tests, that may help. Otherwise is just empty talking (even if you were right).
Title: Re: Can we finally have REAL shuffle playback?
Post by: ojdo on 2024-03-25 14:19:52
If your shuffle needs are not satisfied by the current random/shuffle options, you might want to have a look at the sophisticated foo_randompools (https://hydrogenaud.io/index.php/topic,77460.0.html) component. It's not easy to setup, but you can get very specific as to how weighted you want your samples to be, while allowing pre-filtering (e.g rating LESS 2).

However, it does not work on existing playlists, but rather creates pre-shuffled playlists by "drawing" configurable sets of tracks from configurable groups ("pools") of tracks.