RetroArch icon indicating copy to clipboard operation
RetroArch copied to clipboard

Change espeak to speech-dispatcher

Open viachaslavic opened this issue 8 months ago • 5 comments

Use a high-level speech-dispacher as the linux narrator. It supports many TTS engines, including eSpeak. It allows to use the preferred TTS engine that is may already be configured in the system/user environment.

viachaslavic avatar Apr 01 '25 11:04 viachaslavic

Any downsides with us moving over to this? Will it break some people's setup that relied on espeak instead?

LibretroAdmin avatar Apr 01 '25 12:04 LibretroAdmin

Those who have only espeak will need to install speech-dispatcher (default config should pick up the espeak module). However, for those who widely use the voice synthesizer, it will most likely be installed in the system.

viachaslavic avatar Apr 01 '25 14:04 viachaslavic

Is there a way to support both?

LibretroAdmin avatar Apr 02 '25 23:04 LibretroAdmin

I say if you can put in a setting where you can select between espeak and speak-dispatcher so that we can retain the ability to use either of them then that is a PR I could merge. Unless there's a better way to do that without a setting but I could see that as being a compromise

LibretroAdmin avatar Apr 13 '25 13:04 LibretroAdmin

We could enable speech-dispatcher and add to the changelog that you have to install espeak module for speech-dispatcher to keep compatibility.

Currently, RA supports only espeak on Linux/Unix but with speech-dispatcher we can get access to other TTS engines for "free".

Moreover, speech-dispatcher is packaged for a lot of distributions and for example on Debian it is used more than espeak(-ng). Source.

gouchi avatar Jun 24 '25 14:06 gouchi

Sorry for the delay, I don't have much free time right now. I added an engine selection item to the menu with restricted the visibility to Linux only at this stage. The code is working, but may not be very neat and may require refactoring. Perhaps in the future, if we widely use the many engines API, it will be appropriate to use the driver concept for the narrator, similar to sound, video, etc.

P.S. these changes should not affect users who are currently using eSpeak

viachaslavic avatar Jun 25 '25 21:06 viachaslavic

I hope the retroarch guys pull your pull request, this is badly needed.

kendell-clark avatar Aug 18 '25 21:08 kendell-clark