Autoplaylists-for-Google-Music icon indicating copy to clipboard operation
Autoplaylists-for-Google-Music copied to clipboard

Probability Systems

Open Leviathan1753 opened this issue 8 years ago • 4 comments

Might be a pipedream feature request, but I think it would be extremely powerful to have some sort of sway on the probabilities of songs showing up on a list.

For example, a simple one could be a weighting by genre:

  • Electronic 45%
  • Metal 45%
  • Ambient 10%

This would allow me to curate a list to be the right ratio, despite electronic having 4x songs as metal, for example.

I imagine the easiest way to do it would be to have weight values, so i could assign electronic a value of 8, metal a value of 10, and ambient 1, and each would have the probability of X / 19 (the total weight values). There's lots of ways to go about achieving this, but just wanted to start the idea and see if it sounded feasible at any point.

Leviathan1753 avatar Jan 05 '17 23:01 Leviathan1753

Huh, that's an interesting idea. The 0-1 value currently used for random sorting could be reused to implement it. I think it'd have to be a separate section of the ui like limit/sort, though, since I don't think weighting would have meaning inside a condition.

For what it's worth, I think you could (laboriously) implement this right now with playlist linking. For your example, you'd do something like:

  • playlist E: electornic tracks, limit to X
  • playlist M: metal tracks, limit to X
  • playlist A: ambient tracks, limit to ~X/4
  • final playlist: any(playlist E, playlist M, playlist A)

simon-weber avatar Jan 06 '17 01:01 simon-weber

Though I guess the way I'm thinking about it, it'd be easier to have the input be a percentage so it could be directly compared to the stored random value. So your example could be a weight of ~25% on ambient (with implicit weights of 100% on everything else). It doesn't let you easily weight things up (ie the percentage is capped at 100%), though; only down.

simon-weber avatar Jan 06 '17 01:01 simon-weber

Yeah, a separate section would be fine. Conditions would block certain songs from being included at all, and then a different section would handle probability setup for songs that passed.

I've done some probability work on some of my hobby projects, and one system I've had success with is just a relative weighting system. Just let any double value be the weight for an item, and then for the final %, you take each item's weight / total weight sum of the list. This way, if someone is thinking percentages.. they could do .25, .25, .50... or just 25, 25, 50.. or 1, 1, 2. It's a nice system as it's very flexible since it doesn't all have to add up to 100 or anything weird. You can toss in another item whenever and you don't have to mess with the existing items on the list to compensate.

I'll give your multiple playlists idea a go! Doesn't sound too bad

Leviathan1753 avatar Jan 06 '17 02:01 Leviathan1753

This is a feature built into Amarok that I really like. If I ever get some time I might try helping to implement this as it is something I really like.

Dasonk avatar Mar 06 '17 17:03 Dasonk