| ---
|
| title: Assyrian Urmi ASR
|
| emoji: 🎙️
|
| colorFrom: blue
|
| colorTo: purple
|
| sdk: gradio
|
| app_file: app.py
|
| pinned: false
|
| license: apache-2.0
|
| ---
|
|
|
| # Assyrian Neo-Aramaic (Urmi) ASR
|
|
|
| Gradio front end for [`Selest/wav2vec2-bert_Assyrian_Urmi_ASR_model`](https://huggingface.co/Selest/wav2vec2-bert_Assyrian_Urmi_ASR_model): upload or record audio, **Silero VAD** on the full clip, a **second Silero pass** on any fragment still longer than `MAX_CHUNK_SEC`, then RMS / hard split as fallback. Long speech is capped at `MAX_CHUNK_SEC`. Progress is the **fraction of speech seconds processed** (sum of segment lengths). ETA and output script options (Russian researchers / Khan / Cyrillic).
|
|
|
| ## Local run
|
|
|
| ```bash
|
| pip install -r requirements.txt
|
| pip install "gradio>=6"
|
| python app.py
|
| ```
|
|
|
| (On Hugging Face Spaces, Gradio is installed by the platform; do not pin a conflicting version in `requirements.txt`.)
|
|
|
| **Dependencies:** `requirements.txt` pins **transformers 4.x** and uses **PyTorch CPU wheels** (`--extra-index-url`) so CPU Spaces stay smaller. For a **GPU** Space, remove the `--extra-index-url` line and install a CUDA build of `torch` per [PyTorch](https://pytorch.org/get-started/locally/).
|
|
|
| Optional environment variables: `MODEL_ID`, `MAX_CHUNK_SEC`, `MERGE_GAP_MS`, `MIN_SILENCE_CUT_MS`, `SILERO_THRESHOLD`, `SILERO_MIN_SPEECH_MS`, `SILERO_MIN_SILENCE_MS`, `SILERO_SPEECH_PAD_MS`, `SILERO_REFINE_ENABLED` (default on), `SILERO_REFINE_MIN_SILENCE_MS`, `SILERO_REFINE_THRESHOLD` (empty = same as `SILERO_THRESHOLD`). On first run, Silero is downloaded via `torch.hub` (network required).
|
|
|
| **CPU-only:** you may **raise** `MAX_CHUNK_SEC` if you have enough RAM—each forward uses more memory and time, but you get fewer chunks. If the Space OOMs or times out, lower `MAX_CHUNK_SEC` again.
|
|
|
| ## Publishing on Hugging Face
|
|
|
| Create a **Space** (Gradio SDK) and place these files at the repo root: `app.py`, `converters.py`, `requirements.txt`, and this `README.md`. A **GPU** is optional; the app runs on CPU (slower for the ASR model).
|
|
|