Skip to content
Heidi

What a computer can do with Swiss German

And what it cannot. This page collects what has actually been measured in the field — with the numbers and the sources, so you can check our claims against them.

Why it is hard

There is no official spelling. There are recommendations from 1938 that dialectology uses — but even trained transcribers apply them differently, and almost nobody writes that way to a friend.

Dialect is spoken; the standard is written. So writing down what was said is not transcription here, it is translation — and that is how nearly every system that exists is built.

And it is a small language in the sense that matters for data: the largest public collections are a few hundred hours, and almost all of them are licensed for research only.

Where the data comes from

The public collections this field rests on. The direction column is the one to read: it shows that almost everything hears dialect and writes the standard.

Understanding

Word error rate on the same test set, so the numbers can be compared. All of these produce Standard German — the figure says how well it translated, not how well it wrote dialect.

Speaking

Here the marketplace misleads. What is sold as a Swiss German voice is usually Swiss Standard German — the written language, read aloud. Real dialect synthesis exists almost only in research.

Language models

Whether a model really handles dialect, or whether that is only in the press release. Evaluated means somebody measured it and published the result.

What Heidi measures when you speak

Speaking practice records you and reports what can actually be measured — and says which language it measured. There is no score out of a hundred anywhere.

  • Delivery

    on the dialect

    Where the sound was and where it was not: pauses, how long the longest one was, how much of the take you were actually speaking. This needs no transcript, which is why it works for a dialect nothing can write down.

    in the code · speechkit/src/delivery.ts

  • Speed and runs

    on Swiss Standard German

    Syllables per second, and how long you go before stopping. Fluency in the research sense — how a thought comes out, not how good it sounds.

    in the code · speechkit/src/spoken.ts

  • Words and forms

    on Swiss Standard German

    Which words you chose, checked against the same fixed rule list the dialect check uses. Not a model's opinion.

    in the code · heidi/lib/variety/check.ts

  • Grammar

    on Swiss Standard German

    Agreement, cases, verb forms. Only ever from a transcript in the language you actually spoke — otherwise the correction is about words the machine invented.

    in the code · speechkit/src/languagetool.ts

  • Pronunciation score

    deliberately not offered

    Not produced. A score against a native ideal is a judgement about a person, and no improvement in recognition would make it honest.

    This is the one every competitor advertises. It is the row we leave empty on purpose.

Züridütsch
25.6% word error rate
Swiss Standard German
6.4% word error rate
no forms judged above
15%

What this means for Heidi

  • Dictation does not write dialect down. It writes what you want to say, in the language you already have — which is exactly what the research can do.

  • Heidi reads aloud, but never claims to be speaking dialect. A synthesiser asked for Zurich German returns Swiss Standard German at best — so the voice says which it is, and stays silent rather than hand you an English voice reading Züridütsch.

  • The dialect check runs without a model. It is a fixed list of rules, not a language model, which is why it cannot start inventing things.

Which model answers you

Read from the chain that actually takes the request, not from a sentence somebody wrote down once. Which is why nothing here can be a model that was retired months ago.

  1. groqapi.groq.com

    openai/gpt-oss-120b · openai/gpt-oss-20b · qwen/qwen3.8-27b

  2. googlegenerativelanguage.googleapis.com

    models/gemini-flash-latest · models/gemini-flash-lite-latest · models/gemma-4-31b-it

  3. openrouteropenrouter.ai

    nvidia/nemotron-3-super-120b-a12b:free · nvidia/nemotron-3.5-lightning:free · google/gemma-4-26b-a4b-it:free · cohere/north-mini-code:free · openrouter/free

  • The order is not a ranking. The chain is ordered by scarcity: whoever has the least capacity is drained last. The first entry is the one with room today, not the best one.

  • None of these models is the authority on Zurich German. The pack is. Every generated line passes a rule-based check before anybody sees it — and that check is not itself a model.

  • With no key or no quota the route answers 503 and says so. It does not pretend to have an answer.

Sources

Practise