import gradio as gr from transformers import pipeline asr = pipeline("automatic-speech-recognition", model = "openai/whisper-large-v3") demo = gr.Blocks() def transcribe_speech(filepath): if filepath is None: gr.Warning("No audio file found, please retry!") return "" output = asr(filepath) return output["text"] mic_transcribe = gr.Interface( fn = transcribe_speech, inputs = gr.Audio(sources = "microphone", type = "filepath"), outputs = gr.Textbox(label = "Transcription", lines = 3), allow_flagging = "never" ) file_transcribe = gr.Interface ( fn = transcribe_speech, inputs = gr.Audio(sources = "upload", type = "filepath"), outputs = gr.Textbox(label = "Transcription", lines = 3), allow_flagging = "never" ) with demo: gr.TabbedInterface( [mic_transcribe, file_transcribe], ["Transcribe Microphone", "Transcribe Audio File"], ) demo.launch()