| import random |
| import spotipy |
| from spotipy.oauth2 import SpotifyClientCredentials |
|
|
| |
| client_id = '471e06ff0a13445095909029b18c265c' |
| client_secret = 'c0f56895d29f434cbeac4309d0b42d05' |
| client_credentials_manager = SpotifyClientCredentials(client_id=client_id, client_secret=client_secret) |
| sp = spotipy.Spotify(client_credentials_manager=client_credentials_manager) |
|
|
| def search_song_by_emotion(emotion): |
| |
| emotion_keywords = { |
| "neutral": ["raga des sarangi", "raga malkauns", "raga bhairav", "raga rageshri"], |
| "surprise": ["raag hameer", "raag kedar", "raga puriya"], |
| "fear": ["raag bilahari", "raag purvi", "raag shudh kalyan", "raag miya ki malhar"], |
| "sad": ["raag yaman sitar", "raga hameer","raga shyam kalyan"], |
| "angry": ["raag jaijaiwanti", "raag bhairavi", "raga puriya", "raag kafi"], |
| "happy": ["raga hamsadhwani sarod", "raga khamaj", "raga bhupali", "raga bahar"], |
| "disgust": ["raga khamaj", "raga bilaskhani todi", "raga suddha kalyan"] |
| } |
|
|
| |
| keywords = emotion_keywords.get(emotion.lower(), []) |
| if keywords: |
| keywords = random.choice(keywords) |
| results = sp.search(q=f"track:{keywords}", type="track", limit=1) |
| tracks = results["tracks"]["items"] |
|
|
| |
| if tracks: |
| preview_url = tracks[0]["preview_url"] |
| return preview_url |
| return None |