CoolFace
Modelpublic

csikasote/omniASR-CTC-300M-v2-Zulu-All-v2

sourceHugging Faceupdated 1mo agoView on Hugging Face
0likes8downloads
Model Card

omniASR-CTC-300M-v2-Zulu-All-v2

Wav2Vec2 CTC ASR model (v2) converted from the OmniLingual fairseq2 checkpoint omniASR_CTC_300M_v2.

This model outputs CTC logits over a SentencePiece vocabulary and can transcribe speech in multiple languages.

Model details

PropertyValue
HF classWav2Vec2ForCTC
Encoder layers24
Hidden size1024
Attention heads16
FFN intermediate4096
Vocabulary size10288
Source frameworkfairseq2
Source cardomniASR_CTC_300M_v2
Parity verification✅ Verified

Numerical parity against the original fairseq2 checkpoint has been confirmed: outputs match to within atol=1e-4 on a held-out audio sample.

Usage

python
from transformers import Wav2Vec2ForCTC, AutoProcessor
import torch, torchaudio

processor = AutoProcessor.from_pretrained("omniASR-CTC-300M-v2-Zulu-All-v2")
model     = Wav2Vec2ForCTC.from_pretrained("omniASR-CTC-300M-v2-Zulu-All-v2")
model.eval()

waveform, sr = torchaudio.load("audio.wav")
if sr != 16_000:
    waveform = torchaudio.functional.resample(waveform, sr, 16_000)

inputs = processor(
    waveform.squeeze().numpy(), sampling_rate=16_000, return_tensors="pt"
)
with torch.no_grad():
    logits = model(**inputs).logits          # (1, T, vocab)

pred_ids   = torch.argmax(logits, dim=-1)
transcript = processor.decode(pred_ids[0])
print(transcript)