I've created a Winamp-like music player in Delphi. Not so complex, of course. Just a simple one.
But now I would like to add a more complex feature: Songs in the library should be automatically rated based on the user's listening habits.
This means: The application should "understand" if the user likes a song or not. And not only whether he/she likes it but also how much.
My approach so far (data which could be used):
- Simply measure how often a song was played per time. Start counting time when the song was added to the library so that recent songs don't have any disadvantage.
- Measure how long a song was played on average (minutes).
- Starting a song but directly change to another one should have a bad influence on the ranking since the user didn't seem to like the song.
- ...
Could you please help me with this problem? I would just like to have some ideas. I don't need the implementation in Delphi.