espeak-ng / espeak-ng

eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
GNU General Public License v3.0
4.26k stars 909 forks source link

--pho command line argument doesn't seem to work on Windows #307

Open tady159 opened 7 years ago

tady159 commented 7 years ago

I am using espeak-ng version 1.49.2 on Windows 10 and tried to use the argument --pho to check its output. A simple command that I've tried is espeak-ng "hello world" --pho For me, espeak-ng only outputs the audio data, with no text output, which would correspond to the .pho data to my stdout. --phonout leaves an empty file.

valdisvi commented 7 years ago

This is reproducible on Linux also.

rhdunn commented 7 years ago

You need to specify one of the mbrola voices, e.g.:

src/espeak-ng "hello world" --pho -v mb-en1

The program should really report a sensible error message if the voice does not support --pho output.

tady159 commented 7 years ago

I didn't know I should specify an mbrola voice. Maybe this should be added to the --help output? For now, I'm having trouble to specify the desired voice. All I get is Error: The specified espeak-ng voice does not exist. I'm not sure if espeak-ng has the mbrola voices bundled with it, or if I should install them by myself manually. In any case I have already installed mbrola and registered a few voices (en1 being one of them), but I still don't know how to make espeak-ng find it.

messersm commented 7 months ago

A little late to the party, but if anyone else comes across this: Just came across this myself. You can find mbrola voices here: https://github.com/numediart/MBROLA-voices

There are install instructions for Windows in the README, basically you copy the voice data into C:/Program Files/eSpeak/espeak-ng-data/voices/mb.

According to this something like sudo apt-get install mbrola mbrola-en1 could work under (apt-based) Linuxes.

However on Windows then I got:

C:\>espeak-ng -v en1 cat
Bad voice attribute: MBROLA2.060D
Bad voice attribute: A:
Unknown phoneme table: ''

This is also documented here where it is unanswered, and since this was the only search engine result I guess, I'm trying espeak and mbrola on Linux next.