|
|
import gradio as gr |
|
|
from transformers import pipeline |
|
|
|
|
|
|
|
|
pipe = pipeline(task="automatic-speech-recognition", model="openai/whisper-small") |
|
|
|
|
|
|
|
|
def transcribe(audio_file): |
|
|
if audio_file is None: |
|
|
return "Please upload an audio file." |
|
|
return pipe(audio_file)["text"] |
|
|
|
|
|
|
|
|
with gr.Blocks() as app: |
|
|
gr.Markdown("## 🎙️ Whisper Speech-to-Text (ASR)\nUpload or record audio and get transcription.") |
|
|
|
|
|
with gr.Row(): |
|
|
audio_input = gr.Audio(type="filepath", label="Upload or Record Audio") |
|
|
output_text = gr.Textbox(label="Transcription") |
|
|
|
|
|
transcribe_btn = gr.Button("Transcribe") |
|
|
transcribe_btn.click(fn=transcribe, inputs=audio_input, outputs=output_text) |
|
|
|
|
|
|
|
|
app.launch() |
|
|
|