In-Game Text-to-Speech
Socially Distant is a game that involves a lot of text and a lot of reading. Some players with vision problems may find this difficult or annoying. Therefore, the game supports in-game text-to-speech using your operating system's built-in speech synthesis service. If enabled in System Settings, you can read any text element in the in-game UI by middle-clicking it.
Will my screen reader work with Socially Distant?
The short answer is no. The slightly-more-accurate but still-short answer is, it's complicated.
Why can't my screen reader read Socially Distant?
Socially Distant, like most games, uses a custom in-engine UI system built specifically for the game and its underlying game engine. Because of this, your screen reader quite literally has no idea what the game is doing.
Even if it did, screen readers fundamentally change the way you interact with a computer. The game is not designed, from a gameplay perspective, for the way screen readers generally work. Certain fast-paced hacking encounters would be hampered by the use of a screen reader, which would put you at a disadvantage as a player.
If you're a programmer and still interested in the game's UI system supporting screen readers in general, then a merge request is welcomed. It's just not something feasible to implement due to the gameplay and game design challenges involved. We realize that this means some players will not be able to play the game, but we hope that in-game text-to-speech is a decent compromise.
How to use in-game TTS
If supported on your platform, then in-game TTS will be turned on by default. Simply hover your mouse over any UI element and middle-click it. You can also read selected text aloud in the Terminal and Text Editor by middle-clicking while text is selected.
Did you know? You can also use the in-game
say
command to speak any string of text aloud.
How do I turn off in-game TTS?
In-Game TTS and other accessibility features can be found in System Settings -> Accessibility.
Setting up TTS support
As stated previously, if text-to-speech is supported on your platform and the game is able to communicate with your OS's speech engine, you do not need to do anything to set it up. You can test the in-game speech service by going to System Settings -> Accessibility and selecting the Test Speech Synthesis option. An audible message will be read aloud, otherwise an error message will be shown.
If you test the speech service using the in-game say
command, and the speech service is malfunctioning, you will get a "Speech service is unavailable" error.
If the speech service isn't working, or the "Test Speech Synthesis" option is unavailable, proceed to the Troubleshooting section.
Troubleshooting
"Text-to-speech is not supported on your platform" in System Settings
This message appears if Socially Distant doesn't have a speech backend that supports your platform. This will only happen if you run a Linux build of the game on Windows, or run a Windows build of the game on Linux via Wine. Please make sure you run the native build of the game for your platform.
"Cannot find /usr/bin/spd-say
" on Linux
If you've just tried to test speech synthesis on Linux and got an error about being unable to execute /usr/bin/spd-say
, here's how to fix that.
On Linux, Socially Distant expects speech-dispatcher to be installed and set up on your system. Most distributions ship this package by default, some do not. Please install either the speech-dispatcher
or speechd
package for your distribution, and ensure that the speech-dispatcher service is enabled and running.
If speech-dispatcher is set up correctly, you should hear the following message when you click "Test Speech Synthesis" in System Settings:
Hello world. If you can hear this, then Socially Distant is able to communicate with your operating system's speech synthesis engine and no further configuration is required.
Linux: Speech Dispatcher is installed, but no speech synthesis engine is available
When Socially Distant tries to read text aloud, you may hear a dummy message telling you that "Speech Dispatcher is working correctly but no speech synthesis engine is available."
Typically, this will happen if you either have no compatible TTS engines installed or if you have multiple installed and Speech Dispatcher doesn't know what to use. If you're unsure, you can try installing espeak
for a basic robotic TTS voice.
Use the spd-conf
command to tell Speech Dispatcher which speech engine to use, then try testing speech synthesis in-game again.