About Automatic Phonetic Transcription and Syllable Analysis

How it Works

The automatic transcription on this page tries to predict how orthographic words will be pronounced, at the moment in standard German and Polish. For each input word it supplies an IPA based phonetic transcription and a syllable analysis. The transcription uses the principles of onset maximization and the sonority hierarchy in order to find syllable borders (some details can be found here for German and here for Polish, as well as in the literature in the list below). No lexical knowledge (i.e. dictionary) is used, except for a few common prefixes or suffixes influencing the position of the stress in German, since stress is important for deciding vowel tenseness and length in this language.

The syllable analysis is realized using a php script generating an SVG representation. Each syllable consists of an onset and a rhyme, and each rhyme has at least a nucleus, and possibly a coda. In German I assume ambisyllabic consonants between lax stressed 'open' syllables and a following simple onset (i.e. the intervening consonant belongs to both syllables, forming a so-called 'Silbengelenk' in words such as bit.te; cf. Eisenberg 2000: chapter 4). Extrasyllabic consonants are however not admitted: any consonants left unattached are adjoined to a syllable, e.g. Herbst has one syllable, and Spra.che has two.

Important note:

In order to correctly view this page, a unicode font is required (e.g. on Windows PC's Arial Unicode). If you do not have such a font and the page does not display correctly, you can download the unicode font gentium free of charge under the SIL open font license. In order to view the syllable analyses you will also require an SVG capable browser. The latest version of FireFox supports SVG natively, whereas IE7 users will be prompted to install an SVG plugin.

What doesn't Work?


German is not an entirely phonetic language, i.e. pronunciation is not entirely predictable from orthography if no dictionary is used. Especially difficult is vowel tenseness and length, which are sometimes marked by double consonant orthography (as in example 1 below), but sometimes are not (for instance before ch, as in 2):

  1. beten [beːtn̩] to pray  vs. Betten [bɛtn̩] beds
  2. lachen [laxn̩] to laugh  vs. Lachen [laːxn̩] puddles (my thanks to Felix Golcher for the minimal pair in this example)

An automatic analysis diregarding the meaning or context of these forms cannot possibly get both right. This is also problematic in words with complex codas, since vowel tenseness/length is not marked in these cases:

  1. Mond [moːnt] moon   vs. Hemd [hɛmt] shirt

And another major problem is the spelling of words borrowed from foreign languages, such as the pronunciation of v:

  1. Vater [faːtɐ] father   vs. Vatikan [vatikaːn] Vatican

Finally, some morphological knowledge may be required in order to correctly divide the syllables in a complex word. Consider a compound like Bergleute mountain people. Using onset maximization, an algorithm for syllable division should reach the division: Ber-gleu-te, since the string -gleu- represents a valid German syllable with maximal onset. However, the correct division is Berg-leu-te, as evidenced by the fact that the final <g> in Berg- undergoes devoicing into [k], which is characteristic of German voiced obstruents at syllable end. It is therefore necessary to supply morphological borders in such cases, for example using a hyphen - try comparing the results of the automatic analysis of Geburtstag with Geburts-tag.


Compared to German, Polish is relatively easy to transcribe phonetically from its orthography. Polish syllables are generally open, except when this is precluded by certain impossible onsets (see the syllabification constraints under details). The two main difficulties are detection of prefixes, which are syllabified differently:

  1. odzysk [ʔod.zɨsk] salvage  vs. wodze [vo.ʣɛ] reins (from Swan 2002: 20)

And the spelling of foreign diphthongs in loanwords, which form one syllable in foreign spellings but two in native words, e.g.:

  1. autobus [ʔau.to.bus] bus  vs. nauka [na.u.ka] science (ibid.: 12)

Otherwise the palatalizations signalled by the letter <i> must be recognized and accompanied by the appropriate palatalized consonants, but this can be done automatically without difficulty in most cases.

If you find further errors other than the above (which are by design), please let me know what you input, and how you think the corresponding string could be automatically recognized correctly.


Eisenberg, P. (2000), Grundriss der deutschen Grammatik: das Wort. Stuttgart / Weimar: J. B. Metzler.

Gigerich, H. J. (1992), Onset maximization in German: The case against resyllabification rules. In: Eisenberg, P., Rahmers, K. H. and Vater, H. (eds.), Silbenphonologie des Deutschen. Studien zur deutschen Grammatik 42. Tübingen: Gunter Narr, 134-171.

Hall, T. A. (1992), Syllable Structure and Syllable-Related Processes in German. Tübingen: Max Niemeyer.

Swan, O. E. (2002), A Grammar of Contemporary Polish. Bloomington, IA: Slavica.

© 2008 - 2014 Amir Zeldes