Skip to content
This repository has been archived by the owner on Jan 23, 2024. It is now read-only.

Probability Systems #125

Open
Leviathan1753 opened this issue Jan 5, 2017 · 4 comments
Open

Probability Systems #125

Leviathan1753 opened this issue Jan 5, 2017 · 4 comments

Comments

@Leviathan1753
Copy link

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.

@simon-weber
Copy link
Owner

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
Copy link
Owner

simon-weber commented Jan 6, 2017

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.

@Leviathan1753
Copy link
Author

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

@Dasonk
Copy link
Contributor

Dasonk commented Mar 6, 2017

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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants