Open cerulis64 opened 3 years ago
Does discord on Linux even support Text to Speech?
Not sure.
It's not supported on Linux, see here : https://www.reddit.com/r/discordapp/comments/idyqrh/help_getting_tts_text_to_speech_to_work_on_linux/gabfrb9/
Closing.
So it turns out, discord just uses the WebSpeech api. This is cross-platform, so there is no reason why it should not work on linux. However, it is disabled in chromium for unknown reasons, probably so people use the proprietary voice synthesis implemented in Google's Chrome builds. However, I can get it to work using the --enable-speech-dispatcher
argument.
I'm not familiar enough to figure out how to do this inside of flatpak myself unfortunately. I tried adding the flag and xdg-run/speech-dispatcher:ro
to the filesystems but it does not seem to help. But either way it should definitely be possible, despite what Discord says. Maybe this issue could be reopened to get some more eyes on it?
I've tried making it work with no success. It seems adding espeak-ng and this flag is not enough to make it work. It may be related to https://github.com/electron/electron/issues/22844 or other electron issues, I can't really figure it out.
libspeechd has now been added to the electron BaseApp so this is as simple as adding a permission and command line flag (users will still need speech-dispatcher installed on the host)
see https://github.com/flathub/org.electronjs.Electron2.BaseApp/pull/59 and https://github.com/flathub/dev.vencord.Vesktop/pull/20/files
Thank for the heads-up. I got it working. While trying to get this to work, I did unfortunately stumble on this: https://bugzilla.redhat.com/show_bug.cgi?id=2284507
So unfortunately, this will not work on Fedora for now.
In the right click menu on a message, there is an option that reads "Speak Message". Clicking this button is supposed to cause the message to be read out loud, but clicking it does nothing. Channel wide text to speech also does not work. My guess is that the package does not include espeak causing text to speech to not have any sound output.