Anis Transcribe

A speech model that writes Egyptian Arabic the way doctors dictate it: Arabic in Arabic letters, English terms in English letters, numbers as digits. It runs on your own computer or phone, and the audio never leaves it.

Download on Hugging Face. Free for non-commercial use. The training code is coming soon.

15.9% word error rate · 127x faster than real time · 325M parameters · 1 GB graphics memory

Second of 13, and the best you can run yourself

Word error rate on 133 Egyptian dictation clips with English terms (4,404 words), pooled. Lower is better.

ModelWER %English kept %
Gemini 3.1 Flash-Lite (Google, cloud)9.677
Anis Transcribe 1.0 (ours, local)15.985
GPT-audio-mini (OpenAI, cloud)18.781
Qwen 3.8 Omni Flash (Alibaba, cloud)18.786
Gemini 3.5 Transcribe (Google, cloud)1919
QwenCleo-ASR (local)20.765
Whisper large code-switch (local)26.678
Voxtral Small 24B (Mistral, cloud)30.864
Whisper large-v3 (OpenAI, local)3111
Audar ASR v1 turbo (local)3127
Qwen3-ASR 1.7B (Alibaba, local)40.17
Whisper-small Egyptian (local)42.544
MiMo v2.6 Flash (Xiaomi, cloud)4854

16 to 36 times faster, in a fifth of the memory

Every model that runs locally, on the same RTX 4060 8 GB at batch 1. Only Whisper-small is as light, and it makes 2.7 times as many errors.

It is a CTC model: one pass over the audio writes every letter at once. Whisper and speech-LLMs run a decoder once for every word they write.

ModelParams (M)x real timeGPU memory GB
Anis Transcribe 1.03251271
QwenCleo-ASR20003.84.8
Whisper large code-switch15507.85.2
Whisper large-v315506.95
Qwen3-ASR 1.7B20003.54.6
Whisper-small Egyptian2445.31

Runs anywhere, same accuracy

The same model on a graphics card and on an ordinary CPU. The 303 MB int8 file is what the Anis phone app downloads.

  • Graphics card, RTX 4060: 127x, 746 MB
  • CPU, ONNX int8, 4 threads: 33.7x, 303 MB
  • CPU, ONNX int8, 2 threads: 23.1x, 303 MB
  • CPU, PyTorch, 10 threads: 17x, 746 MB
  • CPU, ONNX int4, 4 threads: 13.8x, 198 MB

How it got here

  • 0.0: 25 h of doctors' lectures, 29.8%
  • 0.4: + 281 h of general Egyptian Arabic, 22.4%
  • 1.0: + 32 h of the author's own dictation, 15.9%

How it works

  1. Listen: The audio encoder of Google’s EmbeddingGemma 2 (304.8M), adapted with LoRA
  2. Read: A 20M-parameter CTC reader that spells Arabic, English and digits
  3. Correct: Beam search with a word dictionary picks the likely spelling
  4. Tidy: Spoken numbers become digits

Where the idea came from

The starting idea is from Embedding Gemma Transcribe by haku: keep EmbeddingGemma 2’s audio encoder as it is and train only a small reader on top, so an embedding model becomes a fast, on-device transcriber (for English). Anis Transcribe takes that idea to Egyptian Arabic with English terms: a CTC reader that spells letters instead of picking from a word list, LoRA on the encoder, a dictionary and number normalisation.

Embedding Gemma Transcribe

Read this before you compare

  • Every test clip is the author’s own voice, and about 10% of the training audio is too. This is a personal dictation model: on other speakers it is weaker (43 to 66% WER without the dictionary).
  • Word error rate overstates Arabic errors: برضه and برضو count as a mistake. Folding spelling variants lowers every model by 2 to 5 points and does not change the order.
  • Not validated for clinical documentation. Read the text before you use it.

Built and trained by Mohamed Maslooh (محمد مصلوح) in Cairo, 2026.