|
|
import gradio as gr |
|
|
import whisper |
|
|
|
|
|
|
|
|
|
|
|
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) |