Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
in AI and Deep Learning by (50.2k points)

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.

1 Answer

0 votes
by (108k points)

The context in which people listen to music has been the object of study of a growing number of publications, particularly coming from the field of music psychology. Konecni has suggested that the act of music listening has vacated the physical spaces devoted exclusively to music performance and enjoyment long ago and that music nowadays is listened to in a wide variety of contexts.

As music increasingly accompanies our everyday activities, the music and the listener are not the only factors, as the context of listening has emerged as another variable that influences and is influenced by the other two factors. It has been also observed that people consciously understand these interactions and use them when choosing music for daily life activities. The context of music listening seems to influence the way in which people choose music, and so music recommenders should suggest music items to fit the situation and needs of each particular listener.

I would track all of your users' listening habits in a central database, so you can make recommendations based on what other people like too ("people that liked this song, also liked these other songs")

  • did they turn on the "repeat this song" button during play?

some other metrics to consider:

  • the proportion of times that the song was immediately replayed (ex. this song was immediately replayed 12% of the time it was played)

  • times played per hour, day, week, the month

  • the proportion of times this song was skipped. (ex. this song was played, but immediately skipped 99% of the time)

  • the proportion of song listened to (the user listened to 50% of this song on average, versus 100% of some other song)


  • listen in on the user's microphone. do they sing along?

  • what volume do they play the song? do they crank it up?

  • Put in a "recommend this song to friends" button (that emails song title to a friend or something). Songs they recommend, they probably like.

You can refer the following link for better understanding:

If you are looking to learn more about Artificial Intelligence then you visit Artificial Intelligence Tutorial. Also, if you are appearing for job profiles of AI Engineer or AI Expert then you can prepare for the interviews on Artificial Intelligence Interview Questions.

Browse Categories