๐ต Mood-Based Song Detector
๐ Inspiration
Music is deeply connected to emotions, and we often associate certain songs with specific moods. We wanted to build an AI-powered chatbot that could analyze the mood of any songโwhether from lyrics, audio, or metadataโand provide meaningful insights. Inspired by music streaming services and AI-powered recommendation engines, we set out to create a chatbot that helps users understand the emotional essence of their favorite tracks.
๐ ๏ธ How We Built It
- Backend: Developed using Python (Flask/FastAPI) for API handling.
- Mood Analysis:
- Lyrics Processing: Used NLTK and TextBlob for sentiment analysis.
- Audio Analysis: Utilized Librosa to extract tempo, pitch, and energy levels.
- Metadata Processing: Fetched song details using the Spotify API / Last.fm API.
- Lyrics Processing: Used NLTK and TextBlob for sentiment analysis.
- Chatbot Interface: Built using Dialogflow / Rasa for natural conversation.
- Deployment: Hosted on Heroku with a simple front-end in React.js.
๐ก What We Learned
- How to integrate AI with music data (text, audio, and metadata).
- Improved our knowledge of NLP for sentiment analysis.
- Learned audio feature extraction using machine learning.
- Understood the importance of user-friendly chatbot design.
๐ฅ Challenges We Faced
- Handling Instrumental Songs: Since they have no lyrics, we relied purely on audio features.
- Varying Song Data: Some songs lacked metadata, requiring fallback strategies.
- Real-Time Processing: Ensuring quick responses for chatbot interaction.
๐ Conclusion
The Mood-Based Song Detector is an engaging AI chatbot that blends music and AI in a creative way. By detecting song emotions, it opens new possibilities for personalized music experiences. While there's room for improvement, weโre excited about refining our model and expanding its features in the future!
Built With
- amazon-web-services
- bootstrap
- dialogflow
- fastapi
- flask
- googlefirebase
- heroku
- html/css
- javascript
- mongodb
- openaigpt
- python
- react.js
- spotifyapi
- sqlite
Log in or sign up for Devpost to join the conversation.