Discord text to speech: how /tts works, how to turn it off and fix it
Discord has a built-in text to speech command: type /tts before a message and it is read aloud. Two separate settings decide whether you can send such messages and whether you hear them, which is why /tts so often seems not to work.
This guide explains both settings according to Discord’s own help article, the usual fixes, and what to do when you want something /tts cannot do: other voices, or speech in a voice channel.
How to send a /tts message
Type /tts and then your sentence, for example: /tts Discord is pretty awesome. Discord reads it on the devices of the people who have text to speech turned on. The voice is not chosen in Discord: it comes from the platform each listener uses, so a browser, Windows and macOS sound different.
Turn hearing text to speech on or off
Open User Settings, then Notifications, then Text-to-Speech. There are three choices: For all channels reads messages in every channel of every server, even without /tts, so use it with care; For current selected channel reads the text channel you have open; Never stops all text to speech for you. This is the setting to change when someone spams /tts.
Turn the /tts command on or off
Open User Settings, then App Settings, then Accessibility. Here you allow or block playback and use of the /tts command and set the text to speech rate. This setting is separate from Notifications: if your friends hear text to speech for a channel, they hear your /tts messages whatever you choose here, and if they turned it off, they never hear them.
When /tts does not work
Nobody hears your message: their Notifications setting is Never or another channel. Your /tts is not read: check Accessibility, and ask whether the server allows the Send Text-to-Speech Messages permission in that channel. It sounds odd or robotic: that is the system voice of the listener’s device or browser, not something Discord sets.
Custom voices and speech in voice chat
/tts never speaks inside a voice channel and cannot use other voices. For that, servers use a TTS bot: it joins the voice channel and reads messages there for everyone in the call. You can build one with any voice from the SuperClonica catalog, characters, narrators or announcers: in Python with the free offline engine or through the API, or in discord.js through the API. For one-off soundboard clips, voice a line on a voice’s page for free and upload it.