Browse Source

Remove the 'dictdialect' feature.

master
Reece H. Dunn 8 years ago
parent
commit
ea365af43c
5 changed files with 8 additions and 58 deletions
  1. 1
    1
      README.md
  2. 7
    12
      docs/languages.md
  3. 0
    21
      docs/voices.md
  4. 0
    6
      espeak-ng-data/lang/ira/fa-en-us
  5. 0
    18
      src/libespeak-ng/voices.c

+ 1
- 1
README.md View File

---------- ----------


The eSpeak NG (Next Generation) Text-to-Speech program is an open source speech The eSpeak NG (Next Generation) Text-to-Speech program is an open source speech
synthesizer that supports [100 languages and accents](docs/languages.md).
synthesizer that supports [99 languages and accents](docs/languages.md).
It is based on the eSpeak engine created by Jonathan Duddington. It uses It is based on the eSpeak engine created by Jonathan Duddington. It uses
spectral formant synthesis by default which sounds robotic, but can be spectral formant synthesis by default which sounds robotic, but can be
configured to use Klatt formant synthesis or MBROLA to give it a more natural configured to use Klatt formant synthesis or MBROLA to give it a more natural

+ 7
- 12
docs/languages.md View File

| `gmw` | `en-GB-x-gbcwmd` | West Germanic | English | West Midlands | | `gmw` | `en-GB-x-gbcwmd` | West Germanic | English | West Midlands |
| `art` | `eo` | Constructed | Esperanto | | | `art` | `eo` | Constructed | Esperanto | |
| `urj` | `et` | Uralic | Estonian | | | `urj` | `et` | Uralic | Estonian | |
| `ira` | `fa` | Iranian | Persian<sup>[1]</sup> | |
| `ira` | `fa-en-us` | Iranian | Persian<sup>[2]</sup> | |
| `ira` | `fa-Latn` | Iranian | Persian<sup>[3]</sup> | |
| `ira` | `fa` | Iranian | Persian | |
| `ira` | `fa-Latn` | Iranian | Persian<sup>[1]</sup> | |
| `urj` | `fi` | Uralic | Finnish | | | `urj` | `fi` | Uralic | Finnish | |
| `roa` | `fr-BE` | Romance | French | Belgium | | `roa` | `fr-BE` | Romance | French | Belgium |
| `roa` | `fr` | Romance | French | France | | `roa` | `fr` | Romance | French | France |
| `poz` | `id` | Malayo-Polynesian | Indonesian | | | `poz` | `id` | Malayo-Polynesian | Indonesian | |
| `art` | `ia` | Constructed | Interlingua | | | `art` | `ia` | Constructed | Interlingua | |
| `roa` | `it` | Romance | Italian | | | `roa` | `it` | Romance | Italian | |
| `jpx` | `jp` | Japanese | Japanese<sup>[4]</sup> | |
| `jpx` | `jp` | Japanese | Japanese<sup>[2]</sup> | |
| `dra` | `kn` | Dravidian | Kannada | | | `dra` | `kn` | Dravidian | Kannada | |
| `inc` | `kok` | Indic | Konkani | | | `inc` | `kok` | Indic | Konkani | |
| | `ko` | | Korean | | | | `ko` | | Korean | |
| `inc` | `or` | Indic | Oriya | | | `inc` | `or` | Indic | Oriya | |
| `cus` | `om` | Cushitic | Oromo | | | `cus` | `om` | Cushitic | Oromo | |
| `roa` | `pap` | Romance | Papiamento | | | `roa` | `pap` | Romance | Papiamento | |
| `und` | `und-fonipa` | | Phonemes<sup>[5]</sup> | IPA |
| `und` | `und-fonipa` | | Phonemes<sup>[3]</sup> | IPA |
| `zls` | `pl` | South Slavic | Polish | | | `zls` | `pl` | South Slavic | Polish | |
| `roa` | `pt-BR` | Romance | Portuguese | Brazillian | | `roa` | `pt-BR` | Romance | Portuguese | Brazillian |
| `roa` | `pt-PT` | Romance | Portuguese | Portugal | | `roa` | `pt-PT` | Romance | Portuguese | Portugal |
| `aav` | `vi-VN-x-south` | Austroasiatic | Vietnamese | Southern Vietnam | | `aav` | `vi-VN-x-south` | Austroasiatic | Vietnamese | Southern Vietnam |
| `cel` | `cy` | Celtic | Welsh | | | `cel` | `cy` | Celtic | Welsh | |


[1] Includes support for reading British English text.
[1] Farsi/Persian written using English (Latin) characters.


[2] Includes support for reading American English text.
[2] Currently, only Hiragana and Katakana are supported.


[3] Farsi/Persian written using English (Latin) characters.

[4] Currently, only Hiragana and Katakana are supported.

[5] Currently only supported using the `[[...]]` phoneme blocks.
[3] Currently only supported using the `[[...]]` phoneme blocks.

+ 0
- 21
docs/voices.md View File

- [charset](#charset) - [charset](#charset)
- [dictmin](#dictmin) - [dictmin](#dictmin)
- [alphabet2](#alphabet2) - [alphabet2](#alphabet2)
- [dictdialect](#dictdialect)


---------- ----------


Alphabets names include: latin, cyr (cyrillic), ar (arabic). The default Alphabets names include: latin, cyr (cyrillic), ar (arabic). The default
language for latin alphabet is English. language for latin alphabet is English.


### dictdialect

dictdialect <dialect>

Words can be marked in the `*_list` or `*_rules` file to be spoken using
a foreign voice. This `dictdialect` attribute can be used to specify
which dialect of the foreign language should be used, instead of the
default dialect. The currently available dialects are:

* `en-us` (US English)
* `es-la` (Latin American Spanish)

e.g.

dictdialect en-us

This means that any words or rules which are made with `_^_EN` will be
spoken with the US English voice instead of the default UK English
voice.

Additional attributes are available to set various internal options Additional attributes are available to set various internal options
which control how language is processed. These would normally be set in which control how language is processed. These would normally be set in
the program code rather than in a voice file. the program code rather than in a voice file.

+ 0
- 6
espeak-ng-data/lang/ira/fa-en-us View File

name Persian+English-US
language fa
dictdialect en-us
maintainer Shadyar Khodayari <[email protected]>
status mature
// This language reads Persian and English with U.S pronunciation, as Persian uses a collection of special characters which differs entirely from English characters.

+ 0
- 18
src/libespeak-ng/voices.c View File

V_SPEED, V_SPEED,
V_DICTMIN, V_DICTMIN,
V_ALPHABET2, V_ALPHABET2,
V_DICTDIALECT,


// these need a phoneme table to have been specified // these need a phoneme table to have been specified
V_REPLACE, V_REPLACE,
{ "speed", V_SPEED }, { "speed", V_SPEED },
{ "dict_min", V_DICTMIN }, { "dict_min", V_DICTMIN },
{ "alphabet2", V_ALPHABET2 }, { "alphabet2", V_ALPHABET2 },
{ "dictdialect", V_DICTDIALECT },


// these just set a value in langopts.param[] // these just set a value in langopts.param[]
{ "l_dieresis", 0x100+LOPT_DIERESES }, { "l_dieresis", 0x100+LOPT_DIERESES },
{ NULL, 0 } { NULL, 0 }
}; };


static MNEM_TAB dict_dialects[] = {
{ "en-us", DICTDIALECT_EN_US },
{ "es-la", DICTDIALECT_ES_LA },

{ NULL, 0 }
};

#define N_VOICE_VARIANTS 12 #define N_VOICE_VARIANTS 12
const char variants_either[N_VOICE_VARIANTS] = { 1, 2, 12, 3, 13, 4, 14, 5, 11, 0 }; const char variants_either[N_VOICE_VARIANTS] = { 1, 2, 12, 3, 13, 4, 14, 5, 11, 0 };
const char variants_male[N_VOICE_VARIANTS] = { 1, 2, 3, 4, 5, 6, 0 }; const char variants_male[N_VOICE_VARIANTS] = { 1, 2, 3, 4, 5, 6, 0 };
fprintf(stderr, "alphabet name '%s' not found\n", name1); fprintf(stderr, "alphabet name '%s' not found\n", name1);
} }
break; break;
case V_DICTDIALECT:
// specify a dialect to use for foreign words, eg, en-us for _^_EN
if (sscanf(p, "%s", name1) == 1) {
if ((ix = LookupMnem(dict_dialects, name1)) > 0)
langopts->dict_dialect |= (1 << ix);
else
fprintf(stderr, "dictdialect name '%s' not recognized\n", name1);
}
break;
case V_MAINTAINER: case V_MAINTAINER:
case V_STATUS: case V_STATUS:
break; break;

Loading…
Cancel
Save