|
|
@@ -100,12 +100,12 @@ To add new language, you have to create or edit following files: |
|
|
|
|path/file |action | |
|
|
|
|------------------------------|-----------------------------| |
|
|
|
| Makefile.am |[edit](#makefileam-file) | |
|
|
|
| espeak-ng-data/lang/roa/fr |[create](#language-file) | |
|
|
|
| phsource/phonemes |[edit](#phonemes-file) | |
|
|
|
| phsource/ph_french |[create](#phoneme-definition-file) (optional) | |
|
|
|
| dictsource/fr_list |[create](#dictionary-files) | |
|
|
|
| dictsource/fr_rules |[create](#dictionary-files) | |
|
|
|
| dictsource/fr_extra |create (optional) | |
|
|
|
| espeak-ng-data/lang/roa/fr |[create](#language-file) | |
|
|
|
|
|
|
|
where: |
|
|
|
|
|
|
@@ -140,6 +140,32 @@ Optionally, if you have [phoneme definition file](#phoneme-definition-file), fol |
|
|
|
phsource/ph_french \ |
|
|
|
... |
|
|
|
|
|
|
|
### Language File |
|
|
|
|
|
|
|
E.g. `espeak-ng-data/lang/roa/fr` is the language file for French. |
|
|
|
This gives the language name and may set some options. |
|
|
|
|
|
|
|
Each language needs a language file in `espeak-ng-data/lang` grouped by the |
|
|
|
[language family](#language-family). The filename of the default voice for a |
|
|
|
language should be the same as the language code (e.g. `fr` for French). |
|
|
|
|
|
|
|
The simplest voice file would contain just 2 lines to give the language |
|
|
|
name (from the |
|
|
|
[IANA Language Subtag Registry](https://github.com/rhdunn/bcp47-data/blob/master/language-subtag-registry) |
|
|
|
and language code, e.g.: |
|
|
|
|
|
|
|
name French |
|
|
|
language fr |
|
|
|
|
|
|
|
This language code specifies which phoneme table and dictionary to use |
|
|
|
(i.e. `phonemetable fr` and `espeak-ng-data/fr_dict`) to be used. If |
|
|
|
needed, these can be overridden by `phonemes` and `dictionary` |
|
|
|
attributes in the voice file. For example you may want to start the |
|
|
|
implementation of a new language by using the phoneme table of an |
|
|
|
existing language. |
|
|
|
|
|
|
|
Details of the contents of language files are given in [Voices](voices.md). |
|
|
|
|
|
|
|
### Phonemes File |
|
|
|
|
|
|
|
Open file `phsource/phonemes` and add following lines |
|
|
@@ -183,32 +209,6 @@ it defines a phoneme table `fr` which inherits phoneme definitions from |
|
|
|
`base` table and adds new definitions or overrides existing |
|
|
|
definitions of `base` phonemes from the `phonemes/ph_french` file. |
|
|
|
|
|
|
|
### Language File |
|
|
|
|
|
|
|
E.g. `espeak-ng-data/lang/roa/fr` is the language file for French. |
|
|
|
This gives the language name and may set some options. |
|
|
|
|
|
|
|
Each language needs a language file in `espeak-ng-data/lang` grouped by the |
|
|
|
[language family](#language-family). The filename of the default voice for a |
|
|
|
language should be the same as the language code (e.g. `fr` for French). |
|
|
|
|
|
|
|
The simplest voice file would contain just 2 lines to give the language |
|
|
|
name (from the |
|
|
|
[IANA Language Subtag Registry](https://github.com/rhdunn/bcp47-data/blob/master/language-subtag-registry) |
|
|
|
and language code, e.g.: |
|
|
|
|
|
|
|
name French |
|
|
|
language fr |
|
|
|
|
|
|
|
This language code specifies which phoneme table and dictionary to use |
|
|
|
(i.e. `phonemetable fr` and `espeak-ng-data/fr_dict`) to be used. If |
|
|
|
needed, these can be overridden by `phonemes` and `dictionary` |
|
|
|
attributes in the voice file. For example you may want to start the |
|
|
|
implementation of a new language by using the phoneme table of an |
|
|
|
existing language. |
|
|
|
|
|
|
|
Details of the contents of language files are given in [Voices](voices.md). |
|
|
|
|
|
|
|
### Phoneme Definition File |
|
|
|
|
|
|
|
If you decide to customize definitions of phonemes (vowel and consonant |