import gradio as gr import speech_recognition as sr def transcribe_audio(audio_file): recognizer = sr.Recognizer() # Ensure the audio_file is a file path if not isinstance(audio_file, str): raise ValueError("Expected audio_file to be a file path, got {}".format(type(audio_file))) # Load the audio file with sr.AudioFile(audio_file) as source: audio_data = recognizer.record(source) try: # Transcribe the audio data text = recognizer.recognize_google(audio_data) return text except sr.UnknownValueError: return "Google Speech Recognition could not understand audio" except sr.RequestError as e: return f"Could not request results from Google Speech Recognition service; {e}" # Create the Gradio interface iface = gr.Interface( fn=transcribe_audio, inputs="audio", outputs="text", title="Voice to Text Converter", description="Upload an audio file and get the transcribed text." ) # Launch the interface iface.launch()