GouthamVarma
commited on
Commit
•
49ba027
1
Parent(s):
86718ad
Add dataset download functionality
Browse files- .gitignore +1 -0
- README.md +29 -3
- app.py +11 -0
- requirements.txt +8 -0
.gitignore
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
song_dataset.csv
|
README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
---
|
2 |
title: Not Spotify But Close
|
3 |
-
emoji:
|
4 |
colorFrom: blue
|
5 |
colorTo: pink
|
6 |
sdk: gradio
|
@@ -8,7 +8,33 @@ sdk_version: 5.5.0
|
|
8 |
app_file: app.py
|
9 |
pinned: false
|
10 |
license: mit
|
11 |
-
short_description:
|
12 |
---
|
13 |
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
title: Not Spotify But Close
|
3 |
+
emoji: 🎵
|
4 |
colorFrom: blue
|
5 |
colorTo: pink
|
6 |
sdk: gradio
|
|
|
8 |
app_file: app.py
|
9 |
pinned: false
|
10 |
license: mit
|
11 |
+
short_description: Your Personal Music Matchmaker 🎧
|
12 |
---
|
13 |
|
14 |
+
# 🎵 Not Spotify But Close
|
15 |
+
|
16 |
+
Ever wished you had a friend with impeccable music taste who just *gets* your vibe? Meet your AI-powered music recommendation companion!
|
17 |
+
|
18 |
+
## 🎧 What's Cooking?
|
19 |
+
Using the power of collaborative filtering, we analyze over 100,000 real listening patterns to suggest music that's perfectly paired with your taste.
|
20 |
+
|
21 |
+
## 🎮 How to Use
|
22 |
+
1. 🔍 Search for songs you love
|
23 |
+
2. ✨ Pick up to 5 of your favorites
|
24 |
+
3. 🎯 Hit "Get Recommendations" and watch the magic happen!
|
25 |
+
|
26 |
+
## 🎼 Features
|
27 |
+
- Lightning-fast song search
|
28 |
+
- Detailed recommendations including artist and release year
|
29 |
+
- Clean, intuitive interface
|
30 |
+
- No account needed - just search and discover!
|
31 |
+
|
32 |
+
## 🛠 Technical Stack
|
33 |
+
- Built with Python, Gradio, and scikit-learn
|
34 |
+
- Powered by collaborative filtering algorithms
|
35 |
+
- Trained on real-world listening data
|
36 |
+
|
37 |
+
Made with ❤️ for music lovers, by music lovers.
|
38 |
+
|
39 |
+
---
|
40 |
+
*Note: This is a demo project and not affiliated with any music streaming service.*
|
app.py
CHANGED
@@ -3,7 +3,18 @@ import numpy as np
|
|
3 |
import pandas as pd
|
4 |
from sklearn.metrics.pairwise import cosine_similarity
|
5 |
import gradio as gr
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
# Load the data
|
8 |
df = pd.read_csv('song_dataset.csv')
|
9 |
|
|
|
3 |
import pandas as pd
|
4 |
from sklearn.metrics.pairwise import cosine_similarity
|
5 |
import gradio as gr
|
6 |
+
import gdown
|
7 |
+
import os
|
8 |
|
9 |
+
# Add this at the start of your script
|
10 |
+
def download_dataset():
|
11 |
+
if not os.path.exists('song_dataset.csv'):
|
12 |
+
# Replace with your Google Drive file ID
|
13 |
+
url = "https://docs.google.com/spreadsheets/d/1MKqJmWQ1PxKHDkpIdbQEeTz_ohpjOsYPyVp6esEZsq4/"
|
14 |
+
gdown.download(url, 'song_dataset.csv', quiet=False)
|
15 |
+
|
16 |
+
# Add this line before loading the dataset
|
17 |
+
download_dataset()
|
18 |
# Load the data
|
19 |
df = pd.read_csv('song_dataset.csv')
|
20 |
|
requirements.txt
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
numpy>=1.21.0
|
2 |
+
pandas>=1.3.0
|
3 |
+
matplotlib>=3.4.0
|
4 |
+
seaborn>=0.11.0
|
5 |
+
plotly>=5.0.0
|
6 |
+
scikit-learn>=0.24.0
|
7 |
+
gradio>=5.5.0
|
8 |
+
gdown>=4.7.0
|