from transformers import pipeline asr = pipeline(task="automatic-speech-recognition", model="distil-whisper/distil-small.en") import gradio as gr demo = gr.Blocks() def transcribe_speech(filepath): if filepath is None: gr.Warning("No Audio 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(debug=True)