Spaces:
Runtime error
Runtime error
import streamlit as st | |
import speech_recognition as sr | |
from textblob import TextBlob | |
# Initialize Speech Recognition | |
recognizer = sr.Recognizer() | |
# Function to analyze sentiment and generate emoji | |
def analyze_sentiment(text): | |
blob = TextBlob(text) | |
sentiment_score = blob.sentiment.polarity | |
if sentiment_score > 0.5: | |
emoji = "😊" | |
elif sentiment_score < -0.5: | |
emoji = "😞" | |
else: | |
emoji = "😐" | |
return emoji | |
# Streamlit app | |
st.title("Voice-to-Text Chatbot") | |
# Record voice input | |
with st.echo(): | |
st.write("Click the button and speak...") | |
try: | |
with sr.Microphone() as source: | |
st.write("Recording...") | |
audio_data = recognizer.record(source, duration=5) # Adjust duration as needed | |
st.write("Processing...") | |
# Convert speech to text | |
text = recognizer.recognize_google(audio_data) | |
st.write(f"You said: {text}") | |
# Analyze sentiment and generate emoji | |
emoji = analyze_sentiment(text) | |
st.write(f"Sentiment: {emoji}") | |
except sr.RequestError as e: | |
st.error("Could not request results; {0}".format(e)) | |
except sr.UnknownValueError: | |
st.error("Could not understand audio") |