Inspiration
The inspiration behind our music recommender system project came from our passion for music and the desire to help people discover new songs that resonate with their unique tastes. We noticed that with the abundance of music available today, it can be overwhelming for users to find songs that align with their preferences. We wanted to create a platform that simplifies this process and enhances the overall music listening experience for everyone.
What it does
It helps to pick the right music when you're in a certain mood. Our Music Recommendation System from Facial Expressions aims to solve this problem by using facial expression analysis to determine your emotions and suggest suitable songs. Whether you're feeling happy, sad, excited(dancing), our system will provide you with a playlist that matches your emotional state.
How we built it
We first process the image of the user taken as an input with the help of a python library for Computer Vision called 'OpenCV'. This captured image is then made available for the CNN in combination with DNN to make a prediction whether the current mood of the user is 'Happy', 'Dance' or 'Sad'.
The second part is the usage of Unsupervised Machine Learning techniques for clustering songs. The songs are clustered as either of the classes-'HAPPY'(class 0) or 'SAD'(class 1) or 'DANCE'(class 2) using the popular K-means algorithm. Then the recommendation is made in order of the current popularity of the respective songs.
We have an unique story in the way we recommend the songs for each mood, for example when other sites recommend sad songs when a person is sad or feeling bad, we recommend users with songs which will cheer them up('VERY ENTERTAINING'), 'RELAXING' songs when they are 'HAPPY' and 'ROCK' song when emotions are dance. LIBRARIES USED: OpenCV Tensorflow & Keras Sklearn LightGBM potipyTkinter Pillow
Challenges we ran into
One of the main challenges we faced was acquiring and managing a large-scale music dataset. The data had to be cleaned, processed, and integrated into our system, which required considerable effort and time. Additionally, tuning the machine learning models to provide accurate and diverse recommendations was another significant challenge, as we had to balance between over-personalization and avoiding common popular choices.
Another obstacle was optimizing the system's response time, as music recommendation involves handling massive amounts of data in real-time. Ensuring that the platform remains responsive and scalable for a growing user base demanded careful optimization and performance testing.
Accomplishments that we're proud of
Despite the challenges, we are proud of the seamless user experience our music recommender system provides. Users have reported high satisfaction with the quality and relevance of the song recommendations, which is a testament to the effectiveness of our machine learning models and data processing pipelines.
Furthermore, we were able to deploy the system successfully and handle a significant number of concurrent users without sacrificing performance. Our team's collaboration and dedication were key factors in achieving this milestone.
What we learned
Throughout this project, we deepened our understanding of machine learning, particularly in the domain of recommendation systems. We gained valuable insights into data preprocessing, feature engineering, and the challenges associated with building real-world, data-intensive applications.
Moreover, we honed our skills in front-end and back-end development, learning how to build an intuitive user interface and manage complex interactions between different components of the system.
What's next for Song Recommender System
Moving forward, we have several exciting plans for the Song Recommender System. First, we aim to enhance the diversity of recommendations by integrating more advanced techniques like matrix factorization and deep learning models. This will help us better capture the intricate patterns in user preferences and offer even more tailored suggestions.
Additionally, we plan to expand the platform to include social features, allowing users to share and discover music together. This will create a vibrant community around music exploration and foster a collaborative environment for users to exchange their favorite playlists.
Finally, we will continuously gather user feedback and leverage it to refine our algorithms and user experience. Our ultimate goal is to make the Song Recommender System the go-to destination for music enthusiasts worldwide, bringing joy and discovery to millions of music lovers.
Log in or sign up for Devpost to join the conversation.