German Germany (de-DE)

This documentation was updated on November 22, 2023.

Creating grammars

The following subsections describe key issues for working with grammar documents in the German language.

Character encoding

Nuance Recognizer has full internal Unicode support. For example, you can create your grammars using UTF-8 or Latin-1 (also known as ISO-8859-1) character encoding. For example, your grammar header might be:

<?xml version=‘1.0’ encoding=‘UTF-8’?> <grammar xml:lang=“de-DE” version=“1.0” root=“test”>

If you do not have access to a keyboard for your target language, you can use the Windows character map. (Choose the “System” font and the “Latin-1” subset.)

Start – Program Files – Accessories – System Tools – Character Map

Below are codes for writing some common German characters. These are useful if you do not have access to a German keyboard, and are typed by pressing the ALT key while entering digits on your keyboard (after typing the last digit, the desired character appears on your screen when you release the Alt key):

Alt/0228 = ä Alt/0196 = Ä
Alt/0246 = ö Alt/0214 = Ö
Alt/0252 = ü Alt/0220 = Ü
Alt/0223 = ß

Valid characters in grammars

In order to define which characters can be used with this language pack please read the sections “Valid characters in grammars” and “Checking pronunciations with dicttest” in the Grammar Developer guide (accessible through the Product Documentation program shortcut).

alphanum_lc built-in grammar

The alphanum_lc built-in grammar recognizes a connected string of up to 20 digits and lowercase alphabetic characters, such as “a8f9h23”. For example, this grammar could be used to recognize a product code or user id. The “lc” in the name of this built-in means lowercase. The possible characters are the lowercase letters a-z, and ä, ö, ü, ß as well as the digits 0-9. The letter ‘ß’ can be pronounced as ’s z’, ‘scharfes s’, or ‘doppel s’. The application layer can adjust the case of the returned letters as needed for further processing.

Note: This grammar replaces the alphanum built-in grammar.

alphanum built-in grammar

(NOTE: for backward-compatibility only. Otherwise, use alphanum_lc builtin)
This grammar has been replaced by the alphanum_lc grammar, but is still available. The alphanum builtin-grammar has been retained for backward-compatibility. For new implementations, please use the alphanum_lc builtin grammar.

The alphanum built-in grammar recognizes a connected string of up to 20 digits and uppercase or lowercase alphabetic characters, such as “A8f9h23”. For example, this grammar could be used to recognize a product code or order number. The possible characters are the uppercase letters A-ZÄÖÜ and ß, lowercase letters a-zäöü, and digits 0-9. Uppercase and lowercase letters are homonyms (e.g., “B” and “b”), so the inclusion of both is redundant for the purposes of speech recognition of case insensitive items such as product codes. Thus, the alphanum built-in grammar has been replaced by the alphanum_lc grammar.

boolean built-in grammar

The boolean grammar collects an affirmative or negative response.


The y and n parameters let you associate any two touchtone buttons as synonyms for yes and no.

Parameter Description
y Desired DTMF digit to be equivalent to “ja” (default = 1)
n Desired DTMF digit to be equivalent to “nein” (default = 2)


Caller says MEANING key
ja true
richtig true
nein false

ccexpdate built-in grammar

The ccexpdate grammar understands the expiration date on a credit card. Expiration dates are usually a month and a year, and are often embossed on a credit card in the form “mm/yy.” The grammar recognizes variations on the date, for example, “Dezember 2011,” “null vier null acht,” “fünfter zweitausend elf,” “elf Strich eins eins,” “null fünf Schrägstrich eins zwei,” etc.

Return keys/values

Upon return, the MEANING key is assigned to the recognized date in YYYYMMDD format, where YYYY is the year, MM is the month, and DD is the day. For example, 20110331 refers to March 31, 2011. The value is the same regardless of whether the caller specified a day of the month or not; the day is always set to the last day of the month. For example, both “null sechs eins eins” and “drei null null sechs eins eins” return 20110630.

creditcard built-in grammar

The creditcard grammar understands a caller saying a credit card number, optionally preceding the number with the credit card name, or the words “Kontonummer” or “Konto.” For example, a caller can say, “Visa Kontonummer vier null eins sieben…,” “Mastercard fünf null null zwei…,” or “drei sieben drei fünf….”

currency built-in grammar

The currency grammar collects currency amounts using Euro and Cent.

Returned keys/values

MEANING Contains a string in this form: EUR main_unit_amount . subunit_amount If the caller omits the main unit or subunit amount, then that field is zero. The string contains a leading zero if the subunit amount is collected without the main unit.
SWI_literal contains the exact text that was recognized.


Caller says MEANING
fünf Euro EUR5.00
fünf Cent EUR0.05
fünf Euro und fünf Cent EUR5.05
fünf Euro fünfundzwanzig Cent fünf Euro fünfundzwanzig fünf fünfundzwanzig EUR5.25
sechs hundert fünfundzwanzig tausend vier hundert vierundsechzig Euro EUR625464.00
ein Euro kein Cent EUR1.00
eins zwoundzwanzig EUR1.22

date built-in grammar

The date grammar accepts a date spoken in any of several formats.

Recognized phrases include “vierter Juni,” “vierter Juni zwei tausend und eins,” “sechster, vierter zwei tausend und eins,” “der vierte,” and “Montag, der vierte Juni.”

The grammar also accepts “vorgestern,” “gestern,” “heute,” “morgen,” and “übermorgen” which return values of -2, -1, 0, +1, and +2 respectively into the MEANING key.

Note that to be understood, at least the day of the month must be present. Phrases like “nächster Mittwoch” and “Juni zwei tausend und eins” are not understood.

There is no validity checking on the date, either for day-of-week or days-in-month validity. For example, “Montag, 4. Juli 2001” is not automatically rejected even though July 4, 2001 is a Wednesday. Similarly, “31. April” is not rejected even though April has only 30 days.


Caller says MEANING key
fünfter Januar zwei tausend der fünfte Januar zwei tausend den fünften Januar zwei tausend am fünften Januar zwei tausend 20000105
gestern -1
vorgestern -2
heute 0
morgen +1
übermorgen +2
am vierten ??????04
Mittwoch (Phrase not recognized)
Mittwoch der Zwölfte ??????12
vierter Juni der vierte Juni den vierten Juni am vierten Juni vierter Juno ????0604
vierter Juni neunzehn hundert siebenundneunzig 19970604
vierter Juni siebenundneunzig ??970604
Mittwoch vierter Juni neunzehn hundert siebenundneunzig 19970604
sechster ??????06
sechster vierter ????0406
zehnter zwölfter ????1210
am zehnten zwölften siebenundneunzig ??971210

digits built-in grammar

The digits grammar recognizes a continuously spoken string of up to 20 digits (i.e., the caller is not required to pause after each digit). Valid characters are the digits 0-9. The digit `2’ can be pronounced as either “zwei” or “zwo.”

number built-in grammar

The number grammar recognizes whole numerical numbers (the caller must not speak the individual digits).

Up to two decimal places are recognized by default; this can be extended to 9 using the maxdecimal parameter. The caller must speak individual digits after the decimal point (natural numbers not allowed).


Numbers from -999,999,999.99 to 999,999,999.99 are recognized. For example:

Caller says MEANING key
fünfundzwanzig 25
zwölf tausend drei hundert fünfundvierzig 12345
minus zwei -2
vierzehn komma fünf sechs 14.56

phone built-in grammar

Telephone numbers (landline and cellular) using German dialing conventions. The speaker can include or omit area codes, speak international numbers, and use short numbers (for example, emergency numbers). Speakers can also include telephone 1- to 4-digits extensions prefaced with “durchwahl” or “nebenanschluss.”

Each digit of the telephone number must be spoken one at a time.


Caller says MEANING key
null vier null eins zwo drei vier fünf sechs nebenanschluss eins zwei 040123456x12

Return keys/values

Upon return, the MEANING key is assigned to a variable length character result representing the recognized phone number. (It is a digit string, with no spaces. An “x” indicates the beginning of an extension.)


Additionally, as stipulated in the VoiceXML specification, the caller may specify an extension. By default, extensions of one to four digits long are supported.

Property Description
minextension Minimum numeric value allowed for an extension (default is 1).
maxextension Maximum numeric value allowed for an extension. Set this to 0 to disallow extensions (default is 9999).

postcode built-in grammar

The postcode grammar recognizes valid 5-digit German postal codes (Postleitzahlen). The digits must be spoken one at a time.

Return keys/values

Upon return, the key MEANING is assigned to the recognized postal code, and contains five digits.

time built-in grammar

The time grammar recognizes a time of day.

The grammar accepts spoken time utterances from the caller. Recognized phrases include times given in 12-hour format (for example, “5 Uhr”) and 24-hour format (“dreiundzwanzig Uhr fünfzehn”). In addition, it will recognize “qualified” times such as “vor 5 Uhr” and “um 5 Uhr,” “ungefähr 5 Uhr,” and “nach 5 Uhr.”


For each entry, the values returned in the MEANING and QUALIFIER keys are shown. (Not shown are the values of the HOUR, MINUTE, and AMPM keys.)

jetzt sofort gleich umgehend (Phrase not recognized) --
in einer halben Stunde (Phrase not recognized) --
am Mittag 1200p exact
um Mitternacht 0000? exact
vormittags 1200p before
um die Mittagszeit 1200p approx
nach dreizehn Uhr dreißig 1330? after
zwanzig Uhr zwanzig 2020? exact
zwanzig nach acht 0820? exact
zwanzig nach acht am Morgen (Phrase not recognized) (Phrase not recognized)
ein Uhr nachts ein Uhr in der Nacht 0100a exact
ein Uhr nachmittags ein Uhr am Nachmittag 1300p exact
zehn Uhr und zehn Minuten 1010? exact
vierundzwanzig Uhr 0000 exact

Vocabulary items and pronunciations

This chapter describes considerations for vocabularies and their pronunciations in German (de-DE). Your product documentation covers details about how to work with pronunciations and dictionaries.

Specially tuned pronunciations

The following table shows common words that are fine-tuned by Nuance. Each of these words contains “word-specific phonemes” that is phonemes and associated models created especially for the words.

Words with tuned pronunciations (do not modify):

  • All letters of the alphabet.
  • ja, nein
  • Monetary units: Euro, Cent, Cents
  • Cardinal numbers: 0-99, 100, and 1000
  • Ordinal numbers: 1.-31. (1st through 31st)

German pronunciations

This section provides detailed reference information to help create pronunciation dictionaries. It is intended for people who have sufficient knowledge of the German language. It provides information about transcription and pronunciation.

As a reference pronunciation dictionary, we use:

Duden Aussprachewörterbuch. Mannheim: Dudenverlag 1990
(ISBN 3-411-20916-X)

If you are not sure how a certain word is pronounced you can refer to the IPA transcriptions given there and then convert them into the SAMPA symbols, given in the SAMPA-IPA table ( The German symbol set in alphabetical order ).

The German phoneme system

The German phoneme system can be divided into two groups:

  • Consonants
  • Vowels

Furthermore, it is possible to distinguish six different types of German consonants:

  • Plosives
  • Fricatives
  • Affricates
  • Nasals
  • Laterals
  • Trills

Within the vowel group, a further distinction can be made between long and short vowels. Also the diphthongs and the schwa represent two additional characteristics among the vowel group.

The following table gives an overview about the phonemes of the German SAMPA and IPA symbol set. They are grouped by the phoneme classes to which they belong (according to the manner of their articulation).

German symbol set grouped by phoneme classes

Phoneme class SAMPA IPA Examples of usage
Consonants Plosives b b
p p Pein /paJn/
g g Gunst /gUnst/
k k Kunst /kUnst/
d d Deich /daJx/
t t Teich /taJx/
Fricatives v v was
f f fein /faJn/
z z sein /zaJn/
s s das /das/
j j Jahr /ja:r/
h h Hand /hant/
S ʃ Schein /SaJn/
x x ach /ax/
Z ʒ Genie /Ze:ni:/
Affricates ts ts̬ Zahl
tS Matsch /matS/
pf pf Pfahl /pfa:l/
dZ ʤ̬ budget /bYdZe:/
Nasals m m mein
n n nein /naJn/
N ŋ Ding /dIN/
Lateral l l Laut
Trill r r rein
Vowels Vowels a: a: / aː
a a Satz /zats/
E ɛ Bett /bEt/
e: e: / eː Beet /be:t/
i: i: Lied /li:t/
I ɪ Sitz /zIts/
o: o: rot /ro:t/
O ɔ Trotz /trOts/
u: u: Blut /blu:t/
U ʊ Schutz /SUts/
y: y: süß /zy:s/
Y ʏ küssen /kYs@n/
2: ə: blöd /bl2:t/
9 œ plötzlich /pl9tslIx/
Diphthongs aW au̬ / aʊ̬ Haut
aJ aɪ̬ Eis /aJs/
OJ ɔy̬ heute /hOJt@/
Schwa @ ə bitte
Xenophones eY play workstation casefan
w w one web win /wan/ /wEb/ /wIn/
@W əʊ airflow phone cold /e@rfl@W/ /f@Wn/ /k@Wld/
3: ɜ: service perfect /s3:vIs/ /p3:f@kt/
e@ air share /e@r/ /Se@r/
O: ɔ: airport all /e@rpO:t/ /O:l/

German consonants

The standard German consonant system includes the following:

  • Six plosives
  • Nine fricatives
  • Four affricates
  • Three nasals
  • One lateral
  • One trill


There are three voiced and three voiceless plosives in German, which can be arranged in pairs:

Voiced Voiceless
/b/ Berg Kabel
/g/ Gunst Berge
/d/ das leider

Note that /b/, /g/, and /d/ will not appear at the end of any word in your transcription. German has the so-called “Auslautverhärtung” (see Auslautverhärtung ), which means that voiced consonants become voiceless at the end of a word: Rad /ra:t/, Bob /bOp/, Berg /bErk/.

Glottal stop

There is an additional plosive in German, the so-called glottal stop (’?’). Although not clearly defined in the orthography of German, it is, for example, pronounced in front of words starting with a vowel in the orthographic form. It is not represented in Nuance transcriptions, however.


There are nine fricatives in the German SAMPA symbol set, three voiced and six voiceless. Two of the three voiced ones can be paired with voiceless counterparts:

Voiced Voiceless
/v/ Wein Ablative
/z/ See lesen
/j/ ja
/Z/ Genie

The phonetic characters /v/, /z/, and /j/ will not appear in the transcription in the end of a word due to the “Auslautverhärtung” (see Auslautverhärtung ).

The distribution of /s/ and /z/ is not unrestricted. As with all consonants, a voiced /z/ cannot appear as a word-final, according to the German “Auslautverhärtung.” Similarly, a voiceless /s/ cannot appear as a word-initial. Consequently, minimal pairs with /s/ : /z/ can only be found within a word.


In German there are four affricates, /ts/, /tS/, /pf/, and /dS/. Affricates are always represented in SAMPA by two single phonemes:

/ts/ Zahl Katze Geiz /tsa:l/ /kats@/ /gaJts/
/tS/ Tscheche klatschen Matsch /tSEx@/ /klatS@n/ /matS/
/pf/ Pferd Apfel Kopf /pfe:rt/ /apf@l/ /kOpf/
/dZ/ Budget /bYdZe:/


There are three nasals in German, /m/, /n/, and /N/.

/N/ is normally represented by the combination <ng> or <nk> in German orthography and can only be found as a syllable-final.

/m/ mein immer um /maJn/ /Im@r/ /Um/
/n/ nein können kann /naJn/ /k9n@n/ /kan/
/N/ sang sank sangen sanken /zaN/ /zaNk/ /zaN@n/ /zaNk@n/

Notice, that in the <nk> case, the <k> is still reflected in the phonetic form whereas the <g> is not in the case of <ng>.


There is one lateral in German, /l/.

/l/ Laut fallen Fall /laWt/ /fal@n/ /fal/


There are actually two trills used in German, which are pronounced with the tongue tip or the uvula, respectively.

Since these are in free alternation (depending on dialect), only the /r/ is used for transcription purposes (as a kind of “archiphoneme”). Both phonetic realizations are contained in the training material so that the /r/ model covers them both.

/r/ rein waren besser /raJn/ /va:r@n/ /bEs@r/

Notice that in the case of besser /bEs@r/ there is a vowel realization of the <r>, but it is transcribed as /@r/, although in IPA you will find an á.

German vowels

Long and short vowels

In German, vowels fall into two groups:

  • Long vowels (also called free vowels)
  • Short vowels (also called checked vowels)

There is a genuine short-long vowel distinction in German, the long vowels being approximately twice as long (all other things being equal) as the short vowels.

There are seven long and seven short vowels in German:

Long Short
/a:/ Aal Tat ja
/e:/ Ehre Meer See
/i:/ ihr mir Sie
/o:/ oben Moor so
/u:/ Uhr Zug Kuh
/y:/ über süß Menü
/2:/ Öl hören Milieu

Of course the exact pairs would be, for example, /i:/ and ‘i’, /I/ and ‘I:’. However, ‘i’ and ‘I:’ are rarely used in spoken German and are not included in the phoneme inventory.


There are three free diphthongs in German:

/aW/ aus Laut blau /aWs/ /laWt/ /blaW/
/aJ/ ein Hain zwei /aJn/ /haJn/ /tsvaJ/
/OJ/ euch Häute ahoi /OJx/ /hOJt@/ /a:hOJ/
  • The differences between <ei> and <ai> and between <eu>, <äu>, and <oi> are merely orthographical. Thus these differences disappear in the transcription.

Diphthongs can artificially emerge in a transcription when the phonemes /a/ and /U/, /a/ and /I/, or /O/ and /Y/ are placed adjacently in a word (for instance, in extraintensiv /EkstraJnt@nzi:f/). However, these cases are so rare that they can be ignored.


The schwa sound is short and only occurs in an unstressed position. This occurs especially as an unstressed /E/, which is often reduced to a schwa /@/. This mostly occurs in prefixes and word-finals.

/@/ hören bekannt bitte /h2:r@n/ /b@kant/ /bIt@/

The first example can also be analyzed as a syllabic /n/, which would be ’n=’ in SAMPA. It is not used in the Nuance phoneme inventory to keep the number of used phonemes small.

Specific pronunciation transcription methods

Double consonants

In written German, a double consonant signals the shortness of the preceding vowel, as in:

rote /ro:t@/ versus Rotte /rOt@/

In such cases, no double consonant should appear in the transcription.

However, at morpheme boundaries the same consonant can be pronounced twice in careful speech, as in:

abpicken /appIk@n/

There are no double consonants (geminates) in spoken German.

Vowel prolongation

To indicate the prolongation of a certain vowel, in some cases a special letter (<h>, <e>, or <i>) is added in written German. These letters must not be transcribed since they are not pronounced.

h Naht /na:t/
e Lied Baesweiler /li:t/ /ba:svaJl@r/
i Grevenbroich /gre:v@nbro:x/


There are no voiced consonants spoken in the word-final position in German, although in the orthography they are shown. They must be transcribed as voiceless phonemes.

Consonant Final position (voiceless) Within a word (voiced)
d Rad /ra:t /
g Berg /bErk/
b Dieb /di:p/
s Glas /gla:s/

Pronunciation of foreign words

To transcribe foreign words, you must use the German SAMPA symbols. Every language has a different phoneme inventory, so you may have problems in covering each and every sound. You can simply choose the closest German SAMPA symbol. For example, the English ’th’ can be transcribed as /s/ (voiceless) or /z/ (voiced) or the French ‘o~’ in “restau rant " as /aN/ or /O/.

Note that for a true multilingual application, words from multiple language packs (e.g., de-DE and fr-FR) can be activated at the same time (in the same grammar, or in parallel grammars).

Special support of some English phonemes

This version of the German language pack supports the use of the following six English phonemes.

SAMPA Examples of use
eY play workstation casefan
w one web win
@W airflow phone cold
3: service perfect
e@ air share
O: airport all

Note that words with English phonemes are not being generated by the autopronunciation module as this would cause a degradation of the German autopronuciated words. English words that are not in a user dictionary or the system dictionary (some frequent English words only) will receive an automatic transcription that follows the rules for German pronunciation which will lead to bad recognition results.

Multiple pronunciations (variants)

Since it is possible to have more than one pronunciation for a word by using pronunciation variants, it may be difficult to determine how many pronunciation variants should be created.

The general rule is: Variants should only be created if the pronunciation differs in more than one phoneme. Minor systematic variations can usually be reflected in the training material for the phonemes, and need not be covered by pronunciation variants. If such a word causes recognition errors, the creation of pronunciation variants may help to solve the problem.

The German symbol set in alphabetical order:

SAMPA IPA Examples of use
3: ɜː perfect
9 œ plötzlich
@ ə bitte
@W əʊ phone
2: ø: blöd
a a Satz
a: a: / aː Tat
aJ aɪ̬ Eis
aW au̬ / aʊ̬ Haut
b b Bein
d d Deich
dZ ʤ̬ budget
E ɛ Bett
e: e: / eː Beet
e@ ɛə share
eY play
f f fein
g g Gunst
h h Hand
I ɪ Sitz
i: i: Lied
j j Jahr
k k Kunst
l l Laut
m m mein
n n nein
N ŋ Ding
O ɔ Trotz
O: ɔː all
o: o: rot
OJ ɔy̬ heute
p p Pein
pf pf Pfahl
r r rein
s s das
S ʃ Schein
t t Teich
ts ts̬ Zahl
tS Matsch
U ʊ Schutz
u: u: Blut
v v was
w w web
x x ach
Y ʏ küssen
y: y: süß
z z sein
Z ʒ Genie