Back

## 3. LANGUAGES

#### Help Needed

Many of these are just experimental attempts at these languages, produced after a quick reading of the corresponding article on wikipedia.org. They will need work or advice from native speakers to improve them. Please contact me if you want to advise or assist with these or other languages.

The sound of some phonemes may be poorly implemented, particularly [r] since I'm English and therefore unable to make a "proper" [r] sound.

A major factor is the rhythm or cadance. An Italian speaker told me the Italian voice improved from "difficult to understand" to "good" by changing the relative length of stressed syllables. Identifying unstressed function words in the xx_list file is also important to make the speech flow well. See Adding or Improving a Language

#### Character sets

Languages recognise text either as UTF8 or alternatively in an 8-bit character set which is appropriate for that language. For example, for Polish this is Latin2, for Russian it is KOI8-R. This choice can be overridden by a line in the voices file to specify an ISO 8859 character set, eg. for Russian the line:

         charset 5

will mean that ISO 8859-5 is used as the 8-bit character set rather than KOI8-R.

In the case of a language which uses a non-Latin character set (eg. Greek or Russian) if the text contains a word with Latin characters then that particular word will be pronounced using English pronunciation rules and English phonemes. Speaking entirely English text using a Greek or Russian voice will sound OK, but each word is spoken separately so it won't flow properly.

Sample texts in various languages can be found at http://<language>.wikipedia.org and www.gutenberg.org

### 3.1 Voice Files

A number of Voice files are provided in the `espeak-data/voices` directory. You can select one of these with the -v <voice filename> parameter to the speak command, eg:

       espeak -vaf

to speak using the Afrikaans voice.

For details of the voice files see Voices.

#### Default Voice

default
  This voice is used if none is specified in the speak command. Copy your preferred voice to "default" so you can use the speak command without the need to specify a voice.

### 3.2 English Voices

en
  is the standard default English voice.

en-sc
  Scottish English.

en-r
  Some slight vowel changes, and a "rhotic" accent, where "r" is pronounced even when not followed by a vowel. This may sound less "British" to an American.

en-n
en-rp
en-wm
  are different English voices. These can be considered caricatures of various British accents: Northern, Received Pronunciation, West Midlands respectively.

### 3.3 Voice Variants

To make alternative voices for a language, you can make additional voice files in espeak-data/voices which contains commands to change various voice and pronunciation attributes. See voices.html.

Alternatively there are some preset voice variants which can be applied to any of the language voices, by appending `+` and a variant name. Their effects are defined by files in `espeak-data/voices/!v`.

The variants are `+m1 +m2 +m3 +m4 +m5` for male voices, `+f1 +f2 +f3 +f4` for female voices, and `+croak +wisper` for other effects. For example:

       espeak -ven+m3

The available voice variants can be listed with:

       espeak --voices=variant

### 3.4 Other Languages

The eSpeak speech synthesizer does text to speech for the following additional langauges.

af Afrikaans
  This has been worked on by a native speaker and it should be OK.

cs Czech
  Usable.

de German
  This has improved from easlier versions. A problem is stress placement (which like English is irregular), prosody, and the use of compound words where correct detection of the sub-word boundaries would probably be needed for accurate pronunciation.

el Greek
  Stress position is marked in text and spelling is fairly regular, so it shouldn't be too bad. It uses a different alphabet and switches to English pronunciation for words which contain Latin characters a-z.

eo Esperanto
  Esperanto has simple and regular pronunciation rules, so it should be OK, although I'm not certain how it's supposed to sound, other than what I've read in an introduction. Text can be either UTF-8, or Latin3 alphabet, or can use the Latin1 convention of two-letter combinations (cx, gx, etc).

es Spanish
  Not much feedback yet, but spelling is regular and stress is explicitly marked when it deviates from the normal rules, so it might be reasonably intelligible. This would be a good opportunity for a native Spanish speaker to assist. Perhaps we could have different variants for Castilian Spanish, Mexican Spanish, etc., in a similar way to how I've done different English accents.

fi Finnish
  This has had assistance from native speakers and should be usable.

fr French
  Needs improvement, both for spelling-to-phoneme rules and the sounds and prosody.

hr Croatian
  Usable, but I'm unsure whether wrong stressed syllables are a problem.

hu Hungarian
  This has had assistance from a native speaker and it should be OK.

it Italian
  This has had some feedback from a native speaker but more work is needed. Spelling is fairly regular, but stress marks and vowel accents are often omitted from text, so for some words the dictionary/exceptions list will need to determine the stress position or whether to use open/close [e] or [E] and [o] or [O].

pt Portuguese (Brazil)
  Brazilian Portuguese. This has had assistance from a native speaker and it should be OK. Like Italian there is further work to do about the ambiguity in the spelling between open/close "e" and "o" vowels.

pt-pt Portuguese (European)

ro Romanian
  Probably OK. More work is needed to improve the position of stress within words.

sk Slovak
  A little initial feedback.

sv Swedish
  This has now had some work done on the pronunciation rules, so it should be useable.

sw Swahihi
  Not much feedback yet, but the spelling and stress rules are fairly regular, so it's probably usable.

### 3.5 Provisional Languages

These languages are only initial naive implementations which have had little or no feedback and improvement from native speakers.

cy Welsh
  An initial guess, awaiting feedback.

hi Hindi
  This is interesting because it uses the Devanagari characters. I'm not sure about Hindi stress rules, and I expect the sound of aspirated/unaspirated consonant pairs needs improvement.

nl Dutch
  Probably needs improvement of the spelling-to-phoneme rules.

is Icelandic
  An initial guess, awaiting feedback.

no Norwegian
  An initial guess, awaiting feedback.

pl Polish
  Some initial feedback, but I'm told it's difficult to understand, so more work is needed.

ru Russian
  So far it's just an initial attempt with basic pronunciation rules. Work is needed especially on the consonants. Russian has two versions of most consonants, "hard" and "soft" (palatalised) and in most cases eSpeak doesn't yet make a proper distinction.
  Russian stress position is unpredictable so a large lookup dictionary is needed of those words where eSpeak doesn't guess correctly. To avoid increasing the size of the basic eSpeak package, this is available separately at: http://espeak.sourceforge.net/data/

vi Vietnamese
  This is interesting because it's a tone language. I don't know how it should sound, so it's just a guess and I need feedback.

zhy Cantonese Chinese
  Just a naive simple one-to-one translation from single Simplified Chinese characters to phonetic equivalents in Cantonese. No attempt so far at disambiguation, grouping characters into words, or adjusting tones according to their surrounding syllables. This voice needs Chinese character to phonetic translation data, which is available as a separate download at: http://espeak.sourceforge.net/data/.
  The voice can also read Jyutping romanised text.

### 3.6 Mbrola Voices

Some additional voices, whose name start with mb- (for example mb-en1) use eSpeak as a front-end to Mbrola diphone voices. eSpeak does the spelling-to-phoneme translation and intonation. See mbrola.html.