Skip to content

Commit

Permalink
app.py added cover image UI improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
vedanthv authored May 29, 2021
1 parent 0ada1a4 commit fb05611
Showing 1 changed file with 19 additions and 22 deletions.
41 changes: 19 additions & 22 deletions app.py
Original file line number Diff line number Diff line change
@@ -1,70 +1,67 @@
# Importing the librarires
import streamlit as st
import cv2
import matplotlib.pyplot as plt
from deepface import DeepFace
import streamlit as st
import test
import spotipy

from spotipy.oauth2 import SpotifyClientCredentials
import streamlit as st
import test
import random


client_id = '8be5f0367b7a4b54b730b33faa7c1b2c'
client_secret = '0bc78da67fa44fe985c2586aa74d7e1d'

client_credentials_manager = SpotifyClientCredentials(client_id, client_secret)
sp = spotipy.Spotify(client_credentials_manager =client_credentials_manager)

# Creating the containers
header = st.beta_container()
inp = st.beta_container()
pred = st.beta_container()

with header:
st.image('background.png')
st.title('Emotion Detection and Song Recommendation')
st.text('Aim : To detect the emotion of the person and predict a song')
st.markdown('**Aim : To detect the emotion of the person and predict a song**')

# Captures user's face as input
with inp:
st.title("Taking the user's face as input")
st.markdown("**Press 'C' to capture the image**")
st.title("Image Capture")
st.markdown("**Capturing an image of your face**")
faceCascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")
test.take_input()

# Predicting the dominant emotion
with pred:
st.title("Prediction")
st.title("Let's see what songs you should listen to !!")
img = cv2.imread('photo.jpg')

plt.imshow(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))

predictions = DeepFace.analyze(img)

emotion = predictions['dominant_emotion']

st.markdown("<b>You don't look very happy!</b> ")
#st.text("Your emotion is {}".format(predictions['dominant_emotion']))

# Recommending songs based on the dominant emotion
if(predictions['dominant_emotion'] != 'happy'):

playlist_id = '42EL4koTAevxJ4R8IT8OHJ'
#func to extract all track ids
st.markdown("**You don't look too cheerful....Here are some songs to lift your mood up!!**")
playlist_id = '37i9dQZF1DX9XIFQuFvzM4'

def get_track_ids(playlist_id):
music_id_list = []
playlist = sp.playlist(playlist_id)
# creating a list of track ids of all the songs in the playlist

for item in playlist['tracks']['items']:
music_track = item['track']
music_id_list.append(music_track['id'])
return music_id_list

track_ids = get_track_ids(playlist_id)

# looping over the entire track_ids list and returning 5 random songs
for i in range(5):

random.shuffle(track_ids)
embed = '<iframe src="https://open.spotify.com/embed/track/{}" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>'.format(track_ids[0])

st.markdown(embed, unsafe_allow_html=True)
my_html = '<iframe src="https://open.spotify.com/embed/track/{}" width="300" height="100" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>'.format(track_ids[0])

st.markdown(my_html, unsafe_allow_html=True)


0 comments on commit fb05611

Please sign in to comment.