brailcom / speechd

Common high-level interface to speech synthesis
GNU General Public License v2.0
231 stars 67 forks source link

Use Festival as a default speech synthesizer instead of eSpeak #854

Open iTzVoko opened 1 year ago

iTzVoko commented 1 year ago

Steps to reproduce

Edit /etc/speech-dispatcher/speechd.conf file, uncomment the following line:

#AddModule "festival"                 "sd_festival"  "festival.conf"

Restart the speech-dispatcher service`:

sudo service speech-dispatcher restart

Obtained behavior

The following error occurs:

Job for speech-dispatcher.service failed because the control process exited with error code.
See "systemctl status speech-dispatcher.service" and "journalctl -xeu speech-dispatcher.service" for details.

I checked systemctl status speech-dispatcher.service and journalctl -xeu speech-dispatcher.service, but they gave me the same error info, that is: speech-dispatcher.service failed because the control process exited with error code.

Expected behavior

I expected to hear a speech produced from festival instead of espeak when running:

spd-say "Hello, World!"

But the service didn't work already when I restart it.

Behavior information

Nothing worked.

Distribution

Debian GNU/Linux 12 (bookworm)

Version of Speech-dispatcher

0.11.4

sthibaul commented 1 year ago

Edit /etc/speech-dispatcher/speechd.conf file, uncomment the following line:

AddModule "festival" "sd_festival" "festival.conf"

Do you run festival --server alongside speech-dispatcher? festival doesn't work as a library, you have to start the server.

iTzVoko commented 1 year ago

Edit /etc/speech-dispatcher/speechd.conf file, uncomment the following line:

AddModule "festival" "sd_festival" "festival.conf"

Do you run festival --server alongside speech-dispatcher? festival doesn't work as a library, you have to start the server.

I knew that now, from you. It worked first when I ran festival --server, and spd-say "Hello" in another terminal window, I think. But now, it doesn't receive any speech synthesis request.

FYI, I want to do that in the browser mainly, when I play or create a Ren'Py game, for example, I press v to enable the speech synthesizer, but it says the dialogue using eSpeak instead of Festival.

So how do I use Festival instead of eSpeak when playing Ren'Py game on the browser, for example.

They mention that they use eSpeak on Linux distros in their self-voicing documentation:

Linux On Linux, Ren'Py uses the espeak command. Espeak may need to be installed using your package manager before self-voicing mode will work.

But how do I change that, can I?

sthibaul commented 1 year ago

now, it doesn't receive any speech synthesis request

Ok, then as requested in the bug form template:

Behavior information

Please follow the next step, to provide us with precious information about how things went wrong on your machine: