Spaces:
Runtime error
Runtime error
import streamlit.components.v1 as components | |
from streamlit_player import st_player | |
from transformers import pipeline | |
import streamlit as st | |
import random | |
def tester(text): | |
#classifier = pipeline("sentiment-analysis", model='arpanghoshal/EmoRoBERTa') | |
#classifier = pipeline("sentiment-analysis", model='cardiffnlp/twitter-roberta-base-emotion') | |
#classifier = pipeline("sentiment-analysis", 'j-hartmann/emotion-english-distilroberta-base') | |
classifier = pipeline("sentiment-analysis", model='bhadresh-savani/distilbert-base-uncased-emotion') | |
results = classifier(text) | |
if (results[0]['label']=="joy"): #songs for joy emotion | |
a = random.randint(1,7) #shuffle | |
if a == 1: #Rick Astley - Never Gonna Give You Up | |
components.html("""<iframe width="560" height="315" src="https://www.youtube.com/embed/dQw4w9WgXcQ?&autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>""",width=560,height=325) | |
elif a == 2: #WALK THE MOON - Shut Up and Dance | |
components.html("""<iframe width="560" height="315" src="https://www.youtube.com/embed/6JCLY0Rlx6Q?&autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>""",width=560,height=325) | |
elif a == 3: #Bee Gees - Stayin' Alive | |
components.html("""<iframe width="560" height="315" src="https://www.youtube.com/embed/I_izvAbhExY?&autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>""",width=560,height=325) | |
elif a == 4: #Lil Nas X - Industry Baby | |
components.html("""<iframe width="560" height="315" src="https://www.youtube.com/embed/4aNUdvctOok?&autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>""",width=560,height=325) | |
elif a == 5: #Earth, Wind & Fire - Let's Groove | |
components.html("""<iframe width="560" height="315" src="https://www.youtube.com/embed/Lrle0x_DHBM?&autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>""",width=560,height=325) | |
elif a == 6: #BTS - 「Dynamite」 / Guitar Cover | |
components.html("""<iframe width="560" height="315" src="https://www.youtube.com/embed/zA_deMWtz8g?&autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>""",width=560,height=325) | |
elif a == 7: #The Itchyworms - Penge Naman Ako N'yan | |
components.html("""<iframe width="560" height="315" src="https://www.youtube.com/embed/cYLhKaSY6is?&autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>""",width=560,height=325) | |
elif (results[0]['label']=="anger"): #songs for anger emotion | |
components.html("""<iframe width="560" height="315" src="https://www.youtube.com/embed/dQw4w9WgXcQ?&autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>""",width=560,height=325) | |
elif (results[0]['label']=="disgust"): | |
st_player("https://www.youtube.com/watch?v=zWq2TT3ieGE") | |
elif (results[0]['label']=="fear"): | |
st_player("https://www.youtube.com/watch?v=iyEUvUcMHgE?&autoplay=1") | |
elif (results[0]['label']=="sadness"): #songs for sadness emotion | |
a = random.randint(1,7) | |
if a == 1: #Join the Club - Nobela | |
components.html("""<iframe width="560" height="315" src="https://www.youtube.com/embed/SZADEHP2yFg?&autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>""",width=560,height=325) | |
elif a ==2: #Pagsamo - Arthur Nery | |
components.html("""<iframe width="560" height="315" src="https://www.youtube.com/embed/Hx4-GMWWb7Q?&autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>""",width=560,height=325) | |
elif a ==3: #SpongeCola - Jeepney | |
components.html("""<iframe width="560" height="315" src="https://www.youtube.com/embed/YE6bbpEY4nU?&autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>""",width=560,height=325) | |
elif a ==4: #The Walters -- I Love You So | |
components.html("""<iframe width="560" height="315" src="https://www.youtube.com/embed/NwFVSclD_uc?&autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>""",width=560,height=325) | |
elif a ==5: #Coldplay - The Scientist | |
components.html("""<iframe width="560" height="315" src="https://www.youtube.com/embed/RB-RcX5DS5A?&autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>""",width=560,height=325) | |
elif a ==6: #Wiz Khalifa - See You Again | |
components.html("""<iframe width="560" height="315" src="https://www.youtube.com/embed/cPyovQwFmhE?&autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>""",width=560,height=325) | |
elif a ==7: #Ricky Montgomery - Mr Loverman | |
components.html("""<iframe width="560" height="315" src="https://www.youtube.com/embed/MxXM3H2VGy4?&autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>""",width=560,height=325) | |
elif (results[0]['label']=="surprise"): | |
st_player("https://youtu.be/CmSKVW1v0xM") | |
st.write("check out this [link](https://open.spotify.com/playlist/4yXfnhz0BReoVfwwYRtPBm)") | |
elif (results[0]['label']=="love"): | |
#st_player("https://www.youtube.com/watch?v=XVhEm62Uqog") | |
components.html("""<html> | |
<body> | |
<div id="player"></div> | |
<script> | |
// 2. This code loads the IFrame Player API code asynchronously. | |
var tag = document.createElement('script'); | |
tag.src = "https://www.youtube.com/iframe_api"; | |
var firstScriptTag = document.getElementsByTagName('script')[0]; | |
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); | |
// 3. This function creates an <iframe> (and YouTube player) | |
// after the API code downloads. | |
function onYouTubeIframeAPIReady() { | |
var numPl = Math.floor((Math.random() * 50) + 1); | |
var player = new YT.Player("player", { | |
height: '315', | |
width: '560', | |
playerVars: { | |
listType:'playlist', | |
list:'PL3-sRm8xAzY-w9GS19pLXMyFRTuJcuUjy', | |
index: numPl, | |
autoplay: 1, | |
}, | |
events: { | |
'onReady': function (event) { | |
//event.target.cuePlaylist({list: "PLFgquLnL59anYA8FwzqNFMp3KMcbKwMaT"}); | |
//event.target.playVideo(); | |
setTimeout(function() { | |
event.target.setShuffle({'shufflePlaylist' : true}); | |
}, 1000); | |
} | |
} | |
}); | |
} | |
</script> | |
</body> | |
</html>""",width=560,height=325) | |
return results[0]['label'] | |
#return results | |
st.header("stream your emotions") | |
#st.write("Enter a text/phrase/sentence. A corresponding song will be recommended based on its emotion") | |
emo = st.text_input("Enter a text/phrase/sentence. A corresponding song will be recommended based on its emotion.") | |
st.write("Examples: i love you so much") | |
st.write("I am exhausted.") | |
st.write("I feel energetic.") | |
st.write("bro you scared me there") | |
tester(emo) | |