CoolFace
Modelpublic

audarai/Audar-ASR-V1-Turbo

sourceHugging Faceotherupdated 1mo agoView on Hugging Face
16likes4.3kdownloads
Model Card

<div align="center">

Audar-ASR-V1-Turbo · GGUF

Audar's Arabic-first speech-recognition model — leaderboard-grade, dialect-aware.

From Arabic to the world.

License Task Format Params Open-AR-ASR Avg CER Emirati ![GitHub](https://github.com/AudarAI/Audar-ASR-V1)

<p><a href="#-what-it-is"><b>🧭 Overview</b></a> · <a href="#-benchmarks"><b>📊 Benchmarks</b></a> · <a href="#-gguf-inference-llamacpp"><b>💻 GGUF Deploy</b></a> · <a href="#-transformers-full-precision-safetensors"><b>🤗 Transformers</b></a> · <a href="#-real-time-streaming"><b>🎙️ Streaming</b></a> · <a href="#-vllm-inference-gpu-serving"><b>⚡ vLLM</b></a> · <a href="https://github.com/AudarAI/Audar-ASR-V1/blob/main/report/Audar-ASR-V1-Technical-Report.pdf"><b>📄 Tech Report</b></a> · <a href="https://github.com/AudarAI/Audar-ASR-V1"><b>🐙 GitHub</b></a> · <a href="https://www.audarai.com"><b>☁️ Audar API</b></a> · <a href="https://www.audarai.com/license/audarai-community-license-v1.0/"><b>📜 License</b></a></p>

</div>


🧭 What it is

Audar-ASR-V1-Turbo is an Arabic-first generative speech-recognition model — the accuracy tier of the Audar-ASR family. It recasts transcription as audio-conditioned next-token prediction over a unified text vocabulary (a language-model decoder rather than a CTC or transducer objective), and is built on a permissively-licensed open-weight audio-LLM foundation and adapted in-house — the contribution is the adaptation (the data curriculum and the alignment rubric), not the foundation:

  • 🧱 Large-scale bilingual pretraining — 300,000+ hours of labeled audio, primarily Arabic and English, spanning MSA, Gulf, Egyptian, Levantine and Maghrebi speech, code-switching, and diverse acoustic channels.
  • 🎯 Dialect-targeted fine-tuning — hardness sampling and multi-task conditioning focused on proper nouns, code-switching, and dialect-faithful orthography.
  • 🧠 KTO preference alignment — Kahneman-Tversky Optimization on accented dialectal Arabic, with unpaired binary-desirability labels from trained native annotators across the Gulf, Levantine, Egyptian, and Maghrebi dialects, along five axes: verbatim accuracy, diacritic correctness, code-switch handling, named-entity preservation, and output formatting.

The result is state-of-the-art dialectal Arabic ASR — the lowest average WER and CER of any evaluated system on the Open Universal Arabic ASR Leaderboard. It transcribes MSA and every major Arabic dialect, code-switched Arabic–English, and English, across 30 languages in total.

Built on a permissively-licensed open-weight audio-LLM foundation; the adaptation, data, and alignment are Audar's. Full method and results: Audar-ASR-V1 Technical Report.

Model summary

<table> <tbody> <tr><td width="200"><b>Model</b></td><td>Audar-ASR-V1-Turbo — Arabic-first generative ASR (accuracy tier)</td></tr> <tr><td><b>Task</b></td><td>Automatic speech recognition (audio → text)</td></tr> <tr><td><b>Approach</b></td><td>Generative ASR — audio encoder + language-model decoder (audio-conditioned next-token prediction)</td></tr> <tr><td><b>Training</b></td><td>built on an open-weight audio-LLM foundation; adapted via a 4-stage curriculum — 300k+ hrs bilingual pretraining → multi-task fine-tuning → dialect PEFT → KTO alignment</td></tr> <tr><td><b>Decoder parameters</b></td><td>2,031,739,904 (2.03B)</td></tr> <tr><td><b>Audio encoder parameters</b></td><td>317,477,504 (0.32B)</td></tr> <tr><td><b>Total parameters</b></td><td>2,349,217,408 (2.35B, bf16)</td></tr> <tr><td><b>Audio input</b></td><td>16 kHz mono; 30 s context (longer audio is chunked/streamed)</td></tr> <tr><td><b>Languages</b></td><td>Arabic (MSA + Gulf/Egyptian/Levantine/Maghrebi dialects) + English + 28 more</td></tr> <tr><td><b>Runtime</b></td><td>GGUF / llama.cpp — CPU · GPU · edge</td></tr> <tr><td><b>License</b></td><td>AudarAI Community License v1.0</td></tr> </tbody> </table>

📊 Benchmarks

Arabic dialectal ASR is hard — heavily dialectal, conversational, code-switched speech is the frontier for every system. On the Open Universal Arabic ASR Leaderboard, Audar-ASR-V1-Turbo ranks #1 of 37 systems with the lowest average WER (23.2 %) and the lowest average CER (9.2 %) of any model evaluated — and it is the single best system on SADA, MASC-clean, MGB-2 and Casablanca.

Open Universal Arabic ASR Leaderboard — full standings

Per-dataset WER % across all six leaderboard test sets, plus the two composite averages. Lower is better; Avg WER is the ranking metric. Audar rows show the leaderboard maintainers' independent reproduction (Aug 2026) under the leaderboard's current normalization; other rows are as previously published by the leaderboard and may shift slightly when the full board is recomputed under the updated normalization. Ours in bold.**

#Model**Avg WER**Avg CERSADACV-18MASC-cleanMASC-noisyMGB-2Casablanca
1Audar-ASR-V1-Turbo (Ours)23.179.2028.928.0916.7327.1911.0847.02
2CohereLabs/cohere-transcribe-arabic-07-202625.8711.8037.475.8219.6027.0715.5449.71
3omnilingual-asr/omniASRLLM7B28.3212.5241.618.7519.6929.2914.1356.46
4omnilingual-asr/omniASRLLM3B29.9613.7746.189.1519.9030.0314.2260.27
5omnilingual-asr/omniASRLLM1B29.9613.4043.849.5520.0330.2615.3460.68
6CohereLabs/cohere-transcribe-03-202630.6716.3760.118.178.6619.0125.3362.71
7Qwen/Qwen3-Omni-30B-A3B-Instruct30.7113.6744.8211.4621.4730.8513.0962.55
8nvidia-conformer-ctc-large-arabic (lm)32.9113.8444.528.8023.7434.2917.2068.90
9omnilingual-asr/omniASRLLM300M32.9614.8451.3812.0320.6632.4516.5864.64
10google/gemma-4-E4B-it32.9813.7143.4019.6524.8633.5917.7258.63
11Qwen/Qwen3-ASR-1.7B33.3612.3345.5316.9024.3734.2916.5764.47
12mistralai/Voxtral-Small-24B-250734.4715.2950.8215.2523.9634.4316.0366.30
13nvidia-conformer-ctc-large-arabic (greedy)34.7413.3747.2610.6024.1235.6419.6971.13
14google/gemma-4-E2B-it35.8715.3446.2323.7627.4736.1520.7260.87
15openai/whisper-large-v336.8617.2155.9617.8324.6634.6316.2671.81
16omnilingual-asr/omniASRCTC3B37.7819.7969.8514.1921.4834.6018.9667.58
17omnilingual-asr/omniASRCTC7B38.1220.9172.6912.4721.0835.0420.4367.02
18facebook/seamless-m4t-v2-large38.1617.0362.5221.7025.0433.2420.2366.25
19omnilingual-asr/omniASRCTC1B39.2920.4771.4217.5522.7635.7319.9668.32
20openai/whisper-large-v3-turbo40.0518.8760.3625.7325.5137.1617.7573.79
21openai/whisper-large-v240.2019.5557.4621.7727.2538.5525.1771.01
22Qwen/Qwen3-ASR-0.6B42.1916.2353.7528.2831.3442.6325.4571.68
23openai/whisper-large42.5720.4963.2426.0428.8940.7924.2872.18
24mistralai/Voxtral-Mini-3B-250742.5819.9063.6522.1228.3741.2722.5677.52
25asafaya/hubert-large-arabic-transcribe45.5017.3567.828.0132.9450.1637.5176.53
26openai/whisper-medium45.5722.2767.7128.0729.9942.9129.3275.44
27nvidia-Parakeet-ctc-1.1b-concat46.5423.8870.7026.3430.4945.9524.9480.80
28omnilingual-asr/omniASRCTC300M46.6521.8678.1127.9028.4043.2626.8575.35
29nvidia-Parakeet-ctc-1.1b-universal51.9625.1973.5840.0136.1650.0330.6881.30
30microsoft/VibeVoice-ASR52.9928.9569.8344.2532.9552.4325.1093.37
31facebook/mms-1b-all54.5421.4577.4826.5238.8257.3339.1687.95
32openai/whisper-small55.1321.6878.0224.1835.9356.3648.6487.64
33whitefox123/w2v-bert-2.0-arabic-458.1327.6287.3441.7937.8253.2840.6687.88
34jonatasgrosman/wav2vec2-large-xlsr-53-arabic60.9825.6186.8223.0042.7564.2756.2992.72
35speechbrain/asr-wav2vec2-commonvoice-14-ar65.7430.9388.5429.1749.1069.5764.3793.68

Bold = best in column. The 37th system, our sibling edge model **Audar-ASR-V1-Flash** (0.78B), enters at 32.04 avg WER — see its card for the full row. Audar-ASR-V1-Turbo owns both composite averages and leads on SADA, MASC-clean, MGB-2 and Casablanca; the recent Cohere and OmniASR systems are the closest competitors, each strongest on a subset of the conversational and clean-read sets. Casablanca (Moroccan Darija) is the hardest set for every system.

Emirati Arabic

SetWER %CER %
Emirati (Mixat, full 1,585-clip test)19.47.3

On Emirati, the real recognition error is ≈ 7.3 % — near-parity with spontaneous English — while the residual up to 19.4 % WER is largely orthographic convention (near-miss spelling of the same word, e.g. انتو↔انتوا, and Latin-vs-Arabic rendering of English loanwords), not misrecognition.

🏁 Benchmark-parity inference (qwen-asr) — recommended

Our leaderboard numbers were produced with the `qwen-asr` package, which implements this model's I/O protocol natively — and were independently reproduced by the leaderboard maintainers with this exact code:

python
# pip install qwen-asr torch
import torch
from qwen_asr import Qwen3ASRModel

model = Qwen3ASRModel.from_pretrained(
    "audarai/Audar-ASR-V1-Turbo",
    dtype=torch.bfloat16, device_map="cuda:0",
    max_inference_batch_size=16, max_new_tokens=256,
)
results = model.transcribe(audio=["clip.wav"], language=["Arabic"])
print(results[0].text)

Protocol handling is mandatory, not optional:

  • language="Arabic" makes the package prefill language Arabic<asr_text> into the prompt, so the model never free-runs language identification.
  • The model's no-speech verdict (language None<asr_text>) is mapped to an empty transcript; without this, non-speech audio (music, silence) can produce repetition loops.
  • max_new_tokens=256 and bf16 are the exact decode settings behind our published numbers.

If you use raw transformers (below), you must strip the language <Lang><asr_text> output prefix yourself and expect degraded scores on non-speech-heavy data.

💻 GGUF inference (llama.cpp)

Turbo runs on llama.cpp via the multimodal (mtmd) path — a quantized decoder GGUF plus a BF16 audio projector (mmproj). Build a recent llama.cpp (with Qwen3-ASR support), then:

bash
./llama-mtmd-cli \
  -m       Audar-ASR-V1-Turbo-Q8_0.gguf \
  --mmproj mmproj-Audar-ASR-V1-Turbo.gguf \
  --audio  clip.wav \
  -sys     "فرّغ الكلام العربي التالي." \
  --temp 0
⚠️ The audio projector (`mmproj`) must stay BF16 (its ClippableLinear is numerically sensitive). The decoder quantizes normally.

Prefer a managed endpoint? The Audar-ASR family is also available via the **Audar API/SDK** — streaming, speaker-attributed transcription, and diarization, production-hosted.

GGUF variants

FileApprox. sizeNotes
Audar-ASR-V1-Turbo-Q4_K_M.gguf~1.28 GBSmallest; constrained hardware
Audar-ASR-V1-Turbo-Q8_0.gguf~2.16 GBNear-lossless (recommended)
Audar-ASR-V1-Turbo.gguf (BF16)~4.07 GBFull precision decoder
mmproj-Audar-ASR-V1-Turbo.gguf~0.64 GBBF16 audio encoder — required, keep BF16

🤗 Transformers (full-precision safetensors)

The full-precision bf16 weights are published at the repo root — the reference checkpoint the GGUF and W4A16 builds are derived from (2,349,217,408 params, safetensors). Standard 🤗 Transformers, loaded with trust_remote_code=True (the repo ships the self-contained Qwen3-ASR code).

python
# pip install "transformers==4.57.6" torch librosa
import torch, librosa
from transformers import AutoProcessor, AutoModelForCausalLM

repo  = "audarai/Audar-ASR-V1-Turbo"
proc  = AutoProcessor.from_pretrained(repo, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    repo, trust_remote_code=True,
    dtype=torch.bfloat16, device_map="cuda:0",
).eval()

SYSTEM = "فرّغ الكلام العربي التالي."          # "Transcribe the following Arabic speech."
audio, _ = librosa.load("clip.wav", sr=16000, mono=True)

conv = [{"role": "system", "content": SYSTEM},
        {"role": "user",   "content": [{"type": "audio"}]}]     # audio placeholder (a list, not "<audio>")
text   = proc.apply_chat_template(conv, tokenize=False, add_generation_prompt=True)
inputs = proc(text=text, audio=audio, sampling_rate=16000, return_tensors="pt").to(model.device)
inputs["input_features"] = inputs["input_features"].to(model.dtype)   # features are fp32 -> cast to bf16

out = model.generate(**inputs, max_new_tokens=440, do_sample=False)
print(proc.batch_decode(out[:, inputs["input_ids"].shape[1]:], skip_special_tokens=True)[0].strip())
The self-contained modeling code targets `transformers==4.57.6` (the version this checkpoint was built and validated with). For version-independent, high-throughput serving, prefer vLLM — it implements Qwen3-ASR natively (no custom code); see below.
File (repo root)Approx. sizeNotes
model.safetensors~4.7 GBFull bf16 weights (2,349,217,408 params)
config.json · *_audar_asr.py · __init__.pyConfig + self-contained Qwen3-ASR modeling code
tokenizer files · preprocessor_config.jsonQwen3 tokenizer + Whisper-mel feature extractor

⚡ vLLM inference (GPU serving)

Turbo also runs on [vLLM](https://github.com/vllm-project/vllm) for high-throughput GPU serving with an OpenAI-compatible API. vLLM implements the Qwen3-ASR architecture natively (Qwen3ASRForConditionalGeneration + Qwen3ASRRealtimeGeneration) — no custom serving code: point vLLM at a checkpoint and it exposes /v1/chat/completions, /v1/audio/transcriptions, and a realtime /v1/realtime WebSocket.

vLLM serves quantized `compressed-tensors` checkpoints (not the GGUF files — those are for llama.cpp). A vLLM-ready 4-bit (W4A16) build is provided in the `vllm-w4a16/` folder: | Build | Folder | Size | Decoder | Audio encoder / lm_head / embeddings | Accuracy | |---|---|---:|---|---|---| | W4A16 | vllm-w4a16 | ~2.6 GB | INT4 (group-128) | BF16 (kept) | ~+1 pp CER vs BF16 | Only the language-model decoder is quantized; the audio encoder + projector stay BF16 (the projector's ClippableLinear is numerically sensitive — the same rule as the GGUF mmproj), as do lm_head and the token embeddings. An FP8 build (lossless vs BF16, ~3.3 GB) can be produced with the same recipe — see the note at the end.

For full-precision GPU serving, point vLLM at the repo (the full bf16 root weights) instead of the 4-bit build — same native Qwen3-ASR support, no quantization.

1. Install (audio support required)

vLLM needs the audio extras (PyAV + librosa + soundfile) to decode audio; the stock image does not ship them:

dockerfile
FROM vllm/vllm-openai:v0.24.0
RUN pip install --no-cache-dir av librosa soundfile
bash
docker build -t vllm-audio:0.24.0 .

(Or in a plain environment: pip install "vllm>=0.24" av librosa soundfile.)

2. Get the weights & serve

bash
# download just the vLLM build
hf download audarai/Audar-ASR-V1-Turbo --include "vllm-w4a16/*" --local-dir ./turbo

docker run -d --name audar-asr --gpus '"device=0"' \
  -v $PWD/turbo/vllm-w4a16:/model:ro -p 8000:8000 \
  vllm-audio:0.24.0 \
  --model /model --served-model-name audar-asr-v1-turbo \
  --trust-remote-code --max-model-len 8192 --gpu-memory-utilization 0.4

vLLM auto-detects the compressed-tensors quantization (Marlin INT4 kernel). Weights + KV cache fit on any ≥12 GB GPU.

3. Transcribe

Turbo is prompt-steerable: the system message sets the task/language. For Arabic use فرّغ الكلام العربي التالي.; steer other languages with the equivalent instruction. Send 16 kHz mono audio as base64 input_audio and decode greedily (temperature: 0).

python
import base64, requests

audio = base64.b64encode(open("clip.wav", "rb").read()).decode()   # 16 kHz mono wav
r = requests.post("http://localhost:8000/v1/chat/completions", json={
    "model": "audar-asr-v1-turbo",
    "temperature": 0,
    "max_tokens": 320,
    "messages": [
        {"role": "system", "content": "فرّغ الكلام العربي التالي."},
        {"role": "user", "content": [
            {"type": "input_audio", "input_audio": {"data": audio, "format": "wav"}}
        ]},
    ],
})
print(r.json()["choices"][0]["message"]["content"])

The OpenAI-style POST /v1/audio/transcriptions (multipart file upload) endpoint is also available for Whisper-style clients.

4. Accuracy (FLEURS Arabic, greedy)

Character Error Rate vs the BF16 source — CER is the stable cross-precision metric for Arabic, where minor و-segmentation differences inflate WER without changing the characters:

BuildAR CERΔ vs BF16
BF16 source2.46 %
W4A16 (this build)3.73 %+1.27
FP8 (optional)2.46 %+0.00 (lossless)

Leaderboard-grade full-test-set numbers are in the Benchmarks section above; 4-bit quantization keeps them within ~1 pp CER (FP8 keeps them exactly).

Notes

  • Realtime streaming: vLLM also registers Qwen3ASRRealtimeGeneration, exposing an OpenAI-Realtime-compatible /v1/realtime WebSocket; pair it with VAD/endpointing for stable incremental output.
  • Long audio: the audio encoder is a 30 s window; chunk longer inputs client-side.
  • Producing other precisions (needs the BF16 source weights): quantize the decoder Linears only via `llm-compressor` model_free_ptq, ignoring the audio tower, lm_head, and embeddings — scheme="W4A16" (4-bit) or "FP8_DYNAMIC" (lossless), ignore=["re:.*lm_head.*","re:.*embed_tokens.*","re:.*audio_tower.*"].

🎙️ Real-time streaming

Audar-ASR streams via LocalAgreement-2: as audio arrives the trailing window is re-decoded each hop and a word is committed only once two consecutive decodes agree on it — giving stable, low-latency incremental output over the GGUF runtime. Audar's production realtime engine serves the same policy over an OpenAI-Realtime-compatible WebSocket with model-based endpointing and ≥64 concurrent streams on a single A100-80GB.

🌍 Languages, dialects & tasks

  • Primary: Arabic — MSA and dialectal (Gulf/Emirati, Egyptian, Levantine, Maghrebi), plus code-switched Arabic–English; emits dialect-faithful orthography from audio alone.
  • Also: English + 28 additional languages.
  • Task: transcription (audio → UTF-8 text), prompt-steerable for language and formatting.

Intended use & limitations

Intended use. Broadcast/media transcription, meeting & contact-center intelligence, voice agents, captioning, and accessibility — cloud or on-prem.

Limitations.

  • Maghrebi / Moroccan Darija (Casablanca) remains the hardest condition (~63 % WER) for all systems.
  • Heavily code-switched telephony and low-SNR audio degrade accuracy relative to clean MSA.
  • Long-form audio can drift on very long recordings.
  • Not evaluated for, and must not be used for, covert speaker identification.

📜 License

Released under the AudarAI Community License v1.0 — research and limited commercial use for qualifying Community Entities; enterprise / large-scale / MaaS use requires an AudarAI Enterprise License. See audarai.com/license/audarai-community-license-v1.0.

Citation

bibtex
@misc{audar-asr-turbo-2026,
  title  = {Audar-ASR-V1: A Multilingual, Arabic-First Generative Speech Recognition Foundation Model},
  author = {AudarAI},
  year   = {2026},
  note   = {Audar-ASR-V1-Turbo},
  url    = {https://github.com/AudarAI/Audar-ASR-V1/blob/main/report/Audar-ASR-V1-Technical-Report.pdf}
}

About AudarAI

<div align="center">

Leading Arabic-First Multilingual Audio Intelligence

AudarAI starts with Arabic — and expands to the world.

</div>

We are building advanced multilingual audio intelligence that helps individuals, enterprises, and governments communicate across languages, cultures, and borders. By combining Arabic-first speech technology with global multilingual AI, AudarAI transforms voice into understanding, interaction, and connection.

Our work spans speech recognition, speech understanding, voice-enabled digital assistants, human-computer interaction, and intelligent audio systems designed for real-world impact. From empowering people to access technology in their native language to helping organizations communicate globally, AudarAI is shaping a future where every voice can be heard, understood, and connected.

Arabic-first. Multilingual by design. Human-centered at heart.

<div align="center">

[🌐 www.audarai.com](https://www.audarai.com) · 🤗 Hugging Face · GitHub · contact@audarai.com

© 2026 AUDARAI PTE. LTD. · Licensed under the AudarAI Community License v1.0

</div>