Benchmarks

How Addis Scribe measures up
on natural Afaan Oromo speech.

Addis Scribe now transcribes Afaan Oromo, live and from uploads. We scored it against every Oromo system we could run on the same held-out natural speech, for accuracy and for how fast text reaches the screen. The clips, every system's transcripts and the scorer are public at addisai/addis-scribe-benchmark, so you can run it again with your own keys.

Word error rate, natural speech
21.1%
Final text after speech ends
43 ms
Google Chirp 2, live
42.4%
Released
27 October 2026
Summary

Two results on natural Oromo speech

Addis Scribe has the lowest error rate of every system we tested on natural Oromo speech, live or offline, for both male and female speakers.

Result 1

Half the errors of Google's live Oromo recognition

On 150 WAXAL test clips, streaming in 1.12 s steps, Addis Scribe records 21.1% WER and 6.8% CER. Google Chirp 2 records 42.4% WER streaming and 34.8% given the whole file, and Google Gemini 29.8% at best. The best open model, Ethio-ASR Oromo, records 24.8% offline.

Read the full accuracy tables
Result 2

Final text about 40 ms after the speaker stops

The transcript is final 37 to 43 ms after speech ends, and first words appear after 1.57 s with 0.32 s chunks. Google Chirp 2 streaming takes 1,051 ms and 6.37 s on the same clips.

Read how latency was measured
Natural speech

150 WAXAL clips: accuracy and speed

150 clips from the WAXAL Afaan Oromo test split, 23 speakers, 45 minutes, human transcripts. Every system transcribed the same clips.

WAXAL: natural speech

150 test clips, word error rate, lower is better

0%10%20%30%40%50%Addis Scribe (live)Addis Scribe (live): 21.1%21.1%Addis Scribe (upload)Addis Scribe (upload): 22.3%22.3%Ethio-ASR OromoEthio-ASR Oromo: 24.8%24.8%Ethio-ASR multi 600MEthio-ASR multi 600M: 25.7%25.7%WAXAL Whisper-smallWAXAL Whisper-small: 28.2%28.2%WAXAL MMS-300MWAXAL MMS-300M: 29.5%29.5%Gemini Flash (latest)Gemini Flash (latest): 29.8%29.8%Gemini 4 ArgonGemini 4 Argon: 29.9%29.9%Google Chirp 2 (batch)Google Chirp 2 (batch): 34.8%34.8%Google Chirp 2 (live)Google Chirp 2 (live): 42.4%42.4%Word error rate
Addis ScribeGoogleOpen models, offline only

Processing time per minute of audio

WAXAL, whole-file transcription, lower is better

0 s2 s4 s6 s8 s10 sWAXAL MMS-300MWAXAL MMS-300M: 0.21 s0.21 sEthio-ASR OromoEthio-ASR Oromo: 0.68 s0.68 sEthio-ASR multi 600MEthio-ASR multi 600M: 0.69 s0.69 sAddis Scribe (upload)Addis Scribe (upload): 0.78 s0.78 sWAXAL Whisper-smallWAXAL Whisper-small: 2.70 s2.70 sGoogle Chirp 2 (batch)Google Chirp 2 (batch): 9.77 s9.77 sGemini 4 ArgonGemini 4 Argon: 38.13 s38.13 sGemini Flash (latest)Gemini Flash (latest): 39.90 s39.90 sSeconds per minute of audio
Addis ScribeGoogleOpen models, offline only

WAXAL natural speech, every system and mode

SystemModeWERCERFinal text after speech endsFirst wordsProcessing per minute of audio
Addis Scribe OromoLive, 1.12 s chunks21.1%6.8%43 ms2.21 sn/a
Addis Scribe OromoLive, 0.32 s chunks21.5%6.9%37 ms1.57 sn/a
Addis Scribe OromoUpload22.3%7.6%n/an/a0.78 s
Ethio-ASR Oromo (w2v-BERT)Offline24.8%7.1%n/an/a0.68 s
Ethio-ASR multilingual 600MOffline25.7%7.2%n/an/a0.69 s
WAXAL benchmark Whisper-small OromoOffline28.2%8.2%n/an/a2.70 s
WAXAL benchmark MMS-300M OromoOffline29.5%7.9%n/an/a0.21 s
Google Gemini Flash (latest)Whole file, default settings29.8%9.7%n/an/a39.90 s
Google Gemini 4 ArgonWhole file, default settings29.9%7.8%n/an/a38.13 s
Google Chirp 2 (om-ET)Batch34.8%9.9%n/an/a9.77 s
Google Chirp 2 (om-ET)Streaming42.4%14.2%1,051 ms6.37 sn/a

Bold marks the best value in each column. Processing per minute is whole-file transcription, one clip at a time; for Google it is the full request time, network included. The processing chart cuts the Gemini bars at 10 s; their values are in the table.

Latency

How fast the words reach the screen

Audio is fed at real-time speed, as from a live microphone. We report how long until the first words appear, and how long after the speaker stops until the transcript is final.

First words on screen

WAXAL, 150 clips, lower is better

0 s2 s4 s6 s8 sAddis Scribe (0.32 s)Addis Scribe (0.32 s): 1.57 s1.57 sAddis Scribe (1.12 s)Addis Scribe (1.12 s): 2.21 s2.21 sGoogle Chirp 2Google Chirp 2: 6.37 s6.37 sSeconds
Addis ScribeGoogle

Final text after speech ends

WAXAL, 150 clips, lower is better

0 ms300 ms600 ms900 ms1200 msAddis Scribe (0.32 s)Addis Scribe (0.32 s): 37 ms37 msAddis Scribe (1.12 s)Addis Scribe (1.12 s): 43 ms43 msGoogle Chirp 2Google Chirp 2: 1,051 ms1,051 msMilliseconds
Addis ScribeGoogle

Addis Scribe was measured on one NVIDIA A100-class GPU. Google Chirp 2 was measured from its europe-west4 endpoint, the nearest region that serves Oromo, so its figures include the network round trip.

Full test split

All 3,782 WAXAL Oromo test clips

Uploads scored on the whole WAXAL Oromo test split, for the systems run on all of it. The ranking matches the 150-clip set.

SystemModeWERCER
Addis Scribe OromoUpload20.8%5.8%
Ethio-ASR Oromo (w2v-BERT)Offline24.2%6.2%
Ethio-ASR multilingual 600MOffline24.5%6.1%
By speaker gender

Male and female speakers

WAXAL word error rate split by speaker gender, taken from the dataset's own speaker metadata.

150-clip set: 82 clips from 12 male speakers (25.9 min), 68 clips from 11 female speakers (19.0 min)

SystemModeMale WERFemale WERAll WER
Addis Scribe OromoLive, 1.12 s chunks22.6%19.3%21.1%
Addis Scribe OromoLive, 0.32 s chunks22.5%20.3%21.5%
Addis Scribe OromoUpload23.2%21.3%22.3%
Ethio-ASR Oromo (w2v-BERT)Offline26.3%23.0%24.8%
Ethio-ASR multilingual 600MOffline26.8%24.4%25.7%
WAXAL benchmark Whisper-small OromoOffline30.2%25.9%28.2%
WAXAL benchmark MMS-300M OromoOffline30.5%28.4%29.5%
Google Gemini Flash (latest)Whole file, default settings31.4%28.0%29.8%
Google Gemini 4 ArgonWhole file, default settings32.1%27.4%29.9%
Google Chirp 2 (om-ET)Batch34.2%35.6%34.8%
Google Chirp 2 (om-ET)Streaming45.9%38.4%42.4%

Full test split: 1,958 clips from 12 male speakers (10.0 h), 1,824 clips from 12 female speakers (8.2 h)

SystemModeMale WERFemale WERAll WER
Addis Scribe OromoUpload22.9%18.7%20.8%
Ethio-ASR Oromo (w2v-BERT)Offline25.0%23.5%24.2%
Ethio-ASR multilingual 600MOffline25.1%23.9%24.5%

Addis Scribe is the most accurate system for both male and female speakers. Every system except Google Chirp 2's batch mode errs more on the male speakers of this test set; with only 11 to 12 speakers per group, that gap may reflect these speakers and recordings rather than gender itself.

Method

What was tested, and how each handles live audio

Addis Scribe and Google Chirp 2 run on live audio. Google Gemini and the open models need the whole recording, so they are scored for accuracy and processing time only.

SystemLive audioHow it was run
Addis Scribe OromoNative streamingStreams in 0.32 s or 1.12 s chunks, so text appears while people speak. Also tested as an upload of the whole file.
Ethio-ASR Oromo (w2v-BERT)Offline onlyNeeds the whole recording before it can answer. Scored for accuracy and processing time.
Ethio-ASR multilingual 600MOffline onlyNeeds the whole recording before it can answer. Scored for accuracy and processing time.
WAXAL benchmark Whisper-small OromoOffline onlyTranscribes complete audio. Scored for accuracy and processing time.
WAXAL benchmark MMS-300M OromoOffline onlyNeeds the whole recording before it can answer. Scored for accuracy and processing time.
Google Gemini Flash (latest)Offline onlyCalled through the Gemini API (gemini-flash-latest) with the whole clip and one transcription prompt, default settings. No live mode, so scored for accuracy and processing time.
Google Gemini 4 ArgonOffline onlyCalled through the Gemini API (gemini-4-argon) with the whole clip and one transcription prompt, default settings. No live mode, so scored for accuracy and processing time.
Google Chirp 2 (om-ET)Native (cloud API)Server-side streaming over the network from europe-west4, the nearest region that serves Oromo. Also tested as a batch request on the whole file.
Method

Test set and scoring rules

The test set is public. None of the WAXAL test clips were used to train our models.

Test setRepositorySplitWhat it measuresSelection
WAXALgoogle/WaxalNLPorm testNatural speech with human transcripts150 clips, 23 speakers, 45 minutes, the same clips for every system. Upload accuracy is also scored on the full split of 3,782 clips.

Scoring

Every system is scored with the same text normaliser: Unicode NFKC, lowercase, apostrophes kept because they mark the Oromo glottal stop, other punctuation removed. WER is word error rate and CER is character error rate, both lower is better.

Google Gemini

Both Gemini models were called through the Gemini API on 27 October 2026 (model ids gemini-4-argon and gemini-flash-latest) with each model's default settings, no thinking or temperature overrides: the whole clip plus one transcription prompt. Processing time is the request time, network included. They were not run on the full test split.

Limitations

What this run does not show

  • WAXAL results come from 150 clips and 23 speakers. That is enough to rank systems with wide gaps, not to separate systems a point or two apart.
  • Latency is measured with one stream at a time. It is not a guarantee for every request.
Reproduce

Reproduce it yourself

The clips, human references, every system's transcripts from our run, the scorer and a runner for each system are published at addisai/addis-scribe-benchmark. Run any system again with your own keys and see your numbers next to ours on the same 150 clips.

data/om/clips.json

The 150 WAXAL test clips: ids, speakers, speaker gender from WAXAL's metadata, durations and human reference transcripts.

data/om/transcripts.json

Every system's transcript for every clip from our run, with live latencies where they were measured.

score.py

The scorer: the shared text normaliser, WER, CER and the split by speaker gender.

systems.py, run.py, app.py

One runner per system with the exact settings we used, a command-line runner and a local web app.

Published at addisai/addis-scribe-benchmark.

Three commands

shell
pip install -r requirements.txt # add requirements-open-models.txt for the open models
python fetch_audio.py # downloads the WAXAL clips into data/audio/
python app.py # open http://127.0.0.1:8787, paste your keys, press Submit

The app opens at http://127.0.0.1:8787 and runs on your computer only. It shows your WER and CER next to ours on the same clips, marks every error word by word, splits by speaker gender, and measures speed and estimated cost from your run. Your keys are sent only to each service and are never written to disk. You need Python 3.10 or later and ffmpeg.

Keys you need

  • Addis Scribe: an API key from your API keys page.
  • Google Gemini: an API key from Google AI Studio.
  • Google Chirp: a Google Cloud service-account JSON with the Speech-to-Text API enabled.
  • The open models need no key.

What to expect

  • Runs of Addis Scribe, Gemini and Chirp are billed to your own accounts. All 250 clips, Amharic and Afaan Oromo together, cost under about $2 per service.
  • Gemini at default settings varies a little from run to run, so its WER moves slightly.
  • Live times include your own network.

Transcribe Afaan Oromo with the API

Add language=om to a Scribe upload, live session or long-file job. Uploads, live streaming, word timestamps, captions and speaker labels all work in Oromo, at the same per-character price as Amharic.