• Status Closed
  • Percent Complete
  • Task Type Feature Requests
  • Category Music playback
  • Assigned To No-one
  • Operating System Iriver H100 series
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by mat429 - 2007-10-04

FS#7888 - Learning Mode for Shuffle ( H120) ??

Wondering if this is possible?

I often want to listen to music (obvioulsy), but am not always sure what exactly i want to listen to.
i find that i like to shuffle all the tracks on my h120 ( about 3000) - but get bored of skipping those i dont want to listen to on a particular day - the tracks i want to listen to do change.

Is there any way that rockbox could enter a learning mode where the songs that i skip and the songs i listen to are logged against the database and then make other “similar” songs more or less likely to be played?

The way i was imagining this would work is that the databse would enter shuffle mode and that every song starts with a 100% probability of being played - ie a normal shuffle.

For every song i skip, the song title looses 10%, the artist looses 10% and the genre looses 10%.
for every song that reaches the end the reverse scoring applies with limits of 100% as an upper bound and say 10% as a lower. - although it might be possible to make all these variables user editable.

so on the next shuffle rockbox chooses a song then applies the proability as to whether it is played or not ( in the case listed above the skipped genre would be at 90% and songs by the skipped artist in the skipped genre would be at 80%. if rockbox decides it is not going to play it, it shuffles to the next song, then decides whether to

Even though a genre is continually skipped, there is still a chance it may come up and be “resurrected”.

the database probabilities could be stored for future use, the next time learning mode is enabled, or could be reset to 100% each time - either way, the learning process could be set to learn crudely and quickly or well and slower depending upon the probability weightings applied.

I guess there are other ways of doing this, but not having code writing experience, this was the only way i could think of doing it.

hope this makes sense - and hasnt been asked before.



Closed by  zagor

Reason for closing:  Fixed
Additional comments about closing:  

Closing all feature requests.

Short conversation regarding this in IRC:

14:44 < LinusN> bluebrother: sounds like a complicated thing - can't that be accomplished with a plugin that makes use of track


14:45 < LinusN> or even the scrobbler log
14:45 < bluebrother> why not use the playcount of the database when creating the playlist?
14:45 < LinusN> yeah, the scrobbler log would probably be the best
14:45 < bluebrother> upon recreation of the playlist tracks with a lower playcound would drop
14:45 < LinusN> when is the playcount updated?
14:46 < bluebrother> I think after the track has been played. And it also tracks the percentage of the track played iirc.
14:46 < LinusN> when it has started playing, or when it has completed?
14:46 < LinusN> that's perfect then
14:46 < bluebrother> Slasheri should know ;-) 14:46 < LinusN> so you could use the database and have a clever plugin generate the playlist for you


Available keyboard shortcuts


Task Details

Task Editing