nvda icon indicating copy to clipboard operation
nvda copied to clipboard

Feature Request: Compile Mbrola phonemes in Espeak-ng

Open FelipeZanabria opened this issue 2 years ago • 5 comments

Is your feature request related to a problem? Please describe.

Yes. In previous versions before Espeak-ng it was possible to copy the Mbrola files to Espeak and use the voices.

Describe the solution you'd like

Compile the Mbrola phonemes in the makefile.an file and include in NVDA, both the .phtrans files and the Voices/Mb folder with the voice files, (mb-br1, mb-en1 etc).

Describe alternatives you've considered

Another alternative is to use the old version of Espeak for sapi5, but this does not allow portability like NVDA. To use it you have to:

  1. Download Espeak from https://espeak.sourceforge.net/download.html
  2. Download the Mbrola release from https://github.com/numediart/MBROLA/releases/tag/3.3
  3. Download at least one Mbrola voice from https://github.com/numediart/MBROLA-voices
  4. Install Espeak. When requested, fill out the editing fields with the voice or voices to install. For example: en1 corresponds to mb-en1.
  5. Copy the downloaded voice(s) to c:\program files\Espeak\espeak-data\mbrola
  6. Unzip the Mbrola zip, find the mbrola.dll file and copy it to c:\Windows
  7. Switch to sapi5 and search for the newly installed voice.

Additional context

In versions of NVDA that used espeak, it was possible to use Mbrola by doing step 5, following the Espeak folder structure in NVDA_root\synthDrivers. For a portable copy, it was necessary to find the Mbrola dll in the installation folder and copy it to the NVDA root. Different from the old closed source version of Mbrola, this open source version does not disrupt NVDA by asking you to accept the license agreement. With this versions of NVDA there was also a problem that NVDA did not change the sample rate with 16 khz voices, which could now be solved by using the argument extracted from the Espeak-ng c header file: ESPEAK_API int espeak_GetSampleRate(void); To change the sample rate when changing the voice.

FelipeZanabria avatar Jun 24 '22 02:06 FelipeZanabria

This is not something we plan on introducing.

seanbudd avatar Jun 24 '22 02:06 seanbudd

i tested with nvda 2017.2 or 2017.3 and confirm your observation.

zahra21 avatar Aug 09 '22 17:08 zahra21

I have updated the comment to follow the template.

FelipeZanabria avatar Sep 28 '23 23:09 FelipeZanabria

The addon located on https://github.com/FelipeZanabria/Espeak-wit-Mbrola closes #13840

FelipeZanabria avatar Nov 02 '23 22:11 FelipeZanabria

This is not in NVDA core yet, please keep it open

seanbudd avatar Nov 02 '23 22:11 seanbudd