Skip to content

Conversation

viachaslavic
Copy link
Contributor

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.

@LibretroAdmin
Copy link
Contributor

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

@viachaslavic
Copy link
Contributor Author

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.

@LibretroAdmin
Copy link
Contributor

Is there a way to support both?

@LibretroAdmin
Copy link
Contributor

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

@gouchi
Copy link
Member

gouchi commented Jun 24, 2025

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.

@viachaslavic viachaslavic force-pushed the speech-dispatcher branch 4 times, most recently from 87a0c47 to 91491d6 Compare June 25, 2025 21:39
@viachaslavic
Copy link
Contributor Author

viachaslavic commented Jun 25, 2025

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 viachaslavic force-pushed the speech-dispatcher branch 3 times, most recently from b8477ee to d30e8cf Compare June 25, 2025 22:17
@viachaslavic viachaslavic changed the title Change espeak to speech-dispatcher Add speech-dispatcher support (linux-only for now) Jun 25, 2025
@viachaslavic viachaslavic marked this pull request as ready for review June 25, 2025 22:43
@kendell-clark
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants