Inspiration
I am a huge music lover and always with my earphones on listening to something, but most of the times the recommended music from the music apps is quite opposite to my mood at that time. it is always frustrating to search various playlists to match your vibe. That is the main Idea behind this product.
What it does
It recognizes the mood of the user using a Machine learning algorithm and recommends the music based on that mood. This app also has options to Karaoke and finding your music soulmate.
How we built it
Concept and Design:
We started by brainstorming ideas around music-based mood detection and how we could extend this into a social platform where users can connect based on similar music preferences. This led to the concept of "Mood-Tunes," where users can discover music based on their mood and find like-minded individuals. After conceptualizing the idea, we sketched out a wireframe for the app to plan the user interface and user experience flow. This included the homepage, mood-based music recommendation feature, and the dating feature for matching users based on music tastes. Technology Stack:
Frontend: The user interface was built using Streamlit, which allowed us to quickly develop interactive and responsive web components. The simplicity of Streamlit helped us iterate and deploy the app faster. Backend: The backend was integrated with OpenCV and Keras to build the mood detection feature. This allowed us to use machine learning models for real-time emotion recognition using the webcam. Music Integration: We integrated with Spotify's Web API using the Spotipy library to fetch music recommendations based on detected moods and user searches. Video Integration: We used Agora SDK to enable real-time video interactions for the Karaoke channel, allowing users to share their musical experiences. User Authentication: We implemented simple login and signup functionality using state management in Streamlit, allowing users to access personalized features after logging in. Development Process:
Mood Detection: We trained a deep learning model using Keras to recognize emotions from facial expressions. This model is deployed within the app to detect users' emotions in real-time via their webcam using OpenCV. The detected emotion is then used to recommend suitable playlists from Spotify, creating a seamless experience for users who want music that matches their mood. Music Recommendation: We connected the app to the Spotify API, which allowed us to fetch playlists, albums, and tracks based on emotions. Using Spotipy, we could handle user searches and provide embedded playback options within the app. We also embedded popular and trending songs on the homepage, providing easy access to top tracks. Social/Dating Feature: We added a "Find People Alike" button on the homepage, which takes users to a separate page where they can see potential matches based on shared music interests. Using Streamlit's session_state, we managed navigation between different app views (home and dating) to provide a smooth user experience. The HTML/CSS was embedded within Streamlit to create a visually appealing profile page where users can see potential matches and choose to connect with them based on similar music tastes. Video Integration: To make the app more engaging, we used the Agora SDK to set up a real-time video feature. Users could join karaoke sessions and enjoy singing along with others, making the app more interactive.
Challenges we ran into
API Integration: Managing the Spotify API integration to ensure seamless streaming within the app required configuring embedded players and handling authentication issues. User Authentication: Building a smooth login and signup process that integrated seamlessly with the homepage was essential for enhancing the user experience. Real-Time Video: Implementing real-time video features with Agora required overcoming issues with cross-browser compatibility and user authentication.
Accomplishments that we're proud of
We successfully combined multiple features—emotion detection, music streaming, social networking, and real-time video—into one cohesive app. The app provides a unique experience, blending technology with entertainment and fostering connections between users with similar music preferences. We managed to build and deploy this solution within a short timeframe, utilizing a robust tech stack and tools that allowed us to iterate quickly.
What we learned
API Integration: We gained valuable experience in integrating external APIs, such as Spotify and Agora. This taught us how to handle authentication, manage tokens, and ensure smooth communication between our app and these services, enhancing our understanding of real
What's next for Mood Tunes
The future of Mood Tunes can be considered as the next go to music app because it has everything, a smart mood based music recommendation to video karaokes and dating options. I strongly believe all the generations will love this app.
Log in or sign up for Devpost to join the conversation.