sarpreetsingh3131's picture
Update app.py
6bee3a6 verified
import gradio, requests, os
API_URL = os.environ["API_URL"]
HEADERS = {"Authorization": os.environ["TOKEN"]}
def predict(audio, lang="pa"):
try:
response = requests.post(
API_URL,
headers=HEADERS,
files=[("file", ("audio.wav", open(audio, "rb"), "audio/wave"))],
data={
"lang": lang,
"include_translation": True,
},
)
data = response.json()
return data["transcription"], data["translation"]
except Exception:
return "Model was sleeping and a request has been sent to wake it up. Please try again after 3 mins.", ""
gradio.Interface(
fn=predict,
inputs=[
gradio.Audio(
type="filepath",
format="wav",
label="Speak in Panjabi or English",
sources=["microphone"],
max_length=60,
),
gradio.Radio(
choices={("English", "en"), ("Panjabi", "pa")},
value="pa",
label="Select your speech language",
),
],
outputs=[gradio.Label(label="Transcription"), gradio.Label(label="Translation")],
title="Faster whisper model trained to recognise Panjabi-English speech (WER 12.9)",
).launch()