Browse Source

docs (style): Use 'eSpeak NG' instead of 'eSpeakNG'.

master
Reece H. Dunn 7 years ago
parent
commit
bd76404a75
1 changed files with 26 additions and 26 deletions
  1. 26
    26
      docs/mbrola.md

+ 26
- 26
docs/mbrola.md View File

- [Installation of standard packages](#installation-of-standard-packages) - [Installation of standard packages](#installation-of-standard-packages)
- [Installation of latest Mbrola packages](#installation-of-latest-mbrola-packages) - [Installation of latest Mbrola packages](#installation-of-latest-mbrola-packages)
- [Usage](#usage) - [Usage](#usage)
- [Adding new Mbrola voice entry to eSpeakNG](#adding-new-mbrola-voice-entry-to-espeakng)
- [Adding new Mbrola voice entry to eSpeak NG](#adding-new-mbrola-voice-entry-to-espeak-ng)
- [1. Add Mbrola voice definition file](#1-add-mbrola-voice-definition-file) - [1. Add Mbrola voice definition file](#1-add-mbrola-voice-definition-file)
- [2. Add Mbrola phoneme translation file](#2-add-mbrola-phoneme-translation-file) - [2. Add Mbrola phoneme translation file](#2-add-mbrola-phoneme-translation-file)
- [3. Compile voice and update Makefile.am file](#3-compile-voice-and-update-makefileam-file) - [3. Compile voice and update Makefile.am file](#3-compile-voice-and-update-makefileam-file)
The Mbrola project is a collection of diphone voices for speech The Mbrola project is a collection of diphone voices for speech
synthesis. They do not include any text-to-phoneme translation, so this synthesis. They do not include any text-to-phoneme translation, so this
must be done by another program. The Mbrola voices are cost-free but are must be done by another program. The Mbrola voices are cost-free but are
not open source. Voice files are available at:
[http://www.tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html](http://www.tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html)
not open source. Voice files are available at
[http://www.tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html](http://www.tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html).


eSpeakNG can be used as a front-end to Mbrola. It provides the
eSpeak NG can be used as a front-end to Mbrola. It provides the
spelling-to-phoneme translation and intonation, which Mbrola then uses spelling-to-phoneme translation and intonation, which Mbrola then uses
to generate speech sound. to generate speech sound.


## Voice Names ## Voice Names


To use a Mbrola voice, eSpeakNG needs information to translate from its
To use a Mbrola voice, eSpeak NG needs information to translate from its
own phonemes to the equivalent Mbrola phonemes. own phonemes to the equivalent Mbrola phonemes.


The eSpeakNG voices which use Mbrola are named as:
The eSpeak NG voices which use Mbrola are named as:


mb-xxN mb-xxN


where `xxN` is the name of a Mbrola voice (e.g. `mb-en1` for the Mbrola where `xxN` is the name of a Mbrola voice (e.g. `mb-en1` for the Mbrola
`en1` English voice). These voice files are in eSpeakNG's folder
`en1` English voice). These voice files are in eSpeak NG's folder
`.../espeak-ng-data/voices/mb` (where `...` is usually `/usr/share`, `.../espeak-ng-data/voices/mb` (where `...` is usually `/usr/share`,
but could be somewhere else). but could be somewhere else).


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 eSpeakNG voice in `espeak-ng-data/voices/mb`.
equivalent eSpeak NG voice in `espeak-ng-data/voices/mb`.


There are some additional eSpeakNG 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
the Mbrola voice with a suffix `-en`. For example, the voice the Mbrola voice with a suffix `-en`. For example, the voice
`mb-de4-en` will speak English text with a German accent by using the `mb-de4-en` will speak English text with a German accent by using the


## Windows Installation ## Windows Installation


The SAPI5 version of eSpeakNG uses the `mbrola.dll`.
The SAPI5 version of eSpeak NG uses the `mbrola.dll`.


1. Install eSpeakNG. Include the voice `mb-en1` in the list of voices during
the eSpeakNG installation.
1. Install eSpeak NG. Include the voice `mb-en1` in the list of voices during
the eSpeak NG installation.


2. Install the PC/Windows version of Mbrola (MbrolaTools35.exe) from: 2. Install the PC/Windows version of Mbrola (MbrolaTools35.exe) from:
[http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pcwin/MbrolaTools35.exe](http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pcwin/MbrolaTools35.exe). [http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pcwin/MbrolaTools35.exe](http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pcwin/MbrolaTools35.exe).


__Notes:__ __Notes:__


* eSpeakNG will look for mbrola voices firstly in `espeak-ng-data/mbrola` and then in `/usr/share/mbrola`.
* eSpeak NG will look for mbrola voices firstly in `espeak-ng-data/mbrola` and then in `/usr/share/mbrola`.
* You can download latest development versions of MBROLA binaries from [https://github.com/mbrola/mbrola-bin/](https://github.com/mbrola/mbrola-bin/) * You can download latest development versions of MBROLA binaries from [https://github.com/mbrola/mbrola-bin/](https://github.com/mbrola/mbrola-bin/)


## Usage ## Usage


If you use the eSpeakNG voice such as `mb-en1` then eSpeakNG will use the mbrola "en1" voice, e.g.:
If you use the eSpeak NG voice such as `mb-en1` then eSpeak NG will use the mbrola "en1" voice, e.g.:


espeak-ng -v mb-en1 "Hello world" espeak-ng -v mb-en1 "Hello world"




espeak-ng -vmb-en1 --stdout "Hello world"|aplay espeak-ng -vmb-en1 --stdout "Hello world"|aplay


## Adding new Mbrola voice entry to eSpeakNG
## Adding new Mbrola voice entry to eSpeak NG


To add new Mbrola voice entry for eSpeakNG you have to:
To add new Mbrola voice entry for eSpeak NG you have to:


1. add Mbrola voice definition file, 1. add Mbrola voice definition file,
2. add Mbrola phoneme translation file, 2. add Mbrola phoneme translation file,


### 1. Add Mbrola voice definition file ### 1. Add Mbrola voice definition file


eSpeakNG's voice files for Mbrola voices are in `espeak-ng-data/voices/mb` folder.
eSpeak NG's voice files for Mbrola voices are in `espeak-ng-data/voices/mb` folder.
Voice definition file is in form `mb-xxN` and have to contain at least this line: Voice definition file is in form `mb-xxN` and have to contain at least this line:
`mbrola <voice> <translation>`, e.g. `mbrola <voice> <translation>`, e.g.




Where: Where:
* `en1` is the name of the Mbrola voice. * `en1` is the name of the Mbrola voice.
* `en1_phtrans` is a translation file to convert between eSpeakNG phonemes and
* `en1_phtrans` is a translation file to convert between eSpeak NG phonemes and
the equivalent Mbrola phonemes. the equivalent Mbrola phonemes.


Binary `xxN_phtrans` files are kept in `espeak-ng-data/mbrola_ph` folder Binary `xxN_phtrans` files are kept in `espeak-ng-data/mbrola_ph` folder
voice compilation. voice compilation.


Additionaly Mbrola voice definition file can have other optional parameters, Additionaly Mbrola voice definition file can have other optional parameters,
similar to eSpeakNG voices, which are described [Voices](voices.md) file.
similar to eSpeak NG voices, which are described [Voices](voices.md) file.


### 2. Add Mbrola phoneme translation file ### 2. Add Mbrola phoneme translation file


Mbrola phoneme translation files specify translations from eSpeakNG
Mbrola phoneme translation files specify translations from eSpeak NG
phoneme names to mbrola phoneme names. phoneme names to mbrola phoneme names.


The source phoneme translation files are in `.../phsource/mbrola` folder and The source phoneme translation files are in `.../phsource/mbrola` folder and


_Note:_ _Note:_


* eSpeakNG phonemes are referenced from voice files in `phsource` folder of particular language e.g.
* eSpeak NG phonemes are referenced from voice files in `phsource` folder of particular language e.g.
`ph_english` and/or general `phonemes` file. `ph_english` and/or general `phonemes` file.


* Mbrola phonemes are usualy listed in `xxN.txt` file of Mbrola voice. * Mbrola phonemes are usualy listed in `xxN.txt` file of Mbrola voice.
bit 6 (+64) only at the end of a word bit 6 (+64) only at the end of a word


* `<espeak ph1>` \ * `<espeak ph1>` \
The eSpeakNG phoneme which is to be translated to an mbrola phoneme.
The eSpeak NG phoneme which is to be translated to an mbrola phoneme.


* `<espeak ph2>` \ * `<espeak ph2>` \
If this field is not `NULL`, then the match only occurs if If this field is not `NULL`, then the match only occurs if
gives the percentage length of the first mbrola phoneme. gives the percentage length of the first mbrola phoneme.


* `<mbrola ph1>` \ * `<mbrola ph1>` \
The mbrola phoneme to which the eSpeakNG phoneme is translated. This
The mbrola phoneme to which the eSpeak NG phoneme is translated. This
field may be `NULL`. field may be `NULL`.


* `<mbrola ph2>` \ * `<mbrola ph2>` \


The list is searched from start to finish, until a match is found. The list is searched from start to finish, until a match is found.
Therefore, a line with more specific match condition should appear Therefore, a line with more specific match condition should appear
before a line which matches the same eSpeakNG phoneme but with a more
before a line which matches the same eSpeak NG phoneme but with a more
general condition. general condition.


__Note:__ __Note:__


You can get list (and descriptions) of defined phonemes for particular eSpeakNG language
You can get list (and descriptions) of defined phonemes for particular eSpeak NG language
by entering command in `phsource` folder: by entering command in `phsource` folder:


egrep "^phoneme " phonemes ph_english|cut -d$' ' -f2-|sort egrep "^phoneme " phonemes ph_english|cut -d$' ' -f2-|sort
where `xxN` is Mbrola voice name. where `xxN` is Mbrola voice name.


`Makefile.am` is build configuration file which should be extended, to include automatic compilation `Makefile.am` is build configuration file which should be extended, to include automatic compilation
of newly added Mbrola voice for eSpeakNG.
of newly added Mbrola voice for eSpeak NG.


Search for `mbrola: \` line in `Makefile.am` and add additional line for newly created Mbrola voice, e.g.: Search for `mbrola: \` line in `Makefile.am` and add additional line for newly created Mbrola voice, e.g.:



Loading…
Cancel
Save