| dictsource/fr_list |create | | | dictsource/fr_list |create | | ||||
| dictsource/fr_rules |create | | | dictsource/fr_rules |create | | ||||
| dictsource/fr_extrc |create (optional) | | | dictsource/fr_extrc |create (optional) | | ||||
| espeak-data/voices/roa/fr |create | | |||||
| espeak-ng-data/voices/roa/fr |create | | |||||
where: | where: | ||||
### Voice File | ### Voice File | ||||
E.g. `espeak-data/voices/roa/fr` is the voice file for French. | |||||
E.g. `espeak-ng-data/voices/roa/fr` is the voice file for French. | |||||
This gives the language name and may set some options. | This gives the language name and may set some options. | ||||
Each language needs a voice file in `espeak-data/voices` grouped by the | |||||
Each language needs a voice file in `espeak-ng-data/voices` grouped by the | |||||
[language family](#language-family). The filename of the default voice for a | [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). | language should be the same as the language code (e.g. `fr` for French). | ||||
language fr | language fr | ||||
This language code specifies which phoneme table and dictionary to use | This language code specifies which phoneme table and dictionary to use | ||||
(i.e. `phonemetable fr` and `espeak-data/fr_dict`) to be used. If | |||||
(i.e. `phonemetable fr` and `espeak-ng-data/fr_dict`) to be used. If | |||||
needed, these can be overridden by `phonemes` and `dictionary` | needed, these can be overridden by `phonemes` and `dictionary` | ||||
attributes in the voice file. For example you may want to start the | 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 | implementation of a new language by using the phoneme table of an | ||||
[Dictionary](dictionary.md). | [Dictionary](dictionary.md). | ||||
The `fr_rules` and `fr_list` files are compiled to produce the | The `fr_rules` and `fr_list` files are compiled to produce the | ||||
`espeak-data/fr_dict` file, which eSpeak uses when it is speaking. | |||||
`espeak-ng-data/fr_dict` file, which eSpeak uses when it is speaking. | |||||
Once the language's phonemes have been defined, then pronunciation | Once the language's phonemes have been defined, then pronunciation | ||||
dictionary data can be produced in order to translate the language's | dictionary data can be produced in order to translate the language's | ||||
source text into phonemes. This consists of two source files: | source text into phonemes. This consists of two source files: | ||||
`fr_rules` (the spelling to phoneme rules) and `fr_list` (an | `fr_rules` (the spelling to phoneme rules) and `fr_list` (an | ||||
exceptions list, and attributes of certain words). The corresponding | exceptions list, and attributes of certain words). The corresponding | ||||
compiled data file is `espeak-data/fr_dict` which is produced from | |||||
compiled data file is `espeak-ng-data/fr_dict` which is produced from | |||||
the `fr_rules` and `fr_list` sources by the command: | the `fr_rules` and `fr_list` sources by the command: | ||||
espeak-ng --compile=fr | espeak-ng --compile=fr | ||||
options. For a new language, you would add its language code and the | options. For a new language, you would add its language code and the | ||||
required options in `SetTranslator()`. However, this may not be necessary | required options in `SetTranslator()`. However, this may not be necessary | ||||
during testing because most of the options can also be set in the voice | during testing because most of the options can also be set in the voice | ||||
file in espeak-data/voices (see [Voice Files](voices.md)). | |||||
file in espeak-ng-data/voices (see [Voice Files](voices.md)). | |||||
## Compiling Rules File for Debugging | ## Compiling Rules File for Debugging | ||||
various other properties. The source files are: `<language>_list` (e.g. | various other properties. The source files are: `<language>_list` (e.g. | ||||
`en_list`) and optionally `<language>_extra` (e.g. `en_extra`). | `en_list`) and optionally `<language>_extra` (e.g. `en_extra`). | ||||
These files are compiled into the file `<language>_dict` in the espeak-data | |||||
directory (e.g. `espeak-data/en_dict`). | |||||
These files are compiled into the file `<language>_dict` in the espeak-ng-data | |||||
directory (e.g. `espeak-ng-data/en_dict`). | |||||
## Phoneme names | ## Phoneme names | ||||
## Clauses | ## Clauses | ||||
The tunes which are used for a language can be specified by using a | The tunes which are used for a language can be specified by using a | ||||
`tunes` statement in a voice file in `espeak-data/voices`. e.g.: | |||||
`tunes` statement in a voice file in `espeak-ng-data/voices`. e.g.: | |||||
tunes s1 c1 q1 e1 | tunes s1 c1 q1 e1 | ||||
where `xxx` is the name of a Mbrola voice (e.g. `mb-en1` for the Mbrola | where `xxx` is the name of a Mbrola voice (e.g. `mb-en1` for the Mbrola | ||||
`en1` English voice). These voice files are in eSpeak NG's directory | `en1` English voice). These voice files are in eSpeak NG's directory | ||||
`espeak-data/voices/mbrola`. | |||||
`espeak-ng-data/voices/mbrola`. | |||||
The installation instructions below use the Mbrola voice "en1" as an | The installation instructions below use the Mbrola voice "en1" as an | ||||
example. You can use other mbrola voices for which there is an | example. You can use other mbrola voices for which there is an | ||||
equivalent eSpeak NG voice in `espeak-data/voices/mbrola`. | |||||
equivalent eSpeak NG voice in `espeak-ng-data/voices/mbrola`. | |||||
There are some additional eSpeak NG Mbrola voices which speak English text | There are some additional eSpeak NG Mbrola voices which speak English text | ||||
using a Mbrola voice for a different language. These contain the name of | using a Mbrola voice for a different language. These contain the name of | ||||
[http://www.tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html](http://www.tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html). | [http://www.tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html](http://www.tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html). | ||||
4. Unpack the archive, and copy the `en1` data file (not the whole "en1" directory) into | 4. Unpack the archive, and copy the `en1` data file (not the whole "en1" directory) into | ||||
`C:/Program Files/eSpeak/espeak-data/mbrola`. | |||||
`C:/Program Files/eSpeak/espeak-ng-data/mbrola`. | |||||
4. Use the voice `espeak-MB-EN1` from the list of SAPI5 voices. | 4. Use the voice `espeak-MB-EN1` from the list of SAPI5 voices. | ||||
4. Unpack the archive, and copy the `en1` data file (not the whole "en1" directory) to `/usr/share/mbrola/en1`. | 4. Unpack the archive, and copy the `en1` data file (not the whole "en1" directory) to `/usr/share/mbrola/en1`. | ||||
__NOTE:__ eSpeak will look for mbrola voices firstly in `espeak-data/mbrola` and then in `/usr/share/mbrola`. | |||||
__NOTE:__ eSpeak will look for mbrola voices firstly in `espeak-ng-data/mbrola` and then in `/usr/share/mbrola`. | |||||
## Usage | ## Usage | ||||
## Mbrola Voice Files | ## Mbrola Voice Files | ||||
eSpeak NG's voice files for Mbrola voices are in directory `espeak-data/voices/mbrola`. | |||||
eSpeak NG's voice files for Mbrola voices are in directory `espeak-ng-data/voices/mbrola`. | |||||
They contain a line: `mbrola <voice> <translation>` | They contain a line: `mbrola <voice> <translation>` | ||||
e.g. | e.g. | ||||
* \<translation\> is a translation file to convert between eSpeak phonemes and | * \<translation\> is a translation file to convert between eSpeak phonemes and | ||||
the equivalent Mbrola phonemes. | the equivalent Mbrola phonemes. | ||||
These are kept in: `espeak-data/mbrola_ph` | |||||
These are kept in: `espeak-ng-data/mbrola_ph` | |||||
## Mbrola Phoneme Translation Data | ## Mbrola Phoneme Translation Data | ||||
dialect) together with various attributes that affect the | dialect) together with various attributes that affect the | ||||
characteristics of the voice quality and how the language is spoken. | characteristics of the voice quality and how the language is spoken. | ||||
Voice files are located in the `espeak-data/voices` directory, and are | |||||
Voice files are located in the `espeak-ng-data/voices` directory, and are | |||||
grouped by the [ISO 639-5](https://en.wikipedia.org/wiki/ISO_639-5) | grouped by the [ISO 639-5](https://en.wikipedia.org/wiki/ISO_639-5) | ||||
language family of the language being specified in the voice files. | language family of the language being specified in the voice files. | ||||
See also Wikipedia's | See also Wikipedia's | ||||
consonants (such as `[n]` and `[l]`). Unvoiced sounds such as `[s]` are | consonants (such as `[n]` and `[l]`). Unvoiced sounds such as `[s]` are | ||||
unaffected. | unaffected. | ||||
This `tone` statement can also appear in `espeak-data/config`, in which case | |||||
This `tone` statement can also appear in `espeak-ng-data/config`, in which case | |||||
it applies to all voices which don't have their own `tone` statement. | it applies to all voices which don't have their own `tone` statement. | ||||
### flutter | ### flutter | ||||
Eight integer parameters. These are added to the voice's corresponding | Eight integer parameters. These are added to the voice's corresponding | ||||
`stressLength` values. They are used in the voice variant files in | `stressLength` values. They are used in the voice variant files in | ||||
`espeak-data/voices/!v` to give some variety. Negative values may be used. | |||||
`espeak-ng-data/voices/!v` to give some variety. Negative values may be used. | |||||
### stressAmp | ### stressAmp | ||||
Used for some languages to detect if additional language data is | Used for some languages to detect if additional language data is | ||||
installed. If the size of the compiled dictionary data for the language | installed. If the size of the compiled dictionary data for the language | ||||
(the file `espeak-data/*_dict`) is less than this size then a | |||||
(the file `espeak-ng-data/*_dict`) is less than this size then a | |||||
warning is given. | warning is given. | ||||
### alphabet2 | ### alphabet2 |