audio / app.py
idofgaurav's picture
Update app.py
b8a7969 verified
import gradio as gr
from transformers import pipeline
# 1. Build the ASR pipeline (English-only model)
asr_pipeline = pipeline(
"automatic-speech-recognition",
model="facebook/wav2vec2-base-960h" # good English model
)
# 2. Transcription function using a file path
def transcribe(audio_path):
"""
audio_path: path to a .wav file recorded by Gradio
"""
if audio_path is None:
return "No audio received."
# pipeline can take a file path directly
result = asr_pipeline(audio_path)
return result["text"]
# 3. Gradio UI
with gr.Blocks() as demo:
gr.Markdown("# 🎤 ASR Demo (Hugging Face Space)\nSpeak into your mic and get a transcript.")
audio_input = gr.Audio(
sources=["microphone"],
type="filepath", # <-- IMPORTANT: send a file path, not numpy
format="wav", # ensure WAV format (easier to decode)
label="Record your voice"
)
transcribe_btn = gr.Button("Transcribe")
output_text = gr.Textbox(label="Transcription")
transcribe_btn.click(
fn=transcribe,
inputs=audio_input,
outputs=output_text
)
if __name__ == "__main__":
demo.launch()