BeatBuddy is a content-based song recommendation system that suggests similar tracks based on both genre and numerical audio features. Whether you're vibing to a mellow tune or a high-energy banger, BeatBuddy finds you the next perfect track โ intelligently.
- ๐ถ Smart Song Matching: Enter a song name to receive intelligent music recommendations.
- ๐ Text + Numeric Similarity: Combines genre (text) and audio features (numbers) using cosine similarity.
- โ Graceful Handling of Unknown Songs: If a song isnโt found, the app suggests random tracks to keep the music flowing.
- ๐ Spotify API Integration: Get direct Spotify links for recommended tracks.
- Vectorization: The genre of each song is transformed using
TfidfVectorizer. - Feature Extraction: Numeric features such as tempo, danceability, and energy are extracted using
pandas. - Similarity Calculation: Cosine similarity is applied to both text and numerical vectors.
- Recommendation Output: The top matches are returned with song titles and Spotify track URLs.
- Python 3
- NumPy
- Pandas
- Scikit-learn
- Spotify API (for metadata and track hrefs)
| Input Song | Output Recommendation |
|---|---|
"Me Love" |
5 song recommendations with Spotify links |
"Shape of You" |
Song not found fallback with 5 random suggestions |