Skip to content

Measure Grok Voice Transcribe 2.0 on the benchmark page's samples - #22

Merged
PhilflowIO merged 5 commits into
masterfrom
feat/xai-grok-voice-transcribe
Sep 18, 2026
Merged

PhilflowIO merged 5 commits into
masterfrom
feat/xai-grok-voice-transcribe

Conversation

@PhilflowIO

Copy link
Copy Markdown
Owner

Why

xAI released grok-voice-transcribe-2.0. Under ADR-app-0054 every number the Raven benchmark page publishes has to be reproducible from this repo, so the model is measured here, once, and the page reads the artifact (Philflow/flow.raven#7279).

What

  • avemio loader — the page's avemio column is measured on avemio/ASR-GERMAN-MIXED-TEST, which is not german-mixed. Pinned at the repo's last commit; the first 100 references match the page's row for row.
  • Sample id + audio length per prediction line — needed to see failed rows and to derive RTFx / per-minute cost downstream. Additive.
  • Page lens and dialect BLEU committed at promotewer_strict_de_pct (strict-de, length-weighted, the page's rule) and, for bleu+wer corpora, bleu + signature. make verify re-scores both; both are opt-in, so older artifacts still pass.
  • xAI adapter — multipart with file last, language=de, format=true.
  • Artifacts — Grok 2.0 on exactly the page's samples (first 100 / 50 rows), one run directory per dataset.

Result

strict-de 6.62 / 5.19 / 8.44 / 12.36 % (avemio / fleurs / mls-de / voxpopuli-de), mean 8.15 %; BLEU 43.42 (spc-test), 40.65 (fhnw). 500 of 500 utterances, 1.50 h audio, USD 0.15.

Checks

  • make verify: 29 rows reproduced (the six new ones included).
  • pytest: relevant suites green (63 in the touched files).

🤖 Generated with Claude Code

PhilflowIO and others added 5 commits September 18, 2026 22:37
The Raven benchmark page publishes an "avemio" column measured on the first
100 rows of avemio/ASR-GERMAN-MIXED-TEST. This repo had no loader for it —
german-mixed is flozi00/asr-german-mixed-evals, a different repo with a
different row order and different references — so that column had no path
to reproduction here, which ADR-app-0054 treats as a defect.

The loader is pinned at the repo's last commit (2025-01-07); the page's
existing numbers were measured at an unpinned HEAD that already was this
commit. Checked row by row against the page's own loader: the first 100
references are identical and in the same order.

Refs Philflow/flow.raven#7279

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
A prediction line carried reference, prediction and latency — nothing that
said which utterance it was or how long it ran. Two things need that:

* a failed call is dropped from the list, so without the id nobody can see
  which rows are missing or join a line to the same row elsewhere;
* RTFx and a per-minute price are ratios over audio length, so a downstream
  table (the benchmark page shows both) cannot derive them from latency alone.

Both are properties of the input, recorded next to the output. Additive: older
artifacts and verify.py, which reads only reference/prediction, are unaffected.

Refs Philflow/flow.raven#7279

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The benchmark page reads strict-de WER, length-weighted per dataset; this repo
publishes flozi-strict. With only the latter committed, the page would have to
compute its number from the predictions on its own — next to raven.eval, not
by it. promote now writes wer_strict_de_pct per subset
(raven_eval_core.corpus_wer_strict_de_pct) and verify re-scores it like every
published value, so the page number is defended by this repo's CI.

The corpus rule is Σ(wer_strict · words) / Σ words, not Σ edits / Σ words:
for an empty hypothesis compute_wer reports wer_strict = 1.0 but zero edit
counts, so the edit form would score a model that returns nothing as perfect.

benchmark.config.yaml makes BLEU the headline for bleu+wer corpora, yet no
run produced one — only the hand-built demo artifact carried the key. promote
now adds BLEU and its signature for every subset whose dataset declares
bleu+wer, taken from the dataset spec rather than a caller flag.

Both keys are opt-in in verify, so artifacts promoted before them still pass.

Refs Philflow/flow.raven#7279

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
REST POST /v1/stt, multipart. Two vendor rules change the result silently
rather than failing: `file` must be the last field (options sent after it may
be ignored), and `format=true` requires `language`. The adapter sends
language=de + format=true and the test pins the field order. Concurrency 8
stays under the documented 10 requests/s.

Registered as xai/grok-voice-transcribe-2.0 with XAI_API_KEY; the key's name
is documented in TIER2-KEYS.md, its value lives only in the operator's env.

Refs Philflow/flow.raven#7279

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Measured on exactly the rows the Raven benchmark page compares every provider
on — the first 100 of avemio-german-mixed-test, fleurs, mls-de, voxpopuli-de
and the first 50 of spc-test and fhnw-all-dialects — so the row can stand next
to the other 49 there. 500 of 500 utterances returned, 1.50 h of audio,
USD 0.15 at the listed USD 0.10 per hour.

strict-de (the page's lens): 6.62 / 5.19 / 8.44 / 12.36 % on the four
read-aloud sets, mean 8.15 %. BLEU 43.42 on spc-test and 40.65 on
fhnw-all-dialects. On mls-de the model sometimes speaks the audiobook's
section marker ("Ende von Abschnitt eins") into the transcript; the reference
omits it, so it counts as insertions and CER exceeds WER there.

make verify: 29 rows reproduced, the six new ones included.

Refs Philflow/flow.raven#7279

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@PhilflowIO
PhilflowIO merged commit ba4d97d into master Sep 18, 2026
4 checks passed
@PhilflowIO
PhilflowIO deleted the feat/xai-grok-voice-transcribe branch September 18, 2026 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant