Selest's picture
Upload 4 files
0e8505b verified
|
Raw
History Blame Contribute Delete
2.07 kB

A newer version of the Gradio SDK is available: 6.20.0

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