← Tessen

How we measure accuracy

Last updated: 2026-09-22

No accuracy figure appears anywhere on this site — not here, not in the FAQ, not in a comparison table. Saying accuracy is measured is fine; publishing a number is not, and that is a deliberate policy, explained below rather than just asserted.

This page describes the method, not a result. If you want a number, the most direct honest way to get one is to measure it yourself, on your own voice — see the last section.

Two paths, never averaged into one number

Tessen recognizes speech on two different code paths that see audio differently: live dictation (you hold a key, speak, release it, and text lands at your cursor) and file transcription (tessen transcribe, or "Transcribe Audio File…" from the menu, run against a recording after the fact). They handle timing, chunking, and recovery differently, and they can perform differently on the same audio. When we do measure either one, the two are reported separately and never pooled into a single headline figure — a blended average would describe neither path honestly.

What we measure, and how

Corpus Recorded speech clips, each checked by a person against what was actually said before it is used as ground truth. Where a test uses synthetic (text-to-speech) clips, it is labelled as such and used only to compare two settings, never as a statement about real-world accuracy (see below).
Word error rate The standard measure of how far a transcript drifts from the ground truth: substitutions, insertions, and deletions of words, counted against the reference. It tells you how much of a transcript you would have to fix.
Jargon recall A second, separate measure scoped to the specific trade terms, names, and vocabulary a clip is meant to contain — because a general error rate can look fine while every technical term in a sentence is still wrong. WER and jargon recall are reported as two different numbers for exactly that reason; a general figure cannot stand in for the other.
ON/OFF biasing Vocabulary biasing (Tessen favoring the words in your personal dictionary and trade packs) is measured by running the same clip through the same engine twice — once with biasing on, once with it off — and comparing the two transcripts against the same ground truth. A single run with biasing on proves nothing about what biasing changed; only the diff between the two arms does.

What a synthetic test cannot prove

Text-to-speech clips are useful for one narrow thing: ranking two configurations against each other on identical input, cheaply and repeatably. They are not useful for stating how well a product transcribes real speech — a synthetic voice does not carry the accent, pacing, background noise, or microphone variation a real dictation does, and error rates measured on synthetic speech do not transfer to a claim about real usage. When we have run synthetic comparisons internally, the result is treated strictly as a within-run comparator, never as a statement about real-world accuracy — and that distinction is why nothing synthetic ever reaches this page as a number either.

Why no number is published

An accuracy figure without your voice, your microphone, and your vocabulary in it is marketing, not information — and every vendor's number, including a future one of ours, is measured on their voice and their corpus, not yours. Two real people running the identical product can see meaningfully different results depending on accent, room noise, and how unusual their vocabulary is. Publishing one figure here would imply a promise about your specific dictation that no single number can honestly make.

Measure your own

You do not have to take our word for any of this. Tessen ships a command-line path built for exactly this comparison:

tessen transcribe your-recording.wav              # biasing on (default)
tessen transcribe your-recording.wav --no-bias     # biasing off

Run the same recording both ways and diff the two transcripts against what you actually said. Each run prints bias_terms: <count> to stderr, stating how many of your own vocabulary terms were offered to the recognizer for that run, so you can tell which transcript came from which arm without guessing. This flag is in the build the owner is currently testing — see Roadmap and Status for what is public right now versus what the owner is running daily before it reaches everyone else.

Stdout stays a clean transcript either way, so both commands above pipe cleanly into whatever scoring you already trust.