import gradio as gr import whisper # duplicate this space to run on higher CPU power for the large (very precise and multi-lingual) model to work best def speech_to_text(uploaded, model_size): if not uploaded or not isinstance(uploaded, str): return "No audio file uploaded." model = whisper.load_model(model_size) result = model.transcribe(uploaded) return result["text"] gr.Interface( title="", css=""" footer {visibility: xhidden} .gr-prose p{text-align: center;} .gr-button {background: black;color: white} """, description="", fn=speech_to_text, inputs=[ gr.Audio(type="filepath", label="Upload Audio"), gr.Dropdown(label="Select model size", value="large", choices=["tiny", "base", "small", "medium", "large"]) ], outputs="text" ).launch(debug=True)