brailcom/speechd

Use Festival as a default speech synthesizer instead of eSpeak

Opened this issue · 3 comments

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

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.

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?

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:

  • Set LogLevel to 5 in your /etc/speech-dispatcher/speechd.conf
  • Restart your computer to make sure it gets taken into account
  • Reproduce the issue
  • Make a copy of the speech-dispatcher.log file, it is usually found in /run/user/1000/speech-dispatcher/log. Also make a copy of yourspeechmodule.log (e.g. espeak-ng.log).
  • Set LogLevel back to 3 in your /etc/speech-dispatcher/speechd.conf
  • Attach the speech-dispatcher.log and yourspeechmodule.log file to your bug report.
  • Also attach your speechd.conf file and yourspeechdmodule.conf file.