A newer version of the Gradio SDK is available: 6.20.0
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: 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
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.
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).