Spaces:
Sleeping
Sleeping
import streamlit as st | |
import speech_recognition as sr | |
from pydub import AudioSegment | |
def convert_audio_to_wav(audio_file): | |
audio = AudioSegment.from_file(audio_file) | |
wav_file = audio_file.name.split(".")[0] + ".wav" | |
audio.export(wav_file, format="wav") | |
return wav_file | |
def speech_to_text(audio_file): | |
recognizer = sr.Recognizer() | |
with sr.AudioFile(audio_file) as source: | |
audio = recognizer.record(source) | |
try: | |
text = recognizer.recognize_google(audio) | |
return text | |
except sr.UnknownValueError: | |
return "Could not understand audio" | |
except sr.RequestError as e: | |
return f"Error: {str(e)}" | |
def main(): | |
st.title("Speech to Text Converter") | |
st.write("Upload an audio file and convert it to text.") | |
uploaded_file = st.file_uploader("Choose an audio file", type=["wav", "mp3"]) | |
if uploaded_file is not None: | |
file_details = {"Filename": uploaded_file.name, "FileType": uploaded_file.type} | |
st.write(file_details) | |
if uploaded_file.type == "audio/mp3": | |
uploaded_file = convert_audio_to_wav(uploaded_file) | |
text = speech_to_text(uploaded_file) | |
st.write("Converted Text:") | |
st.write(text) | |
if __name__ == "__main__": | |
main() |