Model reference · open weights
omniASR-CTC is an open-weight audio or speech model from aadel4. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.
Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.
What it is
| Released by | aadel4 |
|---|---|
| Type | Audio & music |
| Task | Speech→text |
| Parameters (lead) | 976M |
| Runs with | transformers |
| Released | 2026-03-10 |
| Popularity | 2k downloads / month |
| Licence | Unknown |
About
Wav2Vec2 CTC ASR model (v2) converted from the OmniLingual fairseq2 checkpoint omniASR_CTC_1B_v2.
This model outputs CTC logits over a SentencePiece vocabulary and can transcribe speech in multiple languages.
The code base for the conversion can be found here. I was only able to convert the 300M and 1B models due to GPU limitations. Contributions are welcome.
| Property | Value |
|---|---|
| HF class | Wav2Vec2ForCTC |
| Encoder layers | 48 |
| Hidden size | 1280 |
| Attention heads | 16 |
| FFN intermediate | 5120 |
| Vocabulary size | 10288 |
| Source framework | fairseq2 |
| Source card | omniASR_CTC_1B_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.
Sample transcriptions on the held-out audio clip:
| Model | Transcript |
|---|---|
| fairseq2 (source) | concord returned to its place amidst the tents |
| HuggingFace (this repo) | concord returned to its place amidst the tents |
from transformers import Wav2Vec2ForCTC, AutoProcessor
import torch, torchaudio
processor = AutoProcessor.from_pretrained("aadel4/omniASR-CTC-1B-v2")
model = Wav2Vec2ForCTC.from_pretrained("aadel4/omniASR-CTC-1B-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)
From the published model card. Full card on the HuggingFace links in the sidebar.
Using it via the API
Once AxForge deploys omniasr-ctc for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (omniasr-ctc below is illustrative; you get the exact model name on deployment.)
$ curl -sS https://api.axforge.ai/v1/audio/transcriptions \ -H "Authorization: Bearer $AXFORGE_API_KEY" \ -F model="omniasr-ctc" -F file=@audio.mp3
Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.