VoiceControl / app.py
Khoronus
First commit
b02be6b
import streamlit as st
import speech_recognition as sr
def speech_recognition():
"""
Function to create a Streamlit application for real-time speech recognition.
This function uses the SpeechRecognition library to capture audio from the user's microphone
and convert it to text using a speech recognition engine.
The recognized text is displayed on the Streamlit application.
Returns:
- None
"""
# Create a Streamlit application
st.title("Real-time Speech Recognition")
# Create a speech recognizer object
recognizer = sr.Recognizer()
# Create a microphone object
microphone = sr.Microphone()
# Start the microphone input
with microphone as source:
st.info("Listening...")
# Adjust microphone energy threshold to ambient noise for better recognition
recognizer.adjust_for_ambient_noise(source)
# Continuously listen for audio and convert it to text
while True:
try:
# Listen for audio input
audio = recognizer.listen(source)
# Recognize the audio and convert it to text
text = recognizer.recognize_google(audio)
# Display the recognized text on the Streamlit application
st.write("You said:", text)
except sr.UnknownValueError:
# If the speech recognizer could not understand the audio
st.warning("Could not understand audio")
except sr.RequestError as e:
# If there was an error with the speech recognition service
st.error(f"Error: {e}")
# Run the speech recognition function when the script is executed
if __name__ == "__main__":
speech_recognition()