Dragonhead commited on
Commit
e2f9cf5
·
verified ·
1 Parent(s): d6ac5b6

Card v2: proprietary framing + leaderboard/CommonVoice/Emirati benchmarks + Audar branding

Browse files
Files changed (1) hide show
  1. README.md +52 -57
README.md CHANGED
@@ -15,9 +15,10 @@ tags:
15
  - arabic
16
  - arabic-asr
17
  - dialectal-arabic
 
 
18
  - streaming
19
  - realtime
20
- - qwen3-asr
21
  - gguf
22
  - llama-cpp
23
  - on-device
@@ -27,9 +28,9 @@ tags:
27
 
28
  <div align="center">
29
 
30
- # Audar-ASR-V1-Flash · GGUF + Transformers
31
 
32
- ### Open, Arabic-first, dialect-aware speech recognition — real-time and edge-ready.
33
 
34
  **From Arabic to the world.**
35
 
@@ -40,7 +41,7 @@ tags:
40
  ![Languages](https://img.shields.io/badge/languages-30%20(Arabic%20%2B%20English%20%2B%2028)-f59e0b)
41
  ![Runs on](https://img.shields.io/badge/runs%20on-CPU%20%7C%20GPU%20%7C%20edge-informational)
42
 
43
- <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://www.audarai.com/license/audarai-open-license-v1.0/"><b>📜 License</b></a></p>
44
 
45
  </div>
46
 
@@ -48,50 +49,49 @@ tags:
48
 
49
  ## 🧭 What it is
50
 
51
- **Audar-ASR-V1-Flash** is the **edge tier** of the Audar-ASR family — a generative speech-recognition
52
- model built on **Qwen3-ASR** (a Whisper-style 128-mel audio encoder feeding a Qwen3 decoder) and
53
- **fine-tuned for Arabic and its dialects** by Audar. It transcribes **Modern Standard Arabic, Gulf,
54
- Egyptian, Levantine and Maghrebi speech, code-switched Arabic–English, and English**, and supports
55
- **30 languages** in total.
56
 
57
- Flash is optimized for **latency and throughput**: a ~0.6B decoder that runs comfortably on a single
58
- GPU or on **CPU/edge via GGUF**, with a real-time streaming policy for live captioning. For maximum
59
- accuracy on the hardest dialectal audio, see the larger [**Audar-ASR-V1-Turbo**](https://huggingface.co/audarai/Audar-ASR-V1-Turbo).
 
 
 
 
 
 
 
 
60
 
61
  ## Model summary
62
 
63
  <table>
64
  <tbody>
65
- <tr><td width="200"><b>Model</b></td><td>Audar-ASR-V1-Flash</td></tr>
66
  <tr><td><b>Task</b></td><td>Automatic speech recognition (audio → text)</td></tr>
67
- <tr><td><b>Architecture</b></td><td>Qwen3-ASR — Whisper-style mel audio encoder (18 layers, d896) + Qwen3 decoder</td></tr>
68
- <tr><td><b>Decoder size</b></td><td>~0.6B (full model ~0.78B, safetensors 1.56 GB bf16)</td></tr>
69
- <tr><td><b>Audio input</b></td><td>16 kHz mono; 30 s encoder context (longer audio is chunked/streamed)</td></tr>
 
70
  <tr><td><b>Languages</b></td><td>Arabic (MSA + Gulf/Egyptian/Levantine/Maghrebi dialects) + English + 28 more</td></tr>
71
  <tr><td><b>Runtimes</b></td><td>🤗 Transformers (GPU) · GGUF / llama.cpp (CPU · GPU · edge)</td></tr>
72
- <tr><td><b>Output</b></td><td>UTF-8 text, dialect-faithful orthography, prompt-steerable</td></tr>
73
  <tr><td><b>License</b></td><td>AudarAI Open License v1.0</td></tr>
74
  </tbody>
75
  </table>
76
 
77
- ## The Audar-ASR family
78
-
79
- | Tier | Decoder | Best for |
80
- |---|---|---|
81
- | **Flash** (this model) | ~0.6B | Real-time captioning, edge/on-device, high-throughput serving |
82
- | **[Turbo](https://huggingface.co/audarai/Audar-ASR-V1-Turbo)** | ~1.7B | Highest accuracy on heavy dialectal & long-form audio |
83
-
84
- Both tiers share one **audio encoder, tokenizer, and prompt protocol** — you can move between them
85
- without changing your integration.
86
-
87
  ## 📊 Benchmarks
88
 
89
- Arabic dialectal ASR is **hard** — heavily dialectal, conversational, and code-switched speech is the
90
- frontier for every system. We report **word error rate (WER)** and **character error rate (CER)**;
91
- lower is better. Numbers use standard Arabic normalization (NFKC, strip diacritics/tatweel, fold
92
- alef/ya/ta-marbuta).
93
 
94
- **Measured — Audar-ASR-V1-Flash**, on an internal dialectal validation sample (N clips per set):
 
95
 
96
  | Set (dialect) | N | WER % | CER % |
97
  |---|---|---|---|
@@ -100,17 +100,13 @@ alef/ya/ta-marbuta).
100
  | MGB-3 (Egyptian broadcast) | 40 | 49.0 | 18.1 |
101
  | Casablanca (Maghrebi / Moroccan Darija) | 40 | 71.3 | 28.7 |
102
 
103
- > These are **measured on an internal validation sample**, not the official leaderboards, and are
104
- > provided as an indication of Flash's dialectal behaviour. The **1.7B Turbo tier** is the
105
- > fully-benchmarked model on the *Open Universal Arabic ASR Leaderboard* (avg **24.7 % WER** across
106
- > six datasets, lowest on four of six) — see the
107
- > [Turbo card](https://huggingface.co/audarai/Audar-ASR-V1-Turbo#-benchmarks) and the Audar-ASR
108
- > technical report. As expected, Flash trades accuracy for latency/throughput; Turbo cuts dialectal
109
- > WER substantially (e.g. Gulf 37→14, Egyptian code-switch 44→20 on the same sample).
110
 
111
  ## 🤗 Transformers inference
112
 
113
- The model ships self-contained modeling code, so `trust_remote_code=True` is required.
114
 
115
  ```python
116
  # pip install "transformers>=4.51" torch librosa
@@ -136,15 +132,12 @@ inputs["input_features"] = inputs["input_features"].to(model.dtype) # features
136
 
137
  out = model.generate(**inputs, max_new_tokens=440, do_sample=False)
138
  hyp = proc.batch_decode(out[:, inputs["input_ids"].shape[1]:], skip_special_tokens=True)[0]
139
- # strip an optional "language Arabic<asr_text>…" wrapper the decoder may emit
140
  print(re.sub(r"^\s*language\s+[A-Za-z]+\s*(?:<asr_text>)?\s*", "", hyp).strip())
141
  ```
142
 
143
  - **Language steering**: the Arabic auto-dialect prompt above needs no dialect hint. For other
144
  languages use e.g. `"Transcribe the following speech."`.
145
- - **Long audio (>30 s)**: split at ~30 s boundaries and concatenate (see the streaming section).
146
- - A tiny reference library (`transcribe` / `transcribe_long` / `stream_transcribe`) and a test suite
147
- are provided with this release.
148
 
149
  ## 💻 GGUF inference (llama.cpp)
150
 
@@ -160,8 +153,8 @@ Audar-ASR runs on **llama.cpp** via the multimodal (`mtmd`) path: a quantized **
160
  --temp 0
161
  ```
162
 
163
- > ⚠️ The **audio projector (`mmproj`) must stay BF16** — the encoder's `ClippableLinear` is
164
- > numerically sensitive, so F16/Q8 measurably degrade quality. The **decoder** quantizes normally.
165
 
166
  ### GGUF variants
167
 
@@ -172,20 +165,23 @@ Audar-ASR runs on **llama.cpp** via the multimodal (`mtmd`) path: a quantized **
172
  | `Audar-ASR-V1-Flash.gguf` (BF16) | ~1.20 GB | Full precision decoder |
173
  | `mmproj-Audar-ASR-V1-Flash.gguf` | ~0.38 GB | **BF16 audio encoder — required, keep BF16** |
174
 
 
 
 
 
175
  ## 🎙️ Real-time streaming
176
 
177
  The 30 s-context model streams via **LocalAgreement-2**: as audio arrives, the trailing window is
178
  re-decoded each hop and a word is **committed** only once two consecutive decodes agree on it — giving
179
- stable, low-latency incremental output. The reference `stream_transcribe` yields growing
180
- `{committed, pending}` transcripts and works on **both** the Transformers and GGUF paths. For
181
- production sub-250 ms serving, the same policy runs over Audar's realtime engine (OpenAI-Realtime-
182
- compatible WebSocket with model-based endpointing).
183
 
184
  ## 🌍 Languages, dialects & tasks
185
 
186
- - **Primary**: Arabic — MSA and dialectal (Gulf, Egyptian, Levantine, Maghrebi), plus **code-switched
187
- Arabic–English**. Emits dialect-faithful orthography from audio alone (no dialect tag needed).
188
- - **Also**: English + 28 additional languages inherited from the Qwen3-ASR foundation.
189
  - **Task**: transcription (audio → UTF-8 text), prompt-steerable for language/formatting.
190
 
191
  ## Intended use & limitations
@@ -194,7 +190,7 @@ compatible WebSocket with model-based endpointing).
194
  transcription, media/broadcast, accessibility — cloud, on-prem, or offline/edge.
195
 
196
  **Limitations.**
197
- - **Maghrebi / Moroccan Darija (Casablanca)** is the hardest condition for all systems (highest WER).
198
  - Heavily code-switched telephony and low-SNR audio degrade accuracy relative to clean MSA.
199
  - Long recordings can drift; chunk at sentence boundaries for best results.
200
  - Not evaluated for, and must **not** be used for, covert speaker identification.
@@ -204,7 +200,6 @@ transcription, media/broadcast, accessibility — cloud, on-prem, or offline/edg
204
  Released under the **AudarAI Open License v1.0** — commercial use, redistribution, and
205
  fine-tuning/quantization permitted; ship the license and keep notices. See
206
  [audarai.com/license/audarai-open-license-v1.0](https://www.audarai.com/license/audarai-open-license-v1.0/).
207
- Built on the permissively-licensed Qwen3-ASR foundation (Apache-2.0) © the Qwen team.
208
 
209
  ## Citation
210
 
@@ -213,9 +208,9 @@ Built on the permissively-licensed Qwen3-ASR foundation (Apache-2.0) © the Qwen
213
  title = {Audar-ASR: Dialect-Aware Arabic Speech Recognition},
214
  author = {AudarAI},
215
  year = {2026},
216
- note = {Audar-ASR-V1-Flash / Turbo},
217
  url = {https://huggingface.co/audarai/Audar-ASR-V1-Flash}
218
  }
219
  ```
220
 
221
- <div align="center"><sub>© AUDARAI PTE. LTD. · From Arabic to the world.</sub></div>
 
15
  - arabic
16
  - arabic-asr
17
  - dialectal-arabic
18
+ - emirati
19
+ - gulf-arabic
20
  - streaming
21
  - realtime
 
22
  - gguf
23
  - llama-cpp
24
  - on-device
 
28
 
29
  <div align="center">
30
 
31
+ # Audar-ASR-V1-Flash · Transformers + GGUF
32
 
33
+ ### Audar's proprietary Arabic ASR — the real-time, edge tier.
34
 
35
  **From Arabic to the world.**
36
 
 
41
  ![Languages](https://img.shields.io/badge/languages-30%20(Arabic%20%2B%20English%20%2B%2028)-f59e0b)
42
  ![Runs on](https://img.shields.io/badge/runs%20on-CPU%20%7C%20GPU%20%7C%20edge-informational)
43
 
44
+ <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://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>
45
 
46
  </div>
47
 
 
49
 
50
  ## 🧭 What it is
51
 
52
+ **Audar-ASR-V1-Flash** is the **edge tier** of **Audar's proprietary Arabic speech-recognition family** —
53
+ the same in-house Arabic training program as [Audar-ASR-V1-Turbo](https://huggingface.co/audarai/Audar-ASR-V1-Turbo),
54
+ delivered in a fast ~0.6B-decoder model for **real-time captioning and on-device use**. It recasts
55
+ transcription as **audio-conditioned next-token prediction** (a language-model decoder, not CTC/transducer),
56
+ and is developed through Audar's proprietary pipeline:
57
 
58
+ - 🧱 **Large-scale dialectal pretraining** — 300,000+ hours of Arabic audio (MSA + Gulf, Egyptian,
59
+ Levantine, Maghrebi; code-switching; diverse channels).
60
+ - 🎯 **Dialect-targeted fine-tuning** with hardness and multi-task sampling.
61
+ - 🧠 **GRPO reinforcement-learning alignment** from trained native-Arabic annotators.
62
+
63
+ It transcribes MSA and every major Arabic dialect, code-switched Arabic–English, and English, across
64
+ **30 languages**, and runs on **CPU / GPU / edge** via 🤗 Transformers or GGUF. For maximum accuracy on
65
+ the hardest dialectal audio, use the larger **Turbo** tier.
66
+
67
+ > Distributed in the widely-supported **Qwen3-ASR architecture format** for turnkey tooling
68
+ > (Transformers, llama.cpp / GGUF). The **model** — data, training curriculum, and alignment — is Audar's.
69
 
70
  ## Model summary
71
 
72
  <table>
73
  <tbody>
74
+ <tr><td width="200"><b>Model</b></td><td>Audar-ASR-V1-Flash — proprietary Arabic ASR (edge tier)</td></tr>
75
  <tr><td><b>Task</b></td><td>Automatic speech recognition (audio → text)</td></tr>
76
+ <tr><td><b>Approach</b></td><td>Generative ASR — audio encoder + language-model decoder</td></tr>
77
+ <tr><td><b>Training</b></td><td>300k+ hrs dialectal pretraining → dialect-targeted SFT → GRPO alignment</td></tr>
78
+ <tr><td><b>Decoder size</b></td><td>~0.6B (full model ~0.78B, bf16)</td></tr>
79
+ <tr><td><b>Audio input</b></td><td>16 kHz mono; 30 s context (longer audio is chunked/streamed)</td></tr>
80
  <tr><td><b>Languages</b></td><td>Arabic (MSA + Gulf/Egyptian/Levantine/Maghrebi dialects) + English + 28 more</td></tr>
81
  <tr><td><b>Runtimes</b></td><td>🤗 Transformers (GPU) · GGUF / llama.cpp (CPU · GPU · edge)</td></tr>
 
82
  <tr><td><b>License</b></td><td>AudarAI Open License v1.0</td></tr>
83
  </tbody>
84
  </table>
85
 
 
 
 
 
 
 
 
 
 
 
86
  ## 📊 Benchmarks
87
 
88
+ Audar-ASR sets the state of the art on dialectal Arabic. The fully-benchmarked **Turbo** tier posts
89
+ **23.6 % average WER** on the *Open Universal Arabic ASR Leaderboard* (lowest of any evaluated system on
90
+ four of six), **3.55 % WER on CommonVoice-18 Arabic**, and **19.4 % WER / 7.3 % CER on Emirati** (Mixat)
91
+ — see the [Turbo card](https://huggingface.co/audarai/Audar-ASR-V1-Turbo#-benchmarks).
92
 
93
+ **Flash** is the edge tier: it trades some accuracy for latency and throughput. Measured with our harness
94
+ on an internal dialectal validation sample (WER/CER %, N clips per set):
95
 
96
  | Set (dialect) | N | WER % | CER % |
97
  |---|---|---|---|
 
100
  | MGB-3 (Egyptian broadcast) | 40 | 49.0 | 18.1 |
101
  | Casablanca (Maghrebi / Moroccan Darija) | 40 | 71.3 | 28.7 |
102
 
103
+ > Use **Flash** for real-time and on-device transcription; step up to **Turbo** when you need the lowest
104
+ > error on heavy dialectal or long-form audio (on this same sample, Turbo roughly halves Flash's WER:
105
+ > Gulf 37→14, Egyptian code-switch 44→20).
 
 
 
 
106
 
107
  ## 🤗 Transformers inference
108
 
109
+ Ships self-contained modeling code, so `trust_remote_code=True` is required.
110
 
111
  ```python
112
  # pip install "transformers>=4.51" torch librosa
 
132
 
133
  out = model.generate(**inputs, max_new_tokens=440, do_sample=False)
134
  hyp = proc.batch_decode(out[:, inputs["input_ids"].shape[1]:], skip_special_tokens=True)[0]
 
135
  print(re.sub(r"^\s*language\s+[A-Za-z]+\s*(?:<asr_text>)?\s*", "", hyp).strip())
136
  ```
137
 
138
  - **Language steering**: the Arabic auto-dialect prompt above needs no dialect hint. For other
139
  languages use e.g. `"Transcribe the following speech."`.
140
+ - **Long audio (>30 s)**: split at ~30 s boundaries (see the streaming section).
 
 
141
 
142
  ## 💻 GGUF inference (llama.cpp)
143
 
 
153
  --temp 0
154
  ```
155
 
156
+ > ⚠️ The **audio projector (`mmproj`) must stay BF16** — the encoder's `ClippableLinear` is numerically
157
+ > sensitive, so F16/Q8 measurably degrade quality. The **decoder** quantizes normally.
158
 
159
  ### GGUF variants
160
 
 
165
  | `Audar-ASR-V1-Flash.gguf` (BF16) | ~1.20 GB | Full precision decoder |
166
  | `mmproj-Audar-ASR-V1-Flash.gguf` | ~0.38 GB | **BF16 audio encoder — required, keep BF16** |
167
 
168
+ Prefer a managed endpoint? The Audar-ASR family is also available via the
169
+ [**Audar API/SDK**](https://www.audarai.com) — streaming, speaker-attributed transcription, and
170
+ diarization, production-hosted.
171
+
172
  ## 🎙️ Real-time streaming
173
 
174
  The 30 s-context model streams via **LocalAgreement-2**: as audio arrives, the trailing window is
175
  re-decoded each hop and a word is **committed** only once two consecutive decodes agree on it — giving
176
+ stable, low-latency incremental output on **both** the Transformers and GGUF paths. Audar's production
177
+ realtime engine serves the same policy over an OpenAI-Realtime-compatible WebSocket with model-based
178
+ endpointing.
 
179
 
180
  ## 🌍 Languages, dialects & tasks
181
 
182
+ - **Primary**: Arabic — MSA and dialectal (Gulf/Emirati, Egyptian, Levantine, Maghrebi), plus
183
+ **code-switched Arabic–English**; dialect-faithful orthography from audio alone.
184
+ - **Also**: English + 28 additional languages.
185
  - **Task**: transcription (audio → UTF-8 text), prompt-steerable for language/formatting.
186
 
187
  ## Intended use & limitations
 
190
  transcription, media/broadcast, accessibility — cloud, on-prem, or offline/edge.
191
 
192
  **Limitations.**
193
+ - **Maghrebi / Moroccan Darija (Casablanca)** is the hardest condition for all systems.
194
  - Heavily code-switched telephony and low-SNR audio degrade accuracy relative to clean MSA.
195
  - Long recordings can drift; chunk at sentence boundaries for best results.
196
  - Not evaluated for, and must **not** be used for, covert speaker identification.
 
200
  Released under the **AudarAI Open License v1.0** — commercial use, redistribution, and
201
  fine-tuning/quantization permitted; ship the license and keep notices. See
202
  [audarai.com/license/audarai-open-license-v1.0](https://www.audarai.com/license/audarai-open-license-v1.0/).
 
203
 
204
  ## Citation
205
 
 
208
  title = {Audar-ASR: Dialect-Aware Arabic Speech Recognition},
209
  author = {AudarAI},
210
  year = {2026},
211
+ note = {Audar-ASR-V1 (Flash / Turbo)},
212
  url = {https://huggingface.co/audarai/Audar-ASR-V1-Flash}
213
  }
214
  ```
215
 
216
+ <div align="center"><sub>© AUDARAI PTE. LTD. · Singapore · From Arabic to the world.</sub></div>