Spaces:
Sleeping
Sleeping
| title: Reading & Pronunciation Coach | |
| emoji: 🗣️ | |
| colorFrom: indigo | |
| colorTo: green | |
| sdk: gradio | |
| app_file: app.py | |
| pinned: false | |
| short_description: Hindi & English reading practice with pronunciation scoring | |
| # Reading & Pronunciation Coach | |
| Read a passage aloud in Hindi or English and get a word-level error breakdown: | |
| WER, CER, strict and lenient accuracy, speaking rate, and pause count. | |
| ## Configuration | |
| Set these under **Settings → Variables and secrets**. | |
| | Name | Type | Value | | |
| |---|---|---| | |
| | `ASR_BACKEND` | Variable | `groq` \| `zerogpu` \| `local` \| `auto` | | |
| | `GROQ_API_KEY` | **Secret** | required for the `groq` backend | | |
| | `GROQ_MODEL_HI` | Variable | default `whisper-large-v3` | | |
| | `GROQ_MODEL_EN` | Variable | default `whisper-large-v3-turbo` | | |
| | `LOCAL_TIER` | Variable | `fast` \| `balanced` \| `accurate` (local only) | | |
| ## Choosing a backend | |
| **`groq` on free CPU hardware** — recommended. Only transcription needs a GPU, | |
| and Groq rents it per second of audio. Uncomment nothing in `requirements.txt`. | |
| Trade-off: no per-word confidence, so the "Unclear words" metric is hidden. | |
| **`zerogpu`** — free GPU, `transformers` path. Uncomment the ZeroGPU block in | |
| `requirements.txt` and select ZeroGPU hardware. Note that `faster-whisper` will | |
| *not* work here: CTranslate2 does not allocate through PyTorch's CUDA allocator, | |
| so it cannot see a ZeroGPU-assigned device. | |
| **`local`** — your machine or paid GPU Spaces hardware. The only backend that | |
| reports per-word ASR confidence, which is a useful mumbling signal. Uncomment | |
| the `faster-whisper` line. | |
| ## Local development | |
| ```bash | |
| pip install -r requirements.txt faster-whisper | |
| ASR_BACKEND=local LOCAL_TIER=fast python app.py | |
| ``` | |