host_model_gra / README.md
Mavis Deploy
Upgrade verifier Space: bilingual UI, letter grid, top-5 probs, model preload
cb11431
|
Raw History Blame Contribute Delete
2.7 kB
---
title: Arabic Letter Verifier
emoji: 🗣️
colorFrom: indigo
colorTo: blue
sdk: gradio
sdk_version: 5.31.0
app_file: app.py
pinned: false
short_description: Free ZeroGPU verifier for Arabic letter pronunciation
models:
- masumtechnonext/wav2vec2-arabic-letter-verifier
---
# আরবি হরফ উচ্চারণ যাচাইকারী · Arabic Letter Pronunciation Verifier
Free Gradio demo for
[`masumtechnonext/wav2vec2-arabic-letter-verifier`](https://huggingface.co/masumtechnonext/wav2vec2-arabic-letter-verifier),
a fine-tuned `wav2vec2-large-xlsr-53-arabic` model that checks whether a
spoken clip matches one of the 28 Arabic alphabet letters.
Record or upload a short clip of a single letter, optionally pick the target
letter you were aiming for, and the app returns the predicted letter, the
model confidence, whether the prediction was accepted, and whether it matched
your target.
## কীভাবে কাজ করে · How it works
The model has **29 classes** — the 28 letters plus a trained **Unknown** class
(silence, noise, time-reversed clips, cross-letter mixups), so out-of-vocabulary
audio has somewhere to go instead of being forced into a real letter. A
prediction is only reported when the top softmax probability clears the
calibrated threshold from `calibration.json` (**0.86**); below that the app
reports *Unrecognized* rather than a guess.
## ফ্রি কোটা · Free quota
This Space runs on **ZeroGPU**. GPU time is deducted from the *caller's* daily
quota — 2 min/day anonymous, 5 min/day for a signed-in free account, 25 min/day
for PRO. One prediction costs ~0.09 GPU-seconds, so a signed-in free account
gets roughly **3,500 predictions per day**.
## API
Two endpoints are exposed:
- `POST /gradio_api/call/verify` — returns the verdict, the detail panel and
a JSON payload with every class probability.
- `POST /gradio_api/call/predict` — legacy endpoint kept for backwards
compatibility; returns `(prediction_text, verdict_text)`.
```python
from gradio_client import Client, handle_file
client = Client("masumtechnonext/host_model_gra")
verdict, details, payload = client.predict(
handle_file("clip.wav"), "Sheen", api_name="/verify"
)
print(payload["predicted_label"], payload["confidence"], payload["is_correct"])
```
## সীমাবদ্ধতা · Known limitation
The source recordings have no speaker ID, so the train/validation/test split is
by clip (stratified per letter), not by speaker. If the same speaker appears
in both train and test, held-out accuracy may be optimistic relative to a
genuinely new speaker or microphone. Validate on your own held-out speakers
before deploying.