This smart personalized alarm suits itself to the user needs and plays the best possible alarm tune present by looking at previous data.
It gets better and better each time you use it since it learns from the past events. The alarm keeps learning each time you set an alarm.
It records the number of times a particular tune is played and also keeps the average time taken by user to wake up after alarm starts ringing. Using the average data, it keeps learning and gets to know the better tunes which suit you and helps you get up early. So, the python script calculates probability for each particular tune and based on that probability, it decides which tune it will be ringing the next time.
So, the more times it is used, the more it learns about your choices and helps you wake up early.