Downloads · 30 days
8
33% of all-time downloads
LyngualLabs/yecsASR-omni-ctc-small
yecsASR-omni-ctc-small is a automatic speech recognition model from LyngualLabs. Use it when you need speech turned into text. It is set up for fairseq2. The card lists the license as other.
⚠️ Experimental research model. Released for experimentation and as a downstream demonstration of the YECS corpus — not production-ready. See Limitations.
Downloads · 30 days
8
33% of all-time downloads
All-time downloads
24
Public
Repo size
1.3 GB
Likes
0
Public
Click a slice to open those files.
.pt1.3 GB · 100%
From the Hugging Face model README
⚠️ Experimental research model. Released for experimentation and as a downstream demonstration of the YECS corpus — not production-ready. See Limitations.
A compact (~330M-param) automatic speech recognition model for Yoruba–English intra-sentential code-switching, finetuned from Meta's Omnilingual ASR CTC model on the Yoruba-English Code-Switching (YECS) Corpus by LyngualLabs. It transcribes naturally code-switched Yoruba/English speech while preserving Yoruba tone diacritics (e.g. ọ̀, ṣ, á/à).
omniASR_CTC_300M — wav2vec2 encoder + CTC head (no LLM decoder), ~330M params, 1.3GB.Transcribing conversational Yoruba-English code-switched audio (16kHz mono). For research, prototyping, and as a baseline/demo for the YECS Utility initiative.
Held-out YECS dev slice (429 utterances). Best checkpoint = step 20,000.
| Metric | Value |
|---|---|
| Word Error Rate (WER) | 26.85 |
| Unit/Char Error Rate (UER) | 8.62 |
| CTC loss | 19.93 |
Validation WER over training: 47.7 (1k) → 37.4 (5k) → 28.8 (13k) → 27.3 (18k) → 26.85 (20k).
omniASR_CTC_300M (Meta Omnilingual ASR, Apache-2.0)omniASR_tokenizer_v1 (character tokenizer)omnilingual_asr training recipe⁇ (U+2047) unknown token where
punctuation occurred — strip it as shown below.transformers model — load it with the omnilingual_asr library (below),
not AutoModel.from_pretrained.git clone https://github.com/facebookresearch/omnilingual-asr && cd omnilingual-asr
pip install -e . && pip install huggingface_hub
import re, torch
from huggingface_hub import hf_hub_download
from fairseq2.models.hub import load_model
from fairseq2.data.tokenizers.hub import load_tokenizer
from omnilingual_asr.models.inference.pipeline import ASRInferencePipeline
model = load_model("omniASR_CTC_300M", dtype=torch.bfloat16)
sd = torch.load(hf_hub_download("LyngualLabs/yecsASR-omni-ctc-small", "model.pt"), map_location="cpu")
model.load_state_dict(sd, strict=False) # if this errors, try sd["model"]
tok = load_tokenizer("omniASR_tokenizer_v1")
pipe = ASRInferencePipeline(None, model=model, tokenizer=tok)
def clean_pred(t): # drop the unknown token (U+2047) left where
return re.sub(r"\s+", " ", t.replace("\u2047", "")).strip() # punctuation used to be
preds = pipe.transcribe(["sample.wav"]) # 16kHz mono; CTC ignores the lang arg
print([clean_pred(p) for p in preds])
model.pt — finetuned weights (fairseq2 state dict)omniASR_tokenizer_v1.model — character tokenizer (also auto-downloadable by name)model.yaml, config.yaml — architecture + training configomniASR_CTC_300M (Apache-2.0, Meta Omnilingual ASR).