German is a well-resourced language for speech recognition, but it has three habits that inflate error rates: it glues nouns together into long compounds, it marks grammatical case with short unstressed endings that are easy to mishear, and it has dialects that differ sharply from the written standard. A system that handles clean Standard German can still stumble on a Swiss parliamentary debate or a Bavarian service call.
Key takeaways
- Closed compounds such as Rechtsschutzversicherung are one word. Splitting one into two costs a substitution and an insertion under WER.
- Case endings (dem, den, der) are short, unstressed and often reduced to a schwa or dropped. They are acoustically weak but grammatically decisive.
- Swiss German has no standard spelling and is normally transcribed into Standard German, which makes it closer to translation than transcription.
- German writes numbers with a decimal comma and a thousands point (1.250,50 €), and says the units before the tens (einundzwanzig = 21).
- Public test sets include FLEURS, Common Voice, Multilingual LibriSpeech and VoxPopuli; Reson8's published FLEURS German WER is 3.83%.
What makes German hard#
Compounds#
German forms new nouns by concatenation, and the result is written as one word. Krankenhausaufenthalt (hospital stay), Rechtsschutzversicherung (legal expenses insurance) and Arbeitsunfähigkeitsbescheinigung (sick note) are ordinary vocabulary, not curiosities. Most compounds a speaker produces will never have appeared in any training transcript as a whole, so the model has to assemble them from parts.
The typical failure is a split: Rechtsschutzversicherung becomes Rechtsschutz Versicherung. A reader understands it, but WER counts two errors against one reference word. The reverse also happens: zu Hause is merged into zuhause, which is a legitimate spelling variant that the reference may not use. The linking elements -s- and -n- (Arbeitsplatz, Sonnenschein) are also frequent sources of small errors. See compound words and morphology for how this interacts with tokenisation and scoring.
Case endings and reduced syllables#
German articles and adjective endings encode case, gender and number in a final syllable that is almost always unstressed. In running speech, -en collapses to a syllabic nasal and -em and -en become nearly identical. The result is a steady trickle of errors such as mit dem neuen Kunden heard as mit den neuen Kunden. Each is one substitution, but for legal or medical text a wrong case can change who did what to whom.
Other common confusions are homophones that differ only in spelling: das and dass, seit and seid, wieder (again) and wider (against). These are resolved by grammar, not sound, so they reward a strong language model.
Separable verbs and word order#
In Ich rufe Sie morgen früh noch einmal an, the verb is anrufen, but its prefix arrives six words after its stem. Subordinate clauses push the finite verb to the very end. A streaming recogniser has to commit to early words before it has heard the particle that disambiguates them, which is one reason German partial results revise themselves more than English ones.
Capitalisation and loanwords#
All German nouns are capitalised, and Sie (formal you) differs from sie (she, they) only by its capital letter. Most WER scoring lower-cases everything, so these errors disappear from the metric while remaining visible to readers. English loanwords are conjugated as German verbs, giving forms such as downloaden, gedownloadet and upgedatet, whose spelling is unsettled even among native writers.
Dialects and national varieties#
German is pluricentric, with standard varieties in Germany, Austria and Switzerland, and a dense layer of regional dialects beneath them.
- Austrian German has its own standard vocabulary (Jänner for January, Paradeiser for tomato) and an accent that general models handle well once they have seen enough of it.
- Swiss German (Schweizerdeutsch) is a family of Alemannic dialects that Swiss speakers use in almost all spoken situations, while writing in Standard German. This is diglossia. There is no agreed orthography, so a Swiss German recording is usually transcribed into Standard German, with different word order, tense and vocabulary. Error rates on Swiss German are therefore much higher than on Standard German, and they partly measure translation quality. Swiss Standard German also never uses ß: Strasse, not Straße.
- Bavarian, Swabian, Saxon and Low German range from a noticeable accent to a variety that northern Germans struggle to follow. Most business speech falls between the two extremes: standard grammar with regional vowels and vocabulary.
For more on how accent variation degrades recognition, see accents and regional speech.
Numbers, dates and formatting#
German number words run units before tens: dreiundzwanzig is "three-and-twenty". Numbers below a million are written as one word, so zweitausenddreihundertfünfundvierzig is a single token of 36 letters. Inverse text normalisation has to parse these back into digits and apply German conventions:
| Spoken | Written (Germany) | Note |
|---|---|---|
| eintausendzweihundertfünfzig Euro fünfzig | 1.250,50 € | Decimal comma, thousands point, symbol after the amount |
| am dreiundzwanzigsten September | am 23. September | Ordinals take a full stop |
| dreiundzwanzigster Neunter zweitausendsechsundzwanzig | 23.09.2026 | Day, month, year |
| halb drei | 14:30 or 2:30 | halb drei means half past two |
| viertel vor acht | 7:45 | Regional: dreiviertel acht in the south and east |
| zwo | 2 | Used on the phone to avoid confusion with drei |
Switzerland writes thousands with an apostrophe or thin space (1'250.50) and uses a decimal point for amounts in francs. A normaliser tuned for Germany will produce wrong-looking output for Swiss customers, so the locale should be configurable rather than inferred from the language.
Data availability and public test sets#
German has one of the larger pools of open speech data in Europe, second only to English in several collections. The main public sets are:
- FLEURS: read Wikipedia sentences, about 12 hours per language in the full set, with the same content across 102 languages. Useful for comparing languages, less so for conversational German.
- Common Voice: crowd-sourced read sentences from Mozilla, one of the largest German subsets in the project, with speaker metadata including accent. Recording quality varies widely.
- Multilingual LibriSpeech (MLS): read audiobooks from LibriVox, with around two thousand hours of German.
- VoxPopuli: European Parliament speeches, a mix of native and non-native speakers in a formal register.
- Tuda-De and the Spoken Wikipedia Corpora: older German-specific resources, the former recorded with distant microphones.
What is missing is the same as in most languages: open, conversational, telephone-quality German with dialect labels. Anyone deploying German ASR in a contact centre or clinic should build their own test set from their own calls. Public figures are covered in ASR benchmarks.
How Reson8 approaches this#
German is one of the nine languages Resonant-1 supports in depth. On FLEURS German, Resonant-1 scores 3.83% WER, part of the 4.22% multilingual average reported in the benchmarks post. FLEURS is read speech, so treat this as a ceiling on accuracy, not a prediction for dialectal phone calls.
For specialist compounds, such as insurance product names or clinical terms, Reson8 uses text-only domain adaptation: you supply domain text through the API and it takes effect in under 60 seconds, without audio or retraining.
Common questions#
Is German harder for ASR than English?
On clean read speech the gap is small for strong models. It widens on spontaneous and dialectal speech, and WER exaggerates it because of compounds, where one boundary error costs two word errors.
Can one model handle German, Austrian and Swiss speakers?
Standard German with Austrian or Swiss accents, yes. Broad Swiss German dialect is a different problem, because the output must be rendered into Standard German. Test it separately.
Should transcripts write numbers as words or digits?
Digits, following the target locale, for almost every application except verbatim legal records. Configure the locale explicitly, because Germany and Switzerland format amounts differently.
Why do German transcripts show das where dass is correct?
The two sound identical. Choosing correctly depends on the clause structure, so errors cluster where speech is disfluent or the model has short context.
References#
- Conneau, A. et al. (2022). FLEURS: Few-shot Learning Evaluation of Universal Representations of Speech. arXiv:2205.12446.
- Ardila, R. et al. (2020). Common Voice: A Massively-Multilingual Speech Corpus. LREC 2020.
- Pratap, V. et al. (2020). MLS: A Large-Scale Multilingual Dataset for Speech Research. Interspeech 2020.
- Wang, C. et al. (2021). VoxPopuli: A Large-Scale Multilingual Speech Corpus for Representation Learning, Semi-Supervised Learning and Interpretation. ACL 2021.
- Radeck-Arneth, S. et al. (2015). Open Source German Distant Speech Recognition: Corpus and Acoustic Model. TSD 2015.
- Plüss, M., Neukom, L., Scheller, C., & Vogel, M. (2021). Swiss Parliaments Corpus, an Automatically Aligned Swiss German Speech to Standard German Text Corpus. SwissText 2021.
- Koehn, P., & Knight, K. (2003). Empirical Methods for Compound Splitting. EACL 2003.