CoolFace
Modelpublic

audarai/Audar-ASR-V1-Flash

sourceHugging Faceotherupdated 1mo agoView on Hugging Face
7likes1.3kdownloads
Model Card

<div align="center">

Audar-ASR-V1-Flash · Transformers + GGUF

Audar's Arabic-first ASR — the real-time, edge tier.

From Arabic to the world.

License Task Format Params Open-AR-ASR Languages-f59e0b) Runs on ![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="#-transformers-inference"><b>🤗 Transformers</b></a> · <a href="#-gguf-inference-llamacpp"><b>💻 GGUF</b></a> · <a href="#-real-time-streaming"><b>🎙️ Streaming</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="#-vllm-inference-gpu-serving"><b>⚡ vLLM</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-open-license-v1.0/"><b>📜 License</b></a></p>

</div>


🧭 What it is

Audar-ASR-V1-Flash is the edge tier of Audar's Arabic-first speech-recognition family — the same in-house Arabic training program as Audar-ASR-V1-Turbo, delivered in a fast ~0.6B-decoder model for real-time captioning and on-device use. It recasts transcription as audio-conditioned next-token prediction (a language-model decoder, not CTC/transducer), and is built on a permissively-licensed open-weight audio-LLM foundation, then adapted in-house through Audar's Arabic training program — the contribution is the adaptation, not the foundation:

  • 🧱 Large-scale bilingual pretraining — 300,000+ hours of labeled audio, primarily Arabic and English (MSA + Gulf, Egyptian, Levantine, Maghrebi; code-switching; diverse channels).
  • 🎯 Dialect-targeted fine-tuning with hardness and multi-task sampling.
  • 🧠 KTO preference alignment (Kahneman-Tversky Optimization) from trained native-Arabic annotators.

It transcribes MSA and every major Arabic dialect, code-switched Arabic–English, and English, across 30 languages, and runs on CPU / GPU / edge via 🤗 Transformers or GGUF. For maximum accuracy on the hardest dialectal audio, use the larger Turbo tier.

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. Runs via Transformers, llama.cpp / GGUF, and vLLM.

Model summary

<table> <tbody> <tr><td width="200"><b>Model</b></td><td>Audar-ASR-V1-Flash — Arabic-first generative ASR (edge 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</td></tr> <tr><td><b>Training</b></td><td>built on an open-weight audio-LLM foundation; adapted via a curriculum — 300k+ hrs bilingual pretraining → dialect-targeted SFT → KTO alignment</td></tr> <tr><td><b>Decoder parameters</b></td><td>596,049,920 (0.60B)</td></tr> <tr><td><b>Audio encoder parameters</b></td><td>186,376,192 (0.19B)</td></tr> <tr><td><b>Total parameters</b></td><td>782,426,112 (0.78B, 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>Runtimes</b></td><td>🤗 Transformers (GPU) · GGUF / llama.cpp (CPU · GPU · edge) · vLLM</td></tr> <tr><td><b>License</b></td><td>AudarAI Open License v1.0</td></tr> </tbody> </table>

📊 Benchmarks

Open Universal Arabic ASR Leaderboard — full standings

Flash is evaluated end-to-end on all six leaderboard test sets (full test splits, not sampled), with the leaderboard-equivalent normalizer — the same harness and protocol as every other row (Audar rows below are the leaderboard maintainers' independent reproduction, Aug 2026 normalization). Audar-ASR-V1-Flash scores 32.0 avg WER at just 0.78B parameters — on par with Qwen3-ASR-1.7B (2× its size) and ahead of Voxtral-Small-24B, Whisper-large-v3, and every CTC baseline. Audar's accuracy tier, **Turbo**, is #1.

Per-dataset WER % across all six sets, plus the two composite averages. Lower is better; Avg WER is the ranking metric. Flash and Turbo (Ours) in bold; bold cell = best in column.

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

Flash — per-dataset detail (full test sets)

Both metrics, for the six leaderboard sets and the composite average.

DatasetWER %CER %
SADA44.3623.57
CommonVoice-1815.384.91
MASC-clean22.567.48
MASC-noisy34.1912.52
MGB-217.057.97
Casablanca58.7124.14
Average (6-set)32.0413.43
Use Flash for real-time and on-device transcription; step up to **Turbo** when you need the lowest error on heavy dialectal or long-form audio — Turbo is #1 on the leaderboard (23.2 % avg WER) and cuts Flash's average WER by ~8.9 pp, with the biggest gains on SADA (44.4→28.9) and MGB-2 (17.1→11.1).

🏁 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-Flash",
    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.

🤗 Transformers inference

Ships self-contained modeling code, so trust_remote_code=True is required.

python
# pip install "transformers>=4.57" torch librosa
import re, torch, librosa
from transformers import AutoProcessor, AutoModelForCausalLM

repo = "audarai/Audar-ASR-V1-Flash"
proc  = AutoProcessor.from_pretrained(repo, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    repo, trust_remote_code=True, torch_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)
hyp = proc.batch_decode(out[:, inputs["input_ids"].shape[1]:], skip_special_tokens=True)[0]
print(re.sub(r"^\s*language\s+[A-Za-z]+\s*(?:<asr_text>)?\s*", "", hyp).strip())
  • Language steering: the Arabic auto-dialect prompt above needs no dialect hint. For other languages use e.g. "Transcribe the following speech.".
  • Long audio (>30 s): split at ~30 s boundaries (see the streaming section).

⚡ vLLM inference (GPU serving)

Flash also serves on [vLLM](https://github.com/vllm-project/vllm) with an OpenAI-compatible API. vLLM implements the Qwen3-ASR architecture natively, so it serves the repo's bf16 `model.safetensors` directly — no conversion, lossless (FLEURS AR/EN CER ≈ 3.3 %).

1. Install (audio support required)

The stock vLLM image ships no audio codecs; add PyAV + librosa + soundfile:

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 .

2. Serve

bash
hf download audarai/Audar-ASR-V1-Flash --local-dir ./flash --exclude "*.gguf"

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

vLLM auto-detects the model; ~1.6 GB weights fit on any ≥ 8 GB GPU.

3. Transcribe

Send 16 kHz mono audio as base64 input_audio with the Arabic system prompt, decode greedily (temperature: 0). POST /v1/audio/transcriptions (multipart) or /v1/chat/completions both work:

bash
curl -s http://localhost:8000/v1/audio/transcriptions \
  -F model=audar-asr-v1-flash -F file=@clip.wav -F temperature=0
Output note: Flash prefixes raw output with a language <Lang><asr_text> tag — strip it client-side (same as the Transformers example above): re.sub(r"^\s*language\s+[A-Za-z]+\s*(?:<asr_text>)?\s*", "", text).strip().

💻 GGUF inference (llama.cpp)

Audar-ASR 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-Flash-Q8_0.gguf \
  --mmproj mmproj-Audar-ASR-V1-Flash.gguf \
  --audio  clip.wav \
  -sys     "فرّغ الكلام العربي التالي." \
  --temp 0
⚠️ The audio projector (`mmproj`) must stay BF16 — the encoder's ClippableLinear is numerically sensitive, so F16/Q8 measurably degrade quality. The decoder quantizes normally.

GGUF variants

FileApprox. sizeNotes
Audar-ASR-V1-Flash-Q4_K_M.gguf~0.40 GBSmallest; best for edge/offline
Audar-ASR-V1-Flash-Q8_0.gguf~0.64 GBNear-lossless, CPU-friendly (recommended)
Audar-ASR-V1-Flash.gguf (BF16)~1.20 GBFull precision decoder
mmproj-Audar-ASR-V1-Flash.gguf~0.38 GBBF16 audio encoder — required, keep BF16

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

🎙️ Real-time streaming

The 30 s-context model 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 on both the Transformers and GGUF paths. Audar's production realtime engine serves the same policy over an OpenAI-Realtime-compatible WebSocket with model-based endpointing.

🌍 Languages, dialects & tasks

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

Intended use & limitations

Intended use. Live captioning and subtitles, voice assistants/agents, meeting and call-center transcription, media/broadcast, accessibility — cloud, on-prem, or offline/edge.

Limitations.

  • Maghrebi / Moroccan Darija (Casablanca) is the hardest condition for all systems.
  • Heavily code-switched telephony and low-SNR audio degrade accuracy relative to clean MSA.
  • Long recordings can drift; chunk at sentence boundaries for best results.
  • Not evaluated for, and must not be used for, covert speaker identification.

📜 License

Released under the AudarAI Open License v1.0 — commercial use, redistribution, and fine-tuning/quantization permitted; ship the license and keep notices. See audarai.com/license/audarai-open-license-v1.0.

Citation

bibtex
@misc{audar-asr-flash-2026,
  title  = {Audar-ASR-V1: A Multilingual, Arabic-First Generative Speech Recognition Foundation Model},
  author = {AudarAI},
  year   = {2026},
  note   = {Audar-ASR-V1-Flash},
  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 Open License v1.0

</div>