PranavdbhatArtpark's picture
Update app.py
d7ff038 verified
Raw
History Blame Contribute Delete
1.2 kB
import os
import torch
import gradio as gr
from transformers import AutoModel
import numpy as np
MODEL_NAME = "ARTPARK-IISc/SraVaani"
print("Loading model, this may take a few minutes...")
model = AutoModel.from_pretrained(MODEL_NAME, trust_remote_code=True, token=os.getenv("HF_TOKEN"))
model.eval()
print("Model loaded successfully.")
def transcribe(audio_input):
if audio_input is None:
return ""
sr, audio = audio_input
if audio.ndim == 2:
audio = np.mean(audio, axis=1)
audio = audio.astype(np.float32)
audio = audio / (np.max(np.abs(audio)) + 1e-9)
import tempfile, soundfile as sf
with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as f:
sf.write(f.name, audio, sr)
results = model.transcribe([f.name])
return results[0] if results else ""
demo = gr.Interface(
fn=transcribe,
inputs=gr.Audio(
sources=["microphone", "upload"],
type="numpy",
label="Record or upload WAV audio"
),
outputs=gr.Textbox(label="Transcription"),
title="SraVaani Multilingual ASR",
description="Upload a WAV file and get the multilingual ASR transcription."
)
demo.launch(share=True)