Guides

TTS Verbalization Guide & Specifications for de-DE

Product: de-DE
Release Date: October 2026
TTS Engine version: 3.4.0

 

Introduction

This document describes how specific series of strings are read by the TTS Engine for the DE language in the DE domain. Example outputs are in German (standard German as spoken in Germany). The readings are the engine's current output for the version above: when a reading is not what is wanted, this document still shows what the engine does.

Convention: every example table includes a Lexis voice output column. Any new row appears marked with 🆕. Missing support is shown as "unsupported". Numeric ranges use [a-b] (for example, [1-99] means any number from 1 to 99).

Readings are shown in lower case with punctuation as the engine returns it. Two markers appear in the readings: [pause] is a 0.025 s pause the Lexis voice puts between groups of digits, and [pause 0.2 s] is a fixed pause of 0.2 s.

Numbers

Integers

Format

Example input

Lexis

[1-9][0-9]

25

fünfundzwanzig

[1-9][0-9]…[0-9]

159

einhundertneunundfünfzig

100

100

einhundert

10[1-9]

101

einhunderteins

<dash>[1-9]…[0-9]

-58

minus achtundfünfzig

[1-9][0-9]…[0-9][0-9] (>999)

2824

zweitausendachthundertvierundzwanzig

[1-9][0-9]{3}

1500

eintausendfünfhundert

[1-9][0-9]{0,2}<dot>[0-9]{3}

2.824

zweitausendachthundertvierundzwanzig

1000000

1.000.000

eine million

2000000

2.000.000

zwei millionen

1000000000

1.000.000.000

eine milliarde

Allowed thousands delimiter: dot only; a space reads as two number groups. Max supported value: 999.999.999.999, read as "neunhundertneunundneunzig milliarden neunhundertneunundneunzig millionen neunhundertneunundneunzigtausend neunhundertneunundneunzig". Beyond that, digits are spelled one by one.

Ordinal numbers

Format

Example input

Lexis

[1-9]…[0-9]<dot>

1.

erste

[1-9]…[0-9]<dot>

21.

einundzwanzigste

Note: German writes an ordinal as a number followed by a dot. The ending is "-e" by default; before a month name the ordinal is masculine nominative ("1. Mai" is "erster mai").

Decimals

Decimal separator: comma (komma). Digits after the comma are spelled individually ("2,4527"); a two-digit fraction is read as a number ("-25,78" is "minus fünfundzwanzig komma achtundsiebzig").

Format

Example input

Lexis

[1-9]…[0-9]<comma>[0-9]…[0-9]

2,4527

zwei komma vier fünf zwei sieben

<dash>[1-9]…[0-9]<comma>[0-9]…[0-9]

-25,78

minus fünfundzwanzig komma achtundsiebzig

Fractions and units

Format

Example input

Lexis

[1-99]<slash>[1-99]

13/16

dreizehn schrägstrich sechzehn

[1-99]<slash>[1-99]

45/2

fünfundvierzig schrägstrich zwei

[1-99]<slash>[1-99]

3/4

dritter april

[1-99]<slash>[1-99]

7/3

siebter märz

A slash between two numbers is read as a date when both numbers are a valid day and month ("3/4" is "dritter april", "7/3" is "siebter märz", "5/12" is "fünfter dezember"); a slash between other numbers is read as "schrägstrich" ("13/16", "45/2"). With a unit the slash is read "schrägstrich" as well ("5/12 km" is "fünf schrägstrich zwölf kilometer").

Format

Example input

Lexis

{vulgar fraction} <unit>

½ cup

½ cup

[1-99]/[1-99] <unit>

3/4 mi

drei schrägstrich vier meilen

[1-99]<slash>[1-99] <unit>

5/12 km

fünf schrägstrich zwölf kilometer

A vulgar fraction such as ½ is not converted: the text passes through unchanged.

Digit-by-digit spelling

The dash notation can be used to spell the digit sequence digit by digit. For Lexis, the digits are read in groups of three, with a short pause ([pause], 0.025 s) between the groups. The comma is placed where the input has a space.

Example input

Lexis

4-2-1-4 2-3-4 7-5-3

vier zwei eins [pause] vier, zwei drei [pause] vier, sieben fünf [pause] drei

Note: this notation can be used for digit sequences with more than 2 digits. Otherwise it will be verbalized as an interval. E.g. "2-3" is "zwei bis drei".

16-digit card numbers

Example input

Lexis

5-8-9-6 4-2-6-5 1-2-3-4 7-4-6-8

fünf acht neun [pause] sechs, vier zwei [pause] sechs fünf, eins [pause] zwei drei vier, [pause] sieben vier sechs [pause] acht

5-8-9-6-4-2-6-5 1-2-3-4-7-4-6-8

fünf acht neun [pause] sechs vier zwei [pause] sechs fünf, eins [pause] zwei drei vier [pause] sieben vier sechs [pause] acht

Counter examples

  • The numbers in between the dashes are read as integers and the dash is pronounced as "bindestrich" if the dash is used more than once.

  • If only one dash is used, then the digit sequence is handled as an interval.

  • If no dash is used, the numbers are read as integers.

Example input

Lexis

4532-1234-5678-9012

viertausendfünfhundertzweiunddreißig bindestrich eintausendzweihundertvierunddreißig bindestrich fünftausendsechshundertachtundsiebzig bindestrich neuntausendzwölf

4532 1234 5678 9012

viertausendfünfhundertzweiunddreißig eintausendzweihundertvierunddreißig fünftausendsechshundertachtundsiebzig neuntausendzwölf

4532-1234-5678

viertausendfünfhundertzweiunddreißig bindestrich eintausendzweihundertvierunddreißig bindestrich fünftausendsechshundertachtundsiebzig

4532-1234

viertausendfünfhundertzweiunddreißig bis eintausendzweihundertvierunddreißig

Telephone numbers

Format

Example input

Lexis

0[0-9]{2,4} [0-9]{4,9}

030 12345678

null drei null, eins zwei drei vier fünf sechs sieben acht

0[0-9]{3} [0-9]{7,8}

0151 23456789

null eins fünf eins, zwei drei vier fünf sechs sieben acht neun

+[0-9]{2} [0-9]{2,4} [0-9]{4,9}

+49 30 12345678

plus neunundvierzig, drei null, eins zwei drei vier fünf sechs sieben acht

Telephone numbers are read digit by digit, with a comma after the area code; the country code is read as a number ("+49" is "plus neunundvierzig").

Combination of numbers and words

Format

Example input

Lexis

[0-9]…[0-9]<dash>{word}

16-Bit

sechzehnbit

{word}<dash>[0-9]…[0-9]

COVID-19

covid neunzehn

A space around a dash between a number and a word verbalizes the dash as the word "bindestrich" (e.g. "16 - Bit" becomes "sechzehn bindestrich bit"). A spaced dash between two words is read as a pause (see Dashed words).

Ratio and intervals

Format

Example input

Lexis

[0-9]…[0-9]<colon>[0-9]…[0-9]

16:9

sechzehn zu neun

[0-9]…[0-9]<dash>[0-9]…[0-9]

16-9

sechzehn bis neun

[0-9]…[0-9]<dash>[0-9]…[0-9] {word}

3-5 Tage

drei bis fünf tage

If the ratio values overlap with the time format, the time will be announced. E.g. "24:00" is verbalized as "vierundzwanzig stunden" while "25:00" is "fünfundzwanzig zu null". A colon is read "zu" and a dash between two numbers is an interval ("bis"), so "16-9" is "sechzehn bis neun".

Percentage

Example input

Lexis

15%

fünfzehn prozent

15 %

fünfzehn prozent

2,5 %

zwei komma fünf prozent

Time

Format

Example input

Lexis

[00-24]<colon>[00-59]<colon>[00-59]

12:11:01

zwölf uhr elf minuten und eine sekunde

[00-24]<colon>[00-59]

23:15

dreiundzwanzig uhr fünfzehn

[00-24]<colon>[00-59] Uhr

14:30 Uhr

vierzehn uhr dreißig

[00-24]<dot>[00-59] Uhr

14.30 Uhr

14. 30 uhr

[00-24]<colon>00

24:00

vierundzwanzig stunden

12<colon>00

12:00

zwölf stunden

00<colon>00

00:00

null stunden

[1-12] {PM,AM}

2 PM

zwei uhr nachmittags

[01-12]<colon>[00-59] {PM,AM}

02:20 PM

zwei uhr zwanzig nachmittags

Note: "Uhr" in the input is not read twice. PM is read "nachmittags" ("2 PM" is "zwei uhr nachmittags"); the hour 1 before "Uhr" is "eins" ("1 Uhr" is "eins uhr").

Date

Format

Example input

Lexis

[1-31]<dot> {month} [0-9]{4}

14. Mai 2022

vierzehnter mai zweitausendzweiundzwanzig

1<dot> {month} [0-9]{4}

1. Juni 2020

erster juni zweitausendzwanzig

[00-31]<dot>[00-12]<dot>[0-9][0-9]

31.12.19

einunddreißigster dezember, neunzehn

[00-31]<dot>[00-12]<dot>[0-9]{4}

27.05.2021

siebenundzwanzigster mai, zweitausendeinundzwanzig

[00-31]/[00-12]/[0-9][0-9]

31/12/19

einunddreißigster dezember, neunzehn

[0-9]{4}-[00-12]-[00-31]

2022-11-02

zweiter november, zweitausendzweiundzwanzig

[1-31]<dot> {month}

21. Oktober

einundzwanzigster oktober

[1-31]<dot>[1-12]<dot>

23.5.

dreiundzwanzigster mai

[1-31]<dot>[1-12]<dot>

5.12.

fünfter dezember

Note: Dates are day first, so "5.12." is the 5th of December. The final dot is required for the short numeric form. Years are read as one word ("zweitausendzweiundzwanzig"); years from 1100 to 1999 are read in hundreds ("1999" is "neunzehnhundertneunundneunzig"). A two-digit year is read as a number ("neunzehn"). Day 1 is read "erster".

Units

Format

Example input

Lexis

{amount}{unit}

2,5GB

zwei komma fünf gigabyte

{amount}<space>{unit}

1,5 GB

ein komma fünf gigabyte

{amount}{unit}/{unit}

1500MB/s

eintausendfünfhundert megabyte pro sekunde

{amount}<space>{unit}/{unit}

1400 MB/s

eintausendvierhundert megabyte pro sekunde

Supported unit abbreviations

Each reading shows the singular / the plural form: the unit is read after "1" and after "2". The readings come from the processor's built-in unit table.

Abbreviation

Lexis

mm

millimeter

cm

zentimeter

m

meter

km

kilometer

Km

kilometer

m²

quadratmeter

m2

quadratmeter

m³

kubikmeter

m3

kubikmeter

"

"

in

zoll

'

'

ft

fuß

yd

yd

mi

meile / meilen

mph

meile pro stunde / meilen pro stunde

MPH

mph

h

stunde / stunden

hr

stunde / stunden

min

minute / minuten

mins

mins

s

sekunde / sekunden

g

gramm

gm

gm

kg

kilogramm

Kg

kilogramm

oz

oz

lb

pfund

lbs

pfund

ml

milliliter

mL

milliliter

l

liter

L

liter

gal

gal

cup

cup

Hz

hertz

hz

hertz

kHz

kilohertz

MHz

megahertz

GHz

gigahertz

W

watt

kW

kilowatt

MW

megawatt

GW

gw

V

volt

mA

milliampere

A

ampere

dB

dezibel

kb

kb

mb

mb

gb

gb

tb

tb

pb

pb

kB

kilobyte

MB

megabyte

GB

gigabyte

TB

terabyte

PB

pb

bps

bps

Kbps

kbps

Mbps

megabit pro sekunde

Gbps

gbps

Tbps

tbps

kBps

kbps

MBps

mbps

GBps

gbps

TBps

tbps

PBps

pbps

°C

grad celsius

°c

grad celsius

°F

grad fahrenheit

°f

grad fahrenheit

Note: Short abbreviations that are also words or letters (in, min, h, m, A, s, l) are read as units only when they follow a number; "in" after a number is "zoll" ("5 in the box" is "fünf zoll the box").

Words

Abbreviations and spelling

Lexis passes words in capital letters through unchanged and the Lexis model reads them (e.g. ABC, JOHN). Dotted capital abbreviations keep their dots (e.g. B.C.).

Format

Example input

Lexis

[A-Z]…[A-Z]

ABC

abc

[A-Z]…[A-Z]

JOHN

john

[A-Z]<dot>[A-Z]<dot>

B.C.

b. c

[A-Z]&[A-Z]

R&D

err und deh

Between capital letters, "&" is read "und" and the letters are spelled ("R&D" is "err und deh").

Common abbreviations

Example input

Lexis

Prof.

professor

Dr.

doktor

Hr.

herr

Fr.

frau

Dashed words

Example input

Lexis

E-Mail

e-mail

Baden-Baden

baden-baden

Berlin - München

berlin [pause 0.2 s] münchen

Berlin-München

berlin-münchen

URLs and e-mails

URLs

Format

Example input

Lexis

(www)<dot>{word}<dot>{domain}

www.google.com

weh weh weh punkt google punkt com

http(s)://{word}<dot>{domain}

https://google.com

hah teh teh peh ess doppelpunkt doppelter schrägstrich google punkt com

http(s)://www<dot>{word}<dot>{domain}

https://www.google.com

hah teh teh peh ess doppelpunkt doppelter schrägstrich weh weh weh punkt google punkt com

(http(s)://)(www)<dot>{word}<dot>{domain}<slash>{sequence}

https://www.google.com/news=123

hah teh teh peh ess doppelpunkt doppelter schrägstrich weh weh weh punkt google punkt com schrägstrich news gleichheitszeichen einhundertdreiundzwanzig

(http(s)://)(www)<dot>{non-word}<dot>{domain}

www.123.com

weh weh weh punkt einhundertdreiundzwanzig punkt com

URLs are read without commas between their parts.

E-mails

Format

Example input

Lexis

{word}@{word}<dot>{domain}

info@omilia.com

i n f o, at omilia, punkt com

In an e-mail address the "@" is read "at"; elsewhere it is read "ät" ("hallo @ welt" is "hallo ät welt").

Currency

Format

Example input

Lexis

{amount} {symbol}

25,10 €

fünfundzwanzig euro und zehn cent

{amount}{symbol}

25,10€

fünfundzwanzig euro und zehn cent

{symbol}{amount}

$25,10

fünfundzwanzig dollar und zehn cent

{amount} {code}

25 USD

fünfundzwanzig u s dollar

{amount} {quantity} {code}

1,3 Mio. USD

eins komma drei mio. usd

{symbol}{amount} {quantity}

$1,3 Millionen

eins komma drei millionen dollar

Note: Currency names stay singular after a number ("zwei euro", "zwei u s dollar"). No "von" follows "million/millionen". "Mio." and "Mrd." are not expanded ("1,3 Mio. USD" is "eins komma drei mio. usd"); "Millionen" written out is read as it is. A zero cent amount is omitted ("25,00 €" is "fünfundzwanzig euro").

Currency codes and symbols

Each reading shows the singular / the plural form. The subdivision is read after "und" when the amount has decimals ("1,01" and "2,50").

Code

Lexis

Subdivision

USD

u s dollar

cent

EUR

euro

cent

GBP

britisches pfund / britische pfund

penny / pence

AUD

australischer dollar / australische dollar

cent

CAD

kanadischer dollar / kanadische dollar

cent

JPY

unsupported: 1 JPY reads eins jpy

none

Symbol

Lexis

$

dollar

€

euro

£

pfund

¥

unsupported: ¥1 reads ¥ eins

Punctuation and character processing

Supported characters

Char

Description

Used as/in

Lexis

.

period

sentence end / thousands separator / date separator / ordinal

✅

,

comma

sentence break / decimal separator

✅

-

dash

number group / minus sign

✅

@

at sign

email address

✅

%

percent

percentage value, in URLs

✅

&

ampersand

"und" (between capital letters the letters are spelled)

✅

$ € £

currency signs

part of currency

✅

=

equal sign

in URLs

✅

;

semicolon

in URLs

✅

? !

question mark, exclamation mark

sentence end (see intonation)

✅

: / ( )

colon, slash, brackets

time, ratio, URLs, fractions, dates, phone numbers

✅

° ² ³ " '

degree, superscripts, quotes

units

✅

„ “

German quotation marks

quotations, passed on unchanged

✅

» «

guillemets

dropped, no spoken output

✅

The slash is read "schrägstrich". Other symbols are read by name: _ "unterstrich", + "plus" and $ "dollar". Outside times, ratios and URLs a colon or semicolon is replaced by a full stop, and brackets are passed on unchanged. The symbols \, ^, =, #, * and ~ are passed on unchanged in text ("=" is "gleichheitszeichen" only in URLs). The vulgar fraction ½ and the yen sign ¥ are not converted.

Any other character has no reading of its own: the processor passes it on unchanged (for example ©, ®, ™, §, ×, ÷, ±).

Punctuation intonation

Char

Lexis effect

.

falling intonation

?

rising intonation for yes/no questions

,

falling intonation

!

a lone exclamation mark is rewritten as a full stop (falling intonation)

space / dash

short pause (a spaced dash is a fixed pause of 0.2 s)

no punctuation at the end of a sentence

a period is added automatically