Hebrew meeting transcription: what actually works
Hebrew is harder for speech models than English, and the gap is wider than most tools admit. Less training data, no written vowels, and a morphology where prefixes attach directly to words — so a single wrong letter does not produce a misspelling, it produces a different word.
We build a meeting notetaker that has to work on Israeli work calls, so we measured it rather than guessing. Here is the test, the numbers, and the part that surprised us.
The test
One clip of clear, synthesised Hebrew speech, 20.8 seconds, 51 words — the kind of sentences that actually occur in a work call: an address sent, a pilot size agreed, an approval owed, a review promised.
שלחתי לך את הכתובת אתמול בבוקר. תפתחי את המייל ותגידי לי אם זה הגיע. סיכמנו על פיילוט של עשרה משתמשים, לא חמישים, כי רצינו לראות תוצאות אמיתיות לפני שמגדילים. דנה עדיין חייבת לנו את אישור המחלקה המשפטית, והיא הבטיחה את זה לפני שלושה שבועות. אני אשלח את סקירת האבטחה ביום חמישי.
Deliberately synthetic, for two reasons. It is clean speech, so this measures the model rather than the microphone. And it means we can publish the audio and the reference text without putting a real person's private call on the internet — you can reproduce this exactly.
Four transcriptions. Three are Whisper models quantised to 8-bit, run locally
through transformers.js with identical settings (30-second chunks, 5-second
stride, language pinned to Hebrew) — these are what the free browser tools use.
The fourth is Kika's own transcription, the one the app uses on a saved
recording. Word error rate is edit distance over words, after stripping
punctuation and diacritics.
The numbers
| Model | Runs | Download (q8) | Word error rate | Errors / 51 |
|---|---|---|---|---|
| whisper-base | in browser | 73 MB | 52.9% | 27 |
| whisper-small | in browser | 238 MB | 13.7% | 7 |
| whisper-large-v3-turbo | in browser | 1035 MB | 5.9% | 3 |
| Kika | in the app | — | 3.9% | 2 |
whisper-base is not usable for Hebrew. At 53% error it is not a transcript with
mistakes in it, it is a different document. The opening clause came back as
שלכתי לחיית הקטוב — which is not words. For English the same model is close to
perfect, and that gap between languages is the whole point.
whisper-small at 13.7% is genuinely usable. Most sentences come back intact.
whisper-large-v3-turbo at 5.9% is close to a clean transcript, and Kika's own
transcription — the one in the app, which runs server-side rather than in your
browser — came in at 3.9%.
Those last two are close enough that the percentage stops being the interesting number. What separates them is which words they got wrong.
Where the errors land is the real story
A word error rate averages every word equally. Meetings do not.
Look at what whisper-small got wrong. The reference says פיילוט של עשרה
משתמשים, לא חמישים — a pilot of ten users, not fifty. It returned פעילות
של השרה משתמשים. It lost the number.
That is a 13.7% error rate doing real damage, because the number was the point of the sentence. Ten versus fifty was the entire decision. Everything around it transcribed perfectly, which is worse than useless — the sentence still reads fluently, so nothing signals that it is wrong.
Now look at the best model. whisper-large-v3-turbo made three errors in 51
words, and one of them was this:
סקירת האבטחה → סקירת ההבטחה
The security review became the promise review. One letter — א to ה. Both are real Hebrew words, both are grammatical in the sentence, and the result is a commitment about something that does not exist.
This is the characteristic Hebrew failure. Without written vowels, words that differ by one consonant are everywhere, and a language model will happily pick the one that fits the sentence rhythm over the one that was said.
Kika's transcription was the only one of the four that got both of those right — the number and the noun:
| פיילוט של עשרה (ten) | סקירת האבטחה (security) | |
|---|---|---|
| whisper-base | ✗ | ✗ |
| whisper-small | ✗ | ✗ |
| whisper-large-v3-turbo | ✓ | ✗ |
| Kika | ✓ | ✓ |
Its two errors were elsewhere and cost nothing: it rendered המייל as ה-mail, writing the English word with a Hebrew article — which is arguably what the speaker meant, and is the bilingual habit of an Israeli work call rather than a mistake.
That is the distinction worth caring about. A model that scores 5.9% but loses the word security has damaged the transcript more than one scoring 13.7% whose errors land on filler.
There is a second failure mode worth knowing about. Run turbo over a real call
recording with background noise and pauses, and it emits language tags on
non-speech — literally inserting *ערבית* ("Arabic") into the transcript during
silence. Whisper does this when it has nothing to transcribe and cannot bring
itself to say nothing. On a clean clip you never see it; on a real recording you
will.
What we shipped, and why
We built three free tools out of this work. They run entirely in your browser, need no account, and take recordings up to 30 minutes:
- Hebrew transcription —
whisper-small, the 238 MB row above. - Audio & video to text —
whisper-base, which is poor at Hebrew but near-perfect on clear English, at a third of the download. - Subtitle generator — the same transcription
with timings, exported as
.srtor.vtt.
Why whisper-small and not turbo, when turbo scored better? Because a page
anybody can open cannot ask for a 1 GB download before it does anything — turbo
took 73 seconds just to load on our machine. At 238 MB, small is the largest
model that plausibly arrives before someone gives up. 13.7% is the honest ceiling
for free, private, in-browser Hebrew, and we would rather say that than quietly
ship the small model while quoting the large one's numbers.
What the tools are for, since you may reasonably wonder why we give this away. They are the free end of the same product. If you have a recording and want text, the browser tool does it and nothing is uploaded — that is genuinely the whole offer, and plenty of people will never need more.
What it cannot do is remember. It sees one file, in isolation, with no idea who was speaking or what any of it referred to. Kika's app is the version that keeps going: it writes the notes and action items, tracks what was decided and what each side promised, and briefs you before the next call on what is still open. That is the thing the tools lead to, and the honest reason they exist.
The app's transcription is not the browser model. It runs server-side, costs us money per minute, and scored the 3.9% above. A paid per-minute pipeline behind an anonymous, uncapped, no-signup page would be a cost that scales with the page's own popularity, which is why the free tools cannot use it.
That is the actual trade, stated plainly: the free tools are private and cost you nothing and are noticeably worse. The app is more accurate, remembers across meetings, and costs money.
If you only take one thing
Check the numbers and the nouns. Hebrew transcription errors do not look like errors. They produce fluent, grammatical sentences that mean something else, and they land disproportionately on exactly the words a meeting turns on — amounts, dates, names, and the difference between security and a promise.
Any tool that tells you Hebrew is a solved problem has not measured it.
Reproducing this
The clip is say -v Carmit on macOS, resampled to 16 kHz mono. The three Whisper
rows run through transformers.js with dtype: 'q8', chunk_length_s: 30,
stride_length_s: 5, language: 'he' — the same settings the free tools use, so
you can reproduce those by dropping the clip into
the tool itself. The Kika row is the app's own
server-side pass on the same file, with Hebrew pinned rather than auto-detected.
WER is Levenshtein distance over whitespace-split words with punctuation and
combining marks stripped.
If you get different numbers we would genuinely like to know — hello@getkika.app.