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

A newer version of the Gradio SDK is available: 6.31.0

Upgrade
metadata
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, 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).
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.