Using German Text to Speech

The Tellme Voice Application Network supports a female Germany German voice for German Text to Speech (TTS) processing. This article demonstrates how to access this functionality.

To access German TTS functionality, set the name attribute of the voice element to "hedda" as shown in the following example.

<?xml version="1.0" encoding="iso-8859-1"?>
<vxml version="2.1"
  xmlns="http://www.w3.org/2001/vxml">
  <form>
    <block>
      <prompt>
        <voice name="hedda">
          Wenn sie aber die Frucht gebracht hatso schickt
          er bald die Sichel hin; denn die Ernte ist da.
          Und er sprach: Wem wollen wir das Reich Gottes vergleichen,
          und durch welch Gleichnis wollen wir es vorbilden?
        </voice>
      </prompt>
      <exit/>
    </block>
  </form>
</vxml>

For information about the Speech Synthesis Markup Language (SSML) elements that the TTS engine supports, see the Speech Synthesis Markup Element Reference.

This section covers how phone numbers and mailing addresses should be formatted and how they are read by the TTS engine.

  • Brief time breaks occur between number segments.
  • Phone numbers are not pronounced in pairs, as regular numbers are; digits are read individually.
  • Phone number delimiters are not pronounced. A comma indicates a short pause.
  • You can use the SSML say-as element to ensure that the TTS engine pronounces a phone number correctly.
Text Pronunciation
+49 351 125-3456 "plus vier neun, drei funf eins, eins zwei funf, drei vier funf sechs"
49 351 125 456 "vier neun, drei funf eins, eins zwei funf, vier funf sechs"
0800 125 3457 "null acht null null, eins zwei fuenf, drei vier fuenf sieben"
(49) 0351 4969613 "Vier Neun Null Drei Funf Eins Vier Neun Sechs Neun Sechs Eins Drei"

  • Numbers in an address are read as numbers (for details, see the Numbers section)
  • Germany addresses are typically in the following format:
    RECIPIENT
    STREET_NAME HOUSE_NUMBER
    POSTAL_CODE LOCALITY
    GERMANY
    
  • To ensure that the TTS engine pronounces the state abbreviation correctly, be sure to include a zip code. Also, do not include extra spaces after the city name.
  • You can use the SSML say-as element to ensure that the TTS engine pronounces an address correctly.
Pronunciation Rule Text
Between a street address and a numeric street, a break occurs Trockener Kamp 43, Hildesheim
A break occurs between city/state and the zip code 31139 , Deutschland Germany

Four digit numbers have some common pronunciation patterns, as listed below. You can also use the SSML say-as element to ensure that the TTS engine pronounces a number digit by digit.

  • To express multiplication, you must write out the mathematical functions. For example, use "4 times 5" instead of "4*5" or "4X5".
  • In German 'comma (,)' is used as a decimal separator and 'dot (.)' is used as a thousands separator( period)
Pattern Pronunciation Rule Example Text Example Pronunciation
Two digit number separated by limiter Read as a single number 2,5 "Zweikommafunf"
4 digit numbers that begins with zero Read as pair 234 "zweihundertvierunddreissig"
4 digit number where 2nd pair is 00 read in hundreds 1200 "zwólfhundert"
4 digit number 2001 through 2009 Read as a single number 2008 "zweitausendacht"
Number separated by a period Read as a single number 4.008 "Viertausendacht"
Million number not separated by limiter Read as a single number 3000000 "Dreimillionen"
Million number separated by limiter Read as a single number 4.000.000 "Vier Millionen"

Currency values are pronounced, in general, as <number><currency value> AND <number> <currency value>. You can use the SSML say-as element to ensure that the TTS engine pronounces a currency value correctly.

  • In German 'comma (,)' is used as a decimal separator and 'dot (.)' is used as a thousands separator( period)

Note. Ignore trailing character  ahead of currency

Text Pronunciation
€1,01 "Einz Euro null eins"
$ 2.500 "Zwei tausend Funf hundert Dollar"
€23,99 "Dreiundzwanzig Komma Neunundneunzig Euro"
€ 23.999,02 "Dreiundzwanzig tausend neun hundert neunundneunzig euro"
€24,00 "Ventiquattro euro"
€2.699,00 "Duemilaseicentonovantanove euro"

You can refer here Currency Abbreviations to know about currency code abbreviations and the readout for each.

This section covers how the TTS engine pronounces date and time text. You can use the SSML say-as element to ensure that the TTS engine pronounces a date or time value correctly.

Note. Roman Numerals in dates are not supported.

Dates in Germany are formatted as d(d).m(m).(yy)yy (using dots (which denote ordinal numbering)). The international format yyyy-mm-dd is also used as official date format.

Text Pronunciation
21.12.14 "Einundzwanzigster Zwlfter vierzehn"
17. Oktober 2009 "Siebzehnter Oktober Zweitausendneun"
5. Mai "Fnfter Mai"

While you can use all valid XML character sequences in the range U+0000 to U+FFFF in your VoiceXML documents, character data to be processed by the TTS engine (e.g. text in prompt and audio elements) must be non-control characters in the following Unicode tables:

The following is a list of known issues related to this language:

  • For say-as type "time" use time format 11h02 for good results. Expect incoorect outputs for other formats.
See Also
Speech Synthesis Markup Element Reference, Unicode Code Charts
[24]7 Inc.| Terms of Service| Privacy Policy| General Disclaimers