lemura-arabic-asr-qwen3

Lemura Labs' Arabic-first generative speech-recognition model — dialect-broad, production-oriented.

Built for the dialects your users actually speak.

License Task Format Params In-domain WER Darija Dialects Base

Overview · Benchmarks · Transformers · ms-swift · Entity Biasing · Training · Sibling model


What it is

lemura-arabic-asr-qwen3 is an Arabic-first generative speech-recognition model. It recasts transcription as audio-conditioned next-token prediction — an audio encoder feeding a Qwen3 language-model decoder, rather than a CTC or transducer objective — so it resolves ambiguity with linguistic context, not acoustics alone.

Fine-tuned from Qwen/Qwen3-ASR-1.7B, it transcribes Modern Standard Arabic and five major dialect groups — Gulf/Khaleeji, Egyptian, Levantine, Iraqi and Maghrebi/Darija — in a single compact 1.7B model.

  • Audio-LLM architecture — generative ASR; context disambiguates where acoustics cannot.
  • Genuinely multi-dialect — ~1,700 hours across MSA plus five dialect groups, including Moroccan Darija, which most ASR systems handle badly.
  • Dialect-targeted fine-tuning — LoRA adaptation focused on dialectal orthography, proper nouns and code-switching, merged back into standalone weights.
  • Entity and name biasing — accepts a guiding word-list to lock in brands, people and jargon.
  • Robust to code-switching — Arabic ↔ English, common in Gulf business speech.

Built for the hard part of Arabic ASR: real dialectal speech, code-switching, and named entities.

Built on a permissively-licensed open-weight audio-LLM foundation; the adaptation, data curriculum and dialect coverage are Lemura Labs'.

Model summary

Modellemura-arabic-asr-qwen3 — Arabic-first generative ASR
TaskAutomatic speech recognition (audio → text)
ApproachGenerative ASR — audio encoder + Qwen3 language-model decoder (audio-conditioned next-token prediction)
Base modelQwen/Qwen3-ASR-1.7B
TrainingLoRA (rank 64, α 128) dialect fine-tune in bf16, merged to standalone weights — ~1.18M clips / ~1,700 h across 5 dialect groups
Architecture classQwen3ASRForConditionalGeneration (model_type: qwen3_asr)
Audio encoder24 layers · d_model 1024 · 16 heads · 128 mel bins
Total parameters1.7B (bf16)
Audio input16 kHz mono; 30 s context window (longer audio is chunked)
LanguagesArabic — MSA + Gulf / Egyptian / Levantine / Iraqi / Maghrebi, with Arabic–English code-switching
Runtimetransformers · ms-swift — GPU
LicenseApache-2.0

Benchmarks

Open Universal Arabic ASR Leaderboard — full standings

Per-dataset WER % across all six leaderboard test sets, zero-shot. Lower is better; Avg WER is the ranking metric. Our sibling model lemura-arabic-asr-lite is evaluated here with the official leaderboard code; this model's base, Qwen/Qwen3-ASR-1.7B, is row 12. These are zero-shot numbers — the in-domain table above is a different measurement and the two must not be compared directly.

# Model Params Avg WER SADA CV-18 MASC-clean MASC-noisy MGB-2 Casablanca
1 lemuralabs/lemura-arabic-asr-lite (Ours) 0.12B 25.08 37.28 9.74 7.27 23.65 14.33 58.24
2 CohereLabs/cohere-transcribe-arabic-07-2026 ~2B 25.87 37.47 5.82 19.60 27.07 15.54 49.71
3 omnilingual-asr/omniASR_LLM_7B 7B 28.32 41.61 8.75 19.69 29.29 14.13 56.46
4 omnilingual-asr/omniASR_LLM_3B 3B 29.96 46.18 9.15 19.90 30.03 14.22 60.27
5 omnilingual-asr/omniASR_LLM_1B 1B 29.96 43.84 9.55 20.03 30.26 15.34 60.68
6 CohereLabs/cohere-transcribe-03-2026 ~2B 30.67 60.11 8.17 8.66 19.01 25.33 62.71
7 Qwen/Qwen3-Omni-30B-A3B-Instruct 30B 30.71 44.82 11.46 21.47 30.85 13.09 62.55
8 nvidia-conformer-ctc-large-arabic (lm) 0.6B 32.91 44.52 8.80 23.74 34.29 17.20 68.90
9 omnilingual-asr/omniASR_LLM_300M 0.3B 32.96 51.38 12.03 20.66 32.45 16.58 64.64
10 google/gemma-4-E4B-it 4B 32.98 43.40 19.65 24.86 33.59 17.72 58.63
11 Qwen/Qwen3-ASR-1.7B (our base, zero-shot) 1.7B 33.36 45.53 16.90 24.37 34.29 16.57 64.47
12 mistralai/Voxtral-Small-24B-2507 24B 34.47 50.82 15.25 23.96 34.43 16.03 66.30
13 nvidia-conformer-ctc-large-arabic (greedy) 0.6B 34.74 47.26 10.60 24.12 35.64 19.69 71.13
14 google/gemma-4-E2B-it 2B 35.87 46.23 23.76 27.47 36.15 20.72 60.87
15 openai/whisper-large-v3 1.5B 36.86 55.96 17.83 24.66 34.63 16.26 71.81
16 omnilingual-asr/omniASR_CTC_3B 3B 37.78 69.85 14.19 21.48 34.60 18.96 67.58
17 omnilingual-asr/omniASR_CTC_7B 7B 38.12 72.69 12.47 21.08 35.04 20.43 67.02
18 facebook/seamless-m4t-v2-large 2.3B 38.16 62.52 21.70 25.04 33.24 20.23 66.25
19 omnilingual-asr/omniASR_CTC_1B 1B 39.29 71.42 17.55 22.76 35.73 19.96 68.32
20 openai/whisper-large-v3-turbo 0.8B 40.05 60.36 25.73 25.51 37.16 17.75 73.79
21 openai/whisper-large-v2 1.5B 40.20 57.46 21.77 27.25 38.55 25.17 71.01
22 Qwen/Qwen3-ASR-0.6B 0.6B 42.19 53.75 28.28 31.34 42.63 25.45 71.68
23 openai/whisper-large 1.5B 42.57 63.24 26.04 28.89 40.79 24.28 72.18
24 mistralai/Voxtral-Mini-3B-2507 3B 42.58 63.65 22.12 28.37 41.27 22.56 77.52
25 asafaya/hubert-large-arabic-transcribe 0.3B 45.50 67.82 8.01 32.94 50.16 37.51 76.53
26 openai/whisper-medium 0.8B 45.57 67.71 28.07 29.99 42.91 29.32 75.44
27 nvidia-Parakeet-ctc-1.1b-concat 1.1B 46.54 70.70 26.34 30.49 45.95 24.94 80.80
28 omnilingual-asr/omniASR_CTC_300M 0.3B 46.65 78.11 27.90 28.40 43.26 26.85 75.35
29 nvidia-Parakeet-ctc-1.1b-universal 1.1B 51.96 73.58 40.01 36.16 50.03 30.68 81.30
30 microsoft/VibeVoice-ASR 52.99 69.83 44.25 32.95 52.43 25.10 93.37
31 facebook/mms-1b-all 1B 54.54 77.48 26.52 38.82 57.33 39.16 87.95
32 openai/whisper-small 0.24B 55.13 78.02 24.18 35.93 56.36 48.64 87.64
33 whitefox123/w2v-bert-2.0-arabic-4 0.6B 58.13 87.34 41.79 37.82 53.28 40.66 87.88
34 jonatasgrosman/wav2vec2-large-xlsr-53-arabic 0.3B 60.98 86.82 23.00 42.75 64.27 56.29 92.72
35 speechbrain/asr-wav2vec2-commonvoice-14-ar 0.1B 65.74 88.54 29.17 49.10 69.57 64.37 93.68

Competitor rows are the published Open Universal Arabic ASR Leaderboard standings, reproduced for context; they are not our measurements. Casablanca (Moroccan Darija) is the hardest set for every system.

Transformers inference

The full-precision bf16 weights are published at the repo root (safetensors). Qwen3-ASR is supported natively in recent Transformers — no trust_remote_code needed.

# pip install "transformers>=4.57.6" torch librosa
import torch, librosa
from transformers import AutoProcessor, Qwen3ASRForConditionalGeneration

repo = "lemuralabs/lemura-arabic-asr-qwen3"
processor = AutoProcessor.from_pretrained(repo)
model = Qwen3ASRForConditionalGeneration.from_pretrained(
    repo, dtype=torch.bfloat16, device_map="auto"
).eval()

audio, _ = librosa.load("clip.wav", sr=16_000)          # 16 kHz mono

messages = [{"role": "user", "content": [{"type": "audio", "audio": audio}]}]
text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = processor(text=text, audio=audio, sampling_rate=16_000, return_tensors="pt").to(model.device)

out = model.generate(**inputs, max_new_tokens=256, do_sample=False)
print(processor.batch_decode(out[:, inputs["input_ids"].shape[1]:], skip_special_tokens=True)[0])

ms-swift inference

For batch transcription over a dataset, ms-swift is the fastest path:

pip install ms-swift transformers==4.57.6 qwen-asr soundfile
swift infer \
  --model lemuralabs/lemura-arabic-asr-qwen3 \
  --val_dataset your_data.jsonl \
  --infer_backend pt --max_new_tokens 256

Dataset JSONL, one line per clip, audio 16 kHz mono:

{"messages": [{"role": "user", "content": "<audio>"}, {"role": "assistant", "content": ""}], "audios": ["/path/to/clip.wav"]}

Entity and name biasing

Pass a short guiding word-list as a system message to lock in names, brands and jargon:

{"messages": [
  {"role": "system", "content": "الكلمات المرشدة: أبوبي، موهان، لمُرا"},
  {"role": "user", "content": "<audio>"},
  {"role": "assistant", "content": ""}],
 "audios": ["/path/to/clip.wav"]}

This alone fixes most brand and name errors in real business audio.

Notes

  • Long audio: the audio encoder uses a 30 s window (chunk_length: 30); chunk longer inputs client-side and concatenate the transcripts.
  • Sample rate: input must be 16 kHz mono; resample before inference.
  • Decoding: greedy (do_sample=False) is recommended for transcription; sampling adds hallucination risk.
  • Precision: weights are bf16; fp16 works on older GPUs, but bf16 is what the model was trained and merged in.

Training data

~1,700 hours / ~1.18M clips spanning MSA and every major dialect group:

Corpus Contribution
SADA Gulf / Saudi dialectal speech
MASC Multi-dialect, clean and noisy
CommonVoice-ar Read speech, mixed dialects
MGB-2 MSA broadcast
MoulSot, NADI Maghrebi / Moroccan Darija
FLEURS-ar Read speech, MSA

Training procedure

LoRA (rank 64, α 128) fine-tune of Qwen3-ASR-1.7B in bf16, then merged into standalone weights. Trained with ms-swift on NVIDIA H100s. Labels canonicalized with the standard Arabic normalizer (punctuation and diacritics stripped, Hamza/Madda normalized, Eastern→Western numerals).

Languages, dialects and tasks

  • Primary: Arabic — MSA and dialectal (Gulf/Khaleeji, Egyptian, Levantine, Iraqi, Maghrebi/Darija), plus code-switched Arabic–English; emits dialect-faithful orthography from audio alone.
  • Task: transcription (audio → UTF-8 text), optionally steered by a guiding word-list for entities.
  • Audio: 16 kHz mono, 30 s window.

Intended use and limitations

Intended use. Transcribing Arabic speech across dialects — contact centres, voice notes, media captioning, voice agents and accessibility, especially Gulf and Maghrebi deployments; cloud or on-prem.

Limitations.

  • Best on the dialects and domains it was trained on; fully unseen accents or domains will be harder (see the in-domain note above).
  • Maghrebi / Moroccan Darija remains the hardest condition, as it is for every system.
  • Not a zero-shot leaderboard entry — optimized for broad, practical dialect coverage.
  • Very noisy or far-field audio degrades accuracy; long recordings must be chunked.
  • Not evaluated for, and must not be used for, covert speaker identification.
  • May reflect biases present in the training corpora.

Related model

lemura-arabic-asr-lite — ~115M-parameter FastConformer-CTC, CPU and real-time capable, #2 of 36 zero-shot on the Open Universal Arabic ASR Leaderboard.

-qwen3 (this model) -lite
Parameters 1.7B ~115M
Approach Generative audio-LLM FastConformer-CTC
Hardware GPU CPU or GPU
Strength In-domain dialect depth, entity biasing Zero-shot generality, edge deployment
Reported WER 22.6 (in-domain) 25.08 (zero-shot, leaderboard)

License

Apache-2.0, inheriting the base model's license. Please also respect the licenses of the training datasets.

Citation

@misc{lemura_arabic_asr_qwen3_2026,
  title  = {lemura-arabic-asr-qwen3: Generative Multi-Dialect Arabic Speech Recognition},
  author = {Lemura Labs},
  year   = {2026},
  url    = {https://huggingface.co/lemuralabs/lemura-arabic-asr-qwen3}
}

Acknowledgements

  • Base model: Qwen/Qwen3-ASR-1.7B (Alibaba Qwen team)
  • Training data: SADA, MASC, CommonVoice, MGB-2, MoulSot, NADI, FLEURS
  • Evaluation: the Open Universal Arabic ASR Leaderboard official code

About Lemura Labs

Arabic-first, efficiency-first speech intelligence.

Lemura Labs starts with the dialects people actually speak.

We build compact, deployable speech and language models — accuracy at a size and cost that works outside the datacentre. Our work spans speech recognition, dialectal language modelling, and efficient inference for real-world deployment, from edge devices to on-prem clusters.

Dialect-first. Efficient by design. Built to deploy.

Hugging Face · developer@aivf.io

© 2026 Lemura Labs · Licensed under Apache-2.0

Downloads last month
14
Safetensors
Model size
2B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for lemuralabs/lemura-arabic-asr-qwen3

Adapter
(13)
this model
Quantizations
1 model

Datasets used to train lemuralabs/lemura-arabic-asr-qwen3

Evaluation results

  • Average WER (in-domain) on Six Arabic benchmarks (in-domain average)
    self-reported
    22.600
  • WER (in-domain) on CommonVoice Arabic (in-domain)
    self-reported
    10.700
  • WER (in-domain) on MASC clean (in-domain)
    self-reported
    10.800
  • WER (in-domain) on MGB-2 (in-domain)
    self-reported
    12.900
  • WER (in-domain) on MASC noisy (in-domain)
    self-reported
    25.800
  • WER (in-domain) on SADA (in-domain)
    self-reported
    32.300
  • WER (in-domain) on Casablanca / Moroccan Darija (in-domain)
    self-reported
    43.200