When my playlist with 200+ songs stops shuffling through the same 20 and plays a song I haven't heard in 5 years

3 days ago by time2lose to c/memes

danekrae 39 points 3 days ago

It's been years since I dabbled with programming, but how hard can it be for these music app developers to make a random list of your songs, and pop every played song from the list until it's empty and then repeat.

path: 0 26244257, hotness: undefined, score: 39, children: 21
ExLisper 20 points 3 days ago

I remember reading decades ago how music player devs would implement proper random playback and people would complain that it's not really random because it played the same song second time soon after the first. So the devs had to change it and make it less random...

path: 0 26244257 26245001, hotness: undefined, score: 20, children: 4
BeelzebubEiNukuKoskaan 9 points 3 days ago

Thats why some players have "random" and "shuffle".

Random is truly random, it might play the same two songs multiple times back to back. Highly unlikely, but it might.

Shuffle has a thing built in that avoids a song if it has been played within X amount of time or plays. Some shuffles might have other criteria as well.

path: 0 26244257 26245001 26248558, hotness: undefined, score: 9, children: 0
grue 4 points 3 days ago

The algorithm the grandparent comment suggests is equally random. It's just that it's a random sequence rather than a random selection.

path: 0 26244257 26245001 26247552, hotness: undefined, score: 4, children: 0
atomicbocks 3 points 3 days ago

I remember reading this about the iPod, where they programed it to not play the same artist multiple times in a row or within certain number of songs of each other.

path: 0 26244257 26245001 26247897, hotness: undefined, score: 3, children: 0
Dagnet 2 points 3 days ago

Previous comment wants random order not fully random

path: 0 26244257 26245001 26247537, hotness: undefined, score: 2, children: 0
Wirlocke 9 points 3 days ago

You wouldn't even need to pop songs off the list, just shuffle, go through the playlist, shuffle then restart the playlist.

But the music app developers aren't trying to give you true randomness. They're using machine learning algorithms to try and guess what you really want.

Nothing does what it says it does anymore, everything's trying to second guess you. I hate it.

path: 0 26244257 26248514, hotness: undefined, score: 9, children: 1
binarytobis 5 points 3 days ago

Actually it’s worse. Spotify will explicitly tell you when you randomize your liked songs list that they play bands who pay for the privilege more often.

path: 0 26244257 26248514 26255743, hotness: undefined, score: 5, children: 0
schwifty_squanch 5 points 3 days ago

MPD will do that if you enable the 'consume' option.

path: 0 26244257 26244686, hotness: undefined, score: 5, children: 1
danekrae 5 points 3 days ago

Uuuh, "MPD for Android APK can be installed from F-Droid", nice.

path: 0 26244257 26244686 26244719, hotness: undefined, score: 5, children: 0
Ephera 4 points 3 days ago

Pretty sure that's how most of them work...?

It's a single function call to randomize the order of a list in most randomization libraries. The hardest part would be to persist this randomized list across program restarts, and it's not hard either.

path: 0 26244257 26244941, hotness: undefined, score: 4, children: 9
atomicbocks 3 points 3 days ago

Unfortunately, not Plex. Plex has the absolute worst fucking shuffle mechanism I have ever used in my entire fucking life. It will literally play things in the exact same order multiple times in a row like days later. And in the Plexamp app, it will literally not play past like the fourth track on any album.

path: 0 26244257 26244941 26247924, hotness: undefined, score: 3, children: 0
thisisbutaname 1 point 3 days ago

I bet it's possible to make a function that given a song in a list it returns the next song (or previous) in such a way that it's random but for a given song the previous/next one are always the same, depending on some parameter. That way the only two things the program has to remember is the current song and the parameter used to compute the next one. Then each time shuffle is enabled a new "seed" parameter is rolled.

path: 0 26244257 26244941 26245079, hotness: undefined, score: 1, children: 3
Ephera 2 points 3 days ago

I'm not sure how you would ensure that the songs only show up once in that list, unless you do weird shit like re-rolling the seed until you find one where this happens to be true.

But also, that's a lot harder than just storing the shuffled list. πŸ˜…

path: 0 26244257 26244941 26245079 26246122, hotness: undefined, score: 2, children: 2
addie 2 points 3 days ago

You don't have to do anything fancy, I don't think. Initialise your RNG with the seed that you have stored, shuffle the list, and then rotate the list to get to the 'first song'. Every RNG seed will give a correct result.

If you shuffle using eg. Durstenfeld/Knuth shuffle, which is O(n), then you can make a note of the 'first song's position' and do the rotation at the end of shuffling straight to the first song, in a single pass.

You'll still get a repeatable ordering if songs are added or removed from the playlist - the order will be different, of course - and it takes a lot less storage to write down the seed and the ID of the 'first song', which might matter if you're using a crappy old music player with very limited storage space.

path: 0 26244257 26244941 26245079 26246122 26248667, hotness: undefined, score: 2, children: 1
lightnsfw 1 point 3 days ago

I don't think any of the ones I used are truly random, or there's something else going on. I often just randomize my whole music library and it's always pretty samey. It's often the same songs coming up even though I have 100s and I know for a fact there's songs that have never come up.

path: 0 26244257 26244941 26247680, hotness: undefined, score: 1, children: 3
Ephera 1 point 3 days ago

Hmm, if the songs never show up, it might be worth checking, whether they can be played when you select them manually. I've had it before where the particular music player didn't understand the file format or the metadata of a song, so it just silently skipped it.

But yeah, otherwise that's weird. Obviously, some of the more corporate music players will try to do weird stuff with how shuffle works, but there's so many open-source music players out there, where I just don't see why they'd bother to implement something else than randomized order...

path: 0 26244257 26244941 26247680 26256656, hotness: undefined, score: 1, children: 1
lightnsfw 2 points 2 days ago

The songs do work. I recently switched to symfoniun. Haven't had it long enough to test the randomness but I'm liking the other features so far.

path: 0 26244257 26244941 26247680 26256656 26260214, hotness: undefined, score: 2, children: 0
Soggy 1 point 3 days ago

True randomness has a lot more "clumping" than seems intuitive.

path: 0 26244257 26244941 26247680 26256788, hotness: undefined, score: 1, children: 0
Zarobi 2 points 3 days ago
def getNextShuffle(songs):
    return random.choice(songs)

Vs

def getNextShuffle(songs):
    randList = random.sample(songs, k=len(songs))
    for song in randList:
        yield song

Didn't include persisting it to storage for brevity. Only tricky part would be detecting when the source playlist changes and how to handle that. Personally I'd just append any new songs to a random position in the unplayed portion, while removal is obviously simple

path: 0 26244257 26259090, hotness: undefined, score: 2, children: 0
jballs 1 point 3 days ago

This dude (famous for "do you guys not have phones?") actually has a pretty good YouTube series on interesting ways to tackle programming challenges. He's got one on randomness that I thought was pretty cool: https://youtu.be/2anY9ICA-Pg

path: 0 26244257 26252334, hotness: undefined, score: 1, children: 0
aeronmelon 33 points 3 days ago

Algorithm shuffle is garbage.

2026, and I’m still using iTunes and actual music files loaded on my phone.

It actually shuffles, plays everything in a playlist exactly once, reshuffles everything, and does it again.

path: 0 26246918, hotness: undefined, score: 33, children: 3
BeelzebubEiNukuKoskaan 5 points 3 days ago

Earlier this year I moved away from Youtube Music (was using the Morphe version of course). Ripped all my CDs to mp3 and FLACs. Got Fooyin on my computer and Foobar on my phone. Enjoying everything about it lol. Even the tedious task of ripping the music, setting the tags and filenames properly.

I also played around a bit with some music players that allowed for the good ol' WinAmp skins. Was very nostalgic. But after the nostalgia had burned off, Fooyin was the player of choice.

path: 0 26246918 26248606, hotness: undefined, score: 5, children: 0
HeyThisIsntTheYMCA 2 points 2 days ago

i've been using musicolet for that and i really like it.

path: 0 26246918 26261317, hotness: undefined, score: 2, children: 0
mofongo 2 points 3 days ago

I recommend Guayadeque, it has a smart mode that the next song played is similar to the one before it, so you never go from a slow, sad song to an upbeat one.

https://codeberg.org/thothix/guayadeque

path: 0 26246918 26257083, hotness: undefined, score: 2, children: 0
SippyCup 7 points 3 days ago

I had just gotten Google music to reliably stop doing this when they shut the service down. I've been disappointed with every music service since. I don't have the time to go download thousands of songs, as much as I'd like to. I've gotten really in to podcasts and audiobooks as a result

path: 0 26244029, hotness: undefined, score: 7, children: 2
atomicbocks 2 points 3 days ago

I’m still pissed at Google for buying and then killing rather than integrating Songza. The only thing we kinda got from that was the moods radio in Google music.

path: 0 26244029 26247954, hotness: undefined, score: 2, children: 0
Deme 1 point 2 days ago

Most ripping software I've used allow to throw in a link to a playlist. I started off by ripping a playlist or two from spotify and then adding albums as I buy or otherwise aquire them. Getting started is a bit of work, but once you get over that, the rest is easy. I now have about 238 hours of music on my phone and my desktop after a year or so of doing this.

path: 0 26244029 26260564, hotness: undefined, score: 1, children: 0
Tikiporch 5 points 3 days ago

What is it with streaming playlist mixes that causes them to only play the last dozen or so songs, anyway? I add ONE instrumental song to my liked tracks and suddenly it's all Polyphia and Nito.

path: 0 26246387, hotness: undefined, score: 5, children: 2
PoopBuffet 8 points 3 days ago

They prioritize songs in your cache. That way they reduce their infrastructure costs. On Spotify at least clearing your cache can force it to give you something different.

path: 0 26246387 26247475, hotness: undefined, score: 8, children: 1
grue 3 points 3 days ago

Of course there's some self-serving reason for it. I should've known!

path: 0 26246387 26247475 26247526, hotness: undefined, score: 3, children: 0
heydo 4 points 3 days ago

I've heard Amazon music will only shuffle through blocks of 500 songs at a time. So for my 700 song playlist, if I start with the first song on the list and hit Random, it will only shuffle the first 500 songs. But if I choose a song above number 200, it will be able to shuffle through all 700 songs supposedly.

I haven't tried this out myself, but it would explain why I never hear the newest songs on my playlist when I shuffle.

path: 0 26249825, hotness: undefined, score: 4, children: 0
DupaCycki 3 points 2 days ago

I don't know about other music streaming platforms, but Spotify has a shuffle algorithm, that is deliberately not random.

https://codezup.com/...

path: 0 26261662, hotness: undefined, score: 3, children: 0
jtrek 3 points 3 days ago

Is it an old person thing that I listen to entire albums instead of shuffling tracks?

path: 0 26247372, hotness: undefined, score: 3, children: 2
BeelzebubEiNukuKoskaan 2 points 3 days ago

I have periods of doing both. Last few months I've only listened to full albums. But I also do that with the "shuffle albums on playlist" setting. So I don't particularly choose which album to listen, most of the time I just accept what comes next, sometimes I skip album or two.

But I feel like I'm about to change to the "shuffle tracks on playlist" soon-ish.

path: 0 26247372 26248652, hotness: undefined, score: 2, children: 0
time2lose 1 point 3 days ago

yep. probably.
I cant do that. just using revanced or morphe and use ad-less youtube music.

path: 0 26247372 26247517, hotness: undefined, score: 1, children: 0
CoffeeSoldier 2 points 3 days ago

Use Tidal and can relate. Even worse it has no duplicate removal feature which really causes biases in Playlists.

path: 0 26257604, hotness: undefined, score: 2, children: 0
ThunderLegend 2 points 2 days ago

I have this problem with tempus and navidrome. I don't which one is the guilty one but my random and discovery playlists almost always play the same 500 songs of my 7k songs library.

path: 0 26262449, hotness: undefined, score: 2, children: 0
x00z 2 points 2 days ago

My car stereo has this problem. Its randomization always results in the same list. I have to trick it by doing something random myself first.

path: 0 26261931, hotness: undefined, score: 2, children: 0
serpineslair 2 points 3 days ago

I use spicetify for spotify. There is a shuffle+ addon which adds a truly random shuffle mode.

path: 0 26244366, hotness: undefined, score: 2, children: 3
ExLisper 1 point 3 days ago

Truly random πŸ˜…

path: 0 26244366 26245023, hotness: undefined, score: 1, children: 2
serpineslair 2 points 3 days ago

Yeah I know, I don't believe there is such a thing as true randomness. But I wasn't gonna write a paragraphs debate about that. You know what I meant. 🀣

path: 0 26244366 26245023 26246664, hotness: undefined, score: 2, children: 1
ExLisper 1 point 3 days ago

I know, I know. It's just funny because not only nothing on computer is truly random, the "truly random" option is probably less random then the normal one.

path: 0 26244366 26245023 26246664 26246756, hotness: undefined, score: 1, children: 0
itsgroundhogdayagain 1 point 3 days ago

I assume it does this so you don't skip songs and cause them to have to pay more royalties? The songs you never skip get more preference when "randomly" making the playlist.

path: 0 26248633, hotness: undefined, score: 1, children: 0
9gagescapee 1 point a day ago

What makes these super-funny is the concept of "shuffle bag" is a million years old [citation needed] yet still very, very rarely used... Or even, do a Fisher–Yates on the full set and when finished playing, do again...

path: 0 26282101, hotness: undefined, score: 1, children: 0
memes
memes

@lemmy.world

login for more options
22946
10571
10504

Community rules

1. Be civil

No trolling, bigotry or other insulting / annoying behaviour

2. No politics

This is non-politics community. For political memes please go to !politicalmemes@lemmy.world

3. No recent reposts

Check for reposts when posting a meme, you can only repost after 1 month

4. No bots

No bots without the express approval of the mods or the admins

5. No Spam/Ads/AI Slop

No advertisements or spam. This is an instance rule and the only way to live. We also consider AI slop to be spam in this community and is subject to removal.

A collection of some classic Lemmy memes for your enjoyment

Sister communities

go to feed...