1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>eSpeak Speech Synthesizer</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<A href="index.html">Back</A>
<hr>
<h2>3. LANGUAGES</h2>
<hr>
<h4>Help Needed</h4>
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.<p>
The sound of some phonemes may be poorly implemented, particularly [r] since I'm English and therefore unable to make a "proper" [r] sound.<p>
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 <a href="add_language.html">Adding or Improving a Language</a>
<h4>Character sets</h4>
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:<br>
<pre> charset 5</pre>
will mean that ISO 8859-5 is used as the 8-bit character set rather than KOI8-R.
<p>
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.
<p>
Sample texts in various languages can be found at <a href="http://meta.wikimedia.org/wiki/List_of_Wikipedias"> http://<language>.wikipedia.org</a> and <a href="http://www.gutenberg.org">www.gutenberg.org</a>
<h3>3.1 Voice Files</h3>
A number of Voice files are provided in the <code>espeak-data/voices</code> directory.
You can select one of these with the <strong>-v <voice filename></strong> parameter to the
speak command, eg:
<pre> espeak -vaf</pre>
to speak using the Afrikaans voice.<p>Language voices generally start with the 2 letter <a href="http://en.wikipedia.org/wiki/ISO_639-1">ISO 639-1 code</a> for the language. If the language does not have an ISO 639-1 code, then the 3 letter <a href="http://www.sil.org/iso639-3/codes.asp">ISO 639-3 code</a> can be used.
<p>
For details of the voice files see <a href="voices.html">Voices</a>.
<h4>Default Voice</h4>
<ul>
<dl>
<dt>
<strong>default</strong><br>
<dd> 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.</dd>
</dl>
</ul>
<h3>3.2 English Voices</h3>
<ul><dl>
<dt>
<strong>en</strong><br>
<dd> is the standard default English voice.</dd>
<p>
<dt>
<strong>en-us</strong><br>
<dd> American English.
<p>
<dt>
<strong>en-sc</strong><br>
<dd> English with a Scottish accent.
<p>
<dt>
<strong>en-n<br>
en-rp<br>
en-wm</strong><br>
<dd> are different English voices. These can be considered caricatures of
various British accents: Northern, Received Pronunciation, West Midlands
respectively.</dd>
<p>
</dl></ul>
<h3>3.3 Voice Variants</h3>
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 <a href="voices.html">voices.html</a>.
<p>
Alternatively there are some preset voice variants which can be applied to any of the language voices, by appending <code>+</code> and a variant name. Their effects are defined by files in <code>espeak-data/voices/!v</code>.
<p>
The variants are <code> +m1 +m2 +m3 +m4 +m5 +m6 +m7</code> for male voices, <code> +f1 +f2 +f3 +f4 +f5 </code> for female voices, and <code> +croak +whisper</code> for other effects. For example:
<pre> espeak -ven+m3</pre>
The available voice variants can be listed with:<br>
<pre> espeak --voices=variant</pre>
<h3>3.4 Other Languages</h3>
The eSpeak speech synthesizer does text to speech for the following additional langauges.
<ul>
<dl>
<p>
<dt>
<strong>af Afrikaans</strong><br>
<dd>This has been worked on by native speakers and it should be OK.</dd>
<p>
<dt>
<strong>bs Bosnian</strong><br>
<dd>Usable, but I'm unsure whether wrong stressed syllables are a problem. It accepts both Latin and Cyrillic characters. This voice is similar to <strong>sr Serbian</strong> and <strong>hr Croatian</strong>
</dd>
<p>
<dt>
<strong>ca Catalan</strong><br>
<dd></dd>
<p>
<dt>
<strong>cs Czech</strong><br>
<dd>Usable.
</dd>
<p>
<dt>
<strong>da Danish</strong><br>
<dd>Usable.
</dd>
<p>
<dt>
<strong>de German</strong><br>
<dd>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.
</dd>
<p>
<dt>
<strong>el Greek</strong><br>
<dd>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.</dd>
<p>
<dt>
<strong>eo Esperanto</strong><br>
<dd>Esperanto has simple and regular pronunciation rules, so it should be OK.</dd>
<p>
<dt>
<strong>es Spanish</strong><br>
<dd>Spanish has good spelling rules, so it should be OK.</dd>
<p>
<dt>
<strong>es-la Spanish - Latin America</strong><br>
<dd>
This contains a few changes from <strong>es</strong>, notably the pronunciation of "z","ce","ci".
</dd>
<p>
<dt>
<strong>fi Finnish</strong><br>
<dd>This has had assistance from native speakers and should be usable.
</dd>
<p>
<dt>
<strong>fr French</strong><br>
<dd>This has been improved by a native speaker, and should be OK.
</dd>
<p>
<dt>
<strong>hr Croatian</strong><br>
<dd>Usable, but I'm unsure whether wrong stressed syllables are a problem. It accepts both Latin and Cyrillic characters. This voice is similar to <strong>sr Serbian</strong> and <strong>bs Bosnian</strong>
</dd>
<p>
<dt>
<strong>hu Hungarian</strong><br>
<dd>This has had assistance from a native speaker and it should be OK.
</dd>
<p>
<dt>
<strong>it Italian</strong><br>
<dd>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].</dd>
<p>
<dt>
<strong>kn Kannada</strong><br>
<dd>Not much feedback yet, but I'm told that it sounds reasonable.
</dd>
<p>
<dt>
<strong>ku Kurdish</strong><br>
<dd>
Not much work yet, but Kurdish has good spelling rules so it should be OK.
</dd>
<p>
<dt>
<strong>lv Latvian</strong><br>
<dd>This has had assistance from a native speaker and it should be OK.
</dd>
<p>
<dt>
<strong>nl Dutch</strong><br>
<dd>Needs improvement of the spelling-to-phoneme rules.
</dd>
<p>
<dt>
<strong>pl Polish</strong><br>
<dd>
Usable.
</dd>
<p>
<dt>
<strong>pt Portuguese (Brazil)</strong><br>
<dd>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.<p>
</dd>
<p>
<dt>
<strong>pt-pt Portuguese (European)</strong><br>
<dd>
</dd>
<p>
<dt>
<strong>ro Romanian</strong><br>
<dd>Probably OK. More work is needed to improve the position of stress within words.
</dd>
<p>
<dt>
<strong>sk Slovak</strong><br>
<dd>This has had assistance from a native speaker, so it should be OK.
</dd>
<p>
<dt>
<strong>sr Serbian</strong><br>
<dd>Usable. Wrong stressed syllables may be a problem. It accepts both Latin and Cyrillic characters. This voice is similar to <strong>hr Croatian</strong> and <strong>bs Bosnian</strong>
</dd>
<p>
<dt>
<strong>sv Swedish</strong><br>
<dd>This has now had some work done on the pronunciation rules, so it should be useable.
</dd>
<p>
<dt>
<strong>sw Swahihi</strong><br>
<dd>Not much feedback yet, but the spelling and stress rules are fairly regular, so it's probably usable.
</dd>
<p>
<dt>
<strong>ta Tamil</strong><br>
<dd>This has had assistance from a native speaker, so it should be OK.
</dd>
<p>
<dt>
<strong>tr Turkish</strong><br>
<dd>
Not much work yet, but I'm told it sounds reasonable.
</dd>
<p>
<dt>
<strong>zh Mandarin Chinese</strong><br>
<dd>
This speaks Pinyin text and Chinese characters. There is only a simple one-to-one translation of Chinese characters to a single Pinyin pronunciation. There is no attempt yet at recognising different pronunciations of Chinese characters in context, or of recognising sequences of characters as "words". The eSpeak installation includes a basic set of Chinese characters. More are available in an additional data file for Mandarin Chinese at:
<a href="http://espeak.sourceforge.net/data/">http://espeak.sourceforge.net/data/</a>.
</dd>
<p>
</dl></ul>
<h3>3.5 Provisional Languages</h3>
These languages are only initial naive implementations which have had little or no feedback and improvement from native speakers.
<ul>
<dl>
<p>
<dt>
<strong>cy Welsh</strong><br>
<dd>An initial guess, awaiting feedback.
</dd>
<p>
<dt>
<strong>grc Ancient Greek</strong><br>
<dd>Includes a short pause between words to help understanding.
</dd>
<p>
<dt>
<strong>hi Hindi</strong><br>
<dd>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.
</dd>
<p>
<dt>
<strong>hy Armenian</strong><br>
<dd>Needs feedback from native speakers. The <strong>hy-west</strong> voice has different pronunciation of some consonants for Western Armenian pronunciation.
</dd>
<p>
<dt>
<strong>id Indonesian</strong><br>
<dd>An initial guess, no feedback yet.
</dd>
<p>
<dt>
<strong>is Icelandic</strong><br>
<dd>An initial guess, awaiting feedback.
</dd>
<p>
<dt>
<strong>jbo Lojban</strong><br>
<dd>An artificial language.
</dd>
<p>
<dt>
<strong>ka Georgian</strong><br>
<dd>An initial guess, awaiting feedback.
</dd>
<p>
<dt>
<strong>la Latin</strong><br>
<dd>Stress rules are implemented, but it needs text where long vowels are marked with macrons.
</dd>
<p>
<dt>
<strong>mk Macedonian</strong><br>
<dd>This is similar to <strong>hr Croatian</strong>, so it's probably usable. It accepts both Latin and Cyrillic characters.
</dd>
<p>
<dt>
<strong>no Norwegian</strong><br>
<dd>An initial guess, awaiting feedback.
</dd>
<p>
<dt>
<strong>ru Russian</strong><br>
<dd>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.<br>
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: <a href="http://espeak.sourceforge.net/data/">http://espeak.sourceforge.net/data/</a>
</dd>
<p>
<dt>
<strong>sq Albanian</strong><br>
<dd>Some initial feedback, but needs more work.</dd>
<p>
<dt>
<strong>vi Vietnamese</strong><br>
<dd>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.
</dd>
<p>
<dt>
<strong>zh-yue Cantonese Chinese</strong><br>
<dd>Just a naive simple one-to-one translation from single Simplified Chinese characters to phonetic equivalents in Cantonese. There is limited attempt 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 for Cantonese at: <a href="http://espeak.sourceforge.net/data/">http://espeak.sourceforge.net/data/</a>.<br>The voice can also read Jyutping romanised text.
</dd>
</ul>
<h3>3.6 Mbrola Voices</h3>
Some additional voices, whose name start with <b>mb-</b> (for example <b>mb-en1</b>) use eSpeak as a front-end to Mbrola diphone voices. eSpeak does the spelling-to-phoneme translation and intonation.
See <a href="mbrola.html">mbrola.html</a>.
<p>
</body>
</html>
|