mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-14 01:32:29 +00:00
[1.40.01]
Fix mbrola translation for "r" in Spanish and some other languages. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@214 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+7
-12
@@ -22,15 +22,14 @@ syllables within words. Some languages are easier than others. I expect most are
|
||||
<p><li>Improve the sounds of the phonemes. It may be that a phoneme should sound different depending on adjacent sounds, or whether it's at the start or the end of a word, between vowels, etc. This may consist of making small adjustments to vowel and diphthong quality,
|
||||
or adjusting the strength of consonants. Bigger changes may be recording new or replacement consonant
|
||||
sounds, or even writing program code to implement new types of sounds.
|
||||
<p><li>Marking some common words in the dictionary that should be unstressed (words such as "the", "is"), or should be preceded
|
||||
by a short pause (such as "and", "but"), or have other attributes, in order to make the speech flow better.
|
||||
<p><li>Some common words should be added to the dictionary (the *_list file for the language) with an "unstressed" attribute (eg. in English, words such as "the", "is", "had", "my", "she", "of", "in", "some"), or should be preceded
|
||||
by a short pause (such as "and", "but", "which"), or have other attributes, in order to make the speech flow better.
|
||||
<p><li>Improve the rhythm of the speech by adjusting the relative lengths of vowels in different contexts, eg. stressed/unstressed syllable,
|
||||
or depending on the following phonemes. This is important for making the speech sound good for the language.
|
||||
<p><li>Identify or implement new functions in the program to improve the speech, or to deal with
|
||||
characteristics of the language which are not currently implemented. For example, a different intonation module.
|
||||
</ul>
|
||||
<b><em>If you are interested in working on a language, please contact me to set up the initial data and to
|
||||
discuss the features of the language.</em></b>
|
||||
<b><em>If you are interested in working on a language, please contact me so that I can set up the initial data and discuss the features of the language.</em></b>
|
||||
<p>
|
||||
For most of the eSpeak voices, I do not speak or understand the language, and I do not know how it should sound. I can only make improvements as a result of feedback from speakers of that language. If you want to help to improve a language, listen carefully and try to identify individual errors, either in the spelling-to-phoneme translation, the position of stressed syllables within words, or the sound of phonemes, or problems with rhythm and vowel lengths.
|
||||
<HR>
|
||||
@@ -90,11 +89,11 @@ marked as "unstressed" in order to make the speech flow better.
|
||||
These words generally include articles (eg: a, the, this, that),
|
||||
auxillary verbs (eg: is, have, will, can, may), pronouns and
|
||||
possessive adjectives (eg: he, his), some common prepositions (eg:
|
||||
of, to, in, of), some common conjunctions (eg. and, or, if)., some
|
||||
of, to, in, of), some common conjunctions (eg. and, or, if), some
|
||||
common adverbs and adjectives (eg. any, already)</P>
|
||||
<P><B>$pause </B>Some words should be marked to have a short pause
|
||||
before then, in order to produce natural pauses in long sentences.
|
||||
These include conjunctions (eg. and, or, but, however) and perhaps
|
||||
These include conjunctions (eg. and, or, but, however, which) and perhaps
|
||||
some prepositions.</P>
|
||||
<HR>
|
||||
<H3>6.4 Voice File</H3>
|
||||
@@ -122,12 +121,8 @@ language code and the required options in <B>SetTranslator()</B>. However, this
|
||||
may not be necessary during testing because most of the options can also be
|
||||
set from the voice file in
|
||||
<B>espeak-data/voices</B>.</P>
|
||||
<P STYLE="font-weight: medium">If necessary, you can define a new
|
||||
translator class for a language, and select this in the
|
||||
SetTranslator() function. This inherits the standard functions
|
||||
from the base translator class, but allows you to replace these where
|
||||
needed by new functions which are written specially for this
|
||||
language.</P>
|
||||
|
||||
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
+16
-2
@@ -99,6 +99,10 @@ of 190. Range 80 to 390.
|
||||
<dd>Word gap. This option inserts a pause between words. The value is the length of the pause, in units of 10 mS (at the default speed of 170 wpm).
|
||||
<p>
|
||||
<dt>
|
||||
<strong>-h </strong> or <strong> --help</strong><br>
|
||||
<dd>The first line of output gives the eSpeak version number.
|
||||
<p>
|
||||
<dt>
|
||||
<strong>-k <integer></strong><br>
|
||||
<dd>Indicate words which begin with capital letters.<p>
|
||||
1 eSpeak uses a click sound to indicate when a word starts with a capital letter, or double click if word is all capitals.<p>
|
||||
@@ -164,6 +168,14 @@ Compile the pronunciation rule and dictionary lookup data from their source file
|
||||
<dd>
|
||||
The same as <strong>--compile</strong>, but source line numbers from the *_rules file are included. These are included in the rules trace when the <strong>-X</strong> option is used.
|
||||
<p>
|
||||
<dt><strong>--path [="<directory path>"]</strong><br>
|
||||
<dd>
|
||||
Specifies the directory which contains the espeak-data directory.
|
||||
<p>
|
||||
<dt><strong>--phonout [="<filename>"]</strong><br>
|
||||
<dd>
|
||||
If specified, mbrola phoneme data, and also the output from -x and -X options is written to this file, rather than stdout.
|
||||
<p>
|
||||
<dt><strong>--punct [="<characters>"]</strong><br>
|
||||
<dd>
|
||||
Speaks the names of punctuation characters when they are encountered in the text. If <characters> are given, then only those listed punctuation characters are spoken, eg. <code> --punct=".,;?"</code>
|
||||
@@ -190,8 +202,10 @@ If the -m option is used to indicate marked-up text, then HTML can be spoken dir
|
||||
<dt><b>Phoneme Input</b>
|
||||
<dd>
|
||||
As well as plain text, phoneme mnemonics can be used in the text input to <strong>espeak</strong>. They are enclosed within double square brackets. Spaces are used to separate words and all stressed syllables must be marked explicitly.<p>
|
||||
eg: <code> espeak -v en [[D,Is Iz sVm f@n'EtIk t'Ekst 'InpUt]] </code><p>
|
||||
("This is some phonetic text input").
|
||||
eg: <code> espeak -v en "[[D,Is Iz sVm f@n'EtIk t'Ekst 'InpUt]]" </code><p>
|
||||
This command will speak: "This is some phonetic text input".
|
||||
</dl>
|
||||
</body>
|
||||
</b>
|
||||
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ The utility 'phonemes' are:
|
||||
|
||||
It is not necessary to specify the stress of every syllable. Stress markers are only needed in order to change the effect of the language's default stress rule.
|
||||
<p>
|
||||
The phonemes which are used to represent a language's sounds are based on the Kirshenbaum ascii character representation of the International Phonetic Alphabet <a href="http://www.kirshenbaum.net/IPA/ascii-ipa.pdf">www.kirshenbaum.net/IPA/ascii-ipa.pdf</a>
|
||||
The phonemes which are used to represent a language's sounds are based loosely on the Kirshenbaum ascii character representation of the International Phonetic Alphabet <a href="http://www.kirshenbaum.net/IPA/ascii-ipa.pdf">www.kirshenbaum.net/IPA/ascii-ipa.pdf</a>
|
||||
|
||||
<p> <hr>
|
||||
<h3>4.3 Pronunciation Rules</h3>
|
||||
@@ -94,7 +94,7 @@ The rules are organized in groups, each starting with a ".group" line:
|
||||
A group for other characters which don't have their own group.
|
||||
<p>
|
||||
<dt><strong>.L<nn></strong><br><dd>
|
||||
Defines a group of letter sequences, any of which can match with <strong>Lnn</strong> in a <strong>post</strong> rule (see below). <strong>nn</strong> is a 2 digit decimal number in the range 01 to 20. eg:<p>
|
||||
Defines a group of letter sequences, any of which can match with <strong>Lnn</strong> in a <strong>post</strong> rule (see below). <strong>nn</strong> is a 2 digit decimal number in the range 01 to 25. eg:<p>
|
||||
<code>.L01 b bl br pl pr</code>
|
||||
<p>
|
||||
<dt><strong>.replace</strong><br><dd>
|
||||
@@ -249,7 +249,7 @@ Note, that matching characters in the <pre> part do not affect the syllabl
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>T</strong></td>
|
||||
<td>Only use this rule if the word in found in the *_list file with the <b>$alt1</b> attribute.</td>
|
||||
<td>Only use this rule if the word in found in the *_list file with the <b>$alt</b> attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>#</strong></td>
|
||||
@@ -352,6 +352,7 @@ or to run them together, pronounced as a single word
|
||||
or to give them a flag when they occur together
|
||||
<pre> (such as) sVtS||a2z $pause // precede with a pause
|
||||
</pre>
|
||||
Hyphenated words in the <strong><em><language>_list</em></strong> file must also be enclosed within brackets, because the two parts are considered as separate words.
|
||||
<h4>4.4.2 Special characters in <phoneme string>:</h4>
|
||||
<ul><table>
|
||||
<tbody>
|
||||
@@ -600,7 +601,7 @@ _0 to _9
|
||||
<tr><TD>_0M1<td>The word for "thousand"</tr>
|
||||
<tr><TD>_0M2<td>The word for "million"</tr>
|
||||
<tr><TD>_0M3<td>The word for 1000000000</tr>
|
||||
<tr><TD>_1M1 _2T1<td>Special pronunciation for one thousand, two thousand, tc, if needed</td>
|
||||
<tr><TD>_1M1 _2M1<td>Special pronunciation for one thousand, two thousand, tc, if needed</td>
|
||||
<tr><TD>_0and<td>Word for "and" when speaking numbers (eg. "two hundred and twenty").</tr>
|
||||
<tr><TD>_dpt<td>Word spoken for the decimnal point/comma</tr>
|
||||
<tr><TD>_dpt2<td>Word spoken (if any) at the end of all the digits after a decimal point.</tr>
|
||||
@@ -619,5 +620,6 @@ Character substitutions can be specified by using a <b> .replace </b> section at
|
||||
<p>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+3
-3
@@ -18,7 +18,7 @@
|
||||
(email) jonsd at users dot sourceforge.net<br>
|
||||
<a href="http://espeak.sf.net/download.html"><strong>Download</strong></a>
|
||||
<a href="http://sourceforge.net/forum/?group_id=159649"><strong>Forum</strong></a>
|
||||
<a href="http://sourceforge.net/projects/espeak"><strong>eSpeak Sourceforge page</a>
|
||||
<a href="http://sourceforge.net/projects/espeak/"><strong>eSpeak Sourceforge page</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -48,7 +48,7 @@ It can run as a command line program to speak text from a file or from stdin. A
|
||||
<li>Includes different Voices, whose characteristics can be altered.
|
||||
<li>Can produce speech output as a WAV file.
|
||||
<li>SSML (Speech Synthesis Markup Language) is supported (not complete), and also HTML.
|
||||
<li>Compact size. The program and its data, including several languages, totals about 700 kbytes.
|
||||
<li>Compact size. The program and its data, including many languages, totals about 1 Mbytes.
|
||||
<li>Can translate text to phoneme codes, so it could be adapted as a front end for another speech synthesis engine.
|
||||
<li>Potential for other languages. Several are included in varying stages of progress. Help from native speakers for these or other languages is welcomed.
|
||||
<li>Development tools available for producing and tuning phoneme data.
|
||||
@@ -65,7 +65,7 @@ A Windows version of the espeakedit program is also available.
|
||||
|
||||
<hr>
|
||||
<strong>Languages</strong>. The eSpeak speech synthesizer supports several languages, however in most cases these are initial drafts and need more work to improve them. Assistance from native speakers is welcome for these, or other new languages. Please contact me if you want to help.<p>
|
||||
eSpeak does text to speech synthesis for the following languages, some better than others. Afrikaans, Cantonese, Croatian, Czech, Dutch, English, Esperanto, Finnish, French, German, Greek, Hindi, Hungarian, Icelandic, Italian, Lojban, Macedonian, Mandarin, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Spanish, Swahili, Swedish, Vietnamese, Welsh. See <a href="languages.html">Languages</a>.
|
||||
eSpeak does text to speech synthesis for the following languages, some better than others. Afrikaans, Albanian, Armenian, Cantonese, Catalan, Croatian, Czech, Dutch, English, Esperanto, Finnish, French, German, Greek, Hindi, Hungarian, Icelandic, Indonesian, Italian, Kurdish, Latvian, Lojban, Macedonian, Mandarin, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Spanish, Swahili, Swedish, Tamil, Vietnamese, Welsh. See <a href="languages.html">Languages</a>.
|
||||
<hr>
|
||||
<strong>espeakedit</strong> is a GUI program used to prepare and compile phoneme data. It is now available for download. Documentation is currently sparse, but if you want to use it to add or improve language support, let me know.
|
||||
<hr>
|
||||
|
||||
+32
-17
@@ -46,12 +46,12 @@ For details of the voice files see <a href="voices.html">Voices</a>.
|
||||
<dd> is the standard default English voice.</dd>
|
||||
<p>
|
||||
<dt>
|
||||
<strong>en-sc</strong><br>
|
||||
<dd> Scottish English.
|
||||
<strong>en-us</strong><br>
|
||||
<dd> American English.
|
||||
<p>
|
||||
<dt>
|
||||
<strong>en-r</strong><br>
|
||||
<dd> 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.
|
||||
<strong>en-sc</strong><br>
|
||||
<dd> Scottish English.
|
||||
<p>
|
||||
<dt>
|
||||
<strong>en-n<br>
|
||||
@@ -73,7 +73,7 @@ The variants are <code> +m1 +m2 +m3 +m4 +m5 </code> for male voices, <code>
|
||||
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 languages.
|
||||
The eSpeak speech synthesizer does text to speech for the following additional langauges.
|
||||
<ul>
|
||||
<dl>
|
||||
<p>
|
||||
@@ -87,6 +87,10 @@ The eSpeak speech synthesizer does text to speech for the following additional l
|
||||
</dd>
|
||||
<p>
|
||||
<dt>
|
||||
<strong>ca Catalan</strong><br>
|
||||
<dd></dd>
|
||||
<p>
|
||||
<dt>
|
||||
<strong>cs Czech</strong><br>
|
||||
<dd>Usable.
|
||||
</dd>
|
||||
@@ -102,11 +106,7 @@ The eSpeak speech synthesizer does text to speech for the following additional l
|
||||
<p>
|
||||
<dt>
|
||||
<strong>eo Esperanto</strong><br>
|
||||
<dd>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).</dd>
|
||||
<dd>Esperanto has simple and regular pronunciation rules, so it should be OK.</dd>
|
||||
<p>
|
||||
<dt>
|
||||
<strong>es Spanish</strong><br>
|
||||
@@ -149,6 +149,17 @@ 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>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>
|
||||
@@ -224,6 +235,11 @@ These languages are only initial naive implementations which have had little or
|
||||
</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>
|
||||
@@ -250,7 +266,7 @@ These languages are only initial naive implementations which have had little or
|
||||
<p>
|
||||
<dt>
|
||||
<strong>nl Dutch</strong><br>
|
||||
<dd>Probably needs improvement of the spelling-to-phoneme rules.
|
||||
<dd>Needs improvement of the spelling-to-phoneme rules.
|
||||
</dd>
|
||||
<p>
|
||||
<dt>
|
||||
@@ -259,23 +275,22 @@ These languages are only initial naive implementations which have had little or
|
||||
</dd>
|
||||
<p>
|
||||
<dt>
|
||||
<strong>pl Polish</strong><br>
|
||||
<dd>Some initial feedback, but I'm told it's difficult to understand, so more work is needed.
|
||||
</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>zhy Cantonese Chinese</strong><br>
|
||||
<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>
|
||||
|
||||
+6
-10
@@ -3,6 +3,7 @@
|
||||
|
||||
<head>
|
||||
<title>eSpeak</title>
|
||||
<meta name="GENERATOR" content="Quanta Plus">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
</head>
|
||||
<body>
|
||||
@@ -35,16 +36,11 @@ The following markup tags and attributes are recognised:<p>
|
||||
</ul>
|
||||
<p><b><say-as></b>
|
||||
<ul>
|
||||
<li>interpret-as="characters"<p>
|
||||
The names of the characters are spoken.
|
||||
<li>interpret-as="characters" format="glyphs"<p>
|
||||
As "characters", but upper-case letters are prefixed with "Capital".
|
||||
<li>interpret-as="tts:key"<p>
|
||||
If the text is only one character, the name of the character is spoken, including punctuation characters. If the text is more than one character, it is spoken as words.
|
||||
<li>interpret-as="tts:char"<p>
|
||||
The name of the character is spoken, including punctuation characters.
|
||||
<li>interpret-as="tts:digits"<p>
|
||||
The digits are spoken individually.
|
||||
<li>interpret-as="characters"
|
||||
<li>interpret-as="characters" format="glyphs"
|
||||
<li>interpret-as="tts:key"
|
||||
<li>interpret-as="tts:char"
|
||||
<li>interpret-as="tts:digits"
|
||||
</ul>
|
||||
<p><b><mark></b> name
|
||||
<p><b><s></b>
|
||||
|
||||
Reference in New Issue
Block a user