Text to speech
Read chat and alerts aloud, give viewers voices of their own, and keep it clean
Text to speech reads your chat aloud, and your alerts too if you like. Use the free Microsoft Edge voices, or your own account with a paid provider, and give each viewer a voice of their own.
Turn on text to speech
Switch it on
On the Overlay tab, find Chat TTS and turn on its switch. It reads chat from every connected platform: TikTok LIVE, Twitch, Kick and YouTube.
Choose a voice
Go to SettingsAudioVoice, or click Configure on Chat TTS and then Voice settings. Pick a Provider and a Voice. Edge works straight away with no account; for a paid provider, paste your API key first so its voices load.
Test it
Click Test next to the voice. The test always plays here in the app, never in OBS, so viewers do not hear it.
The Voice card holds the one voice everything speaks with: chat, alerts read aloud and the lines your events speak. Pitch is there for Edge and Murf; the other providers have no pitch control.
Set the volume and speed
Chat and Events each have their own volume and speed, so the lines your events speak can sound louder or faster than chat.
| Speech | Where to set it |
|---|---|
| Chat, and alerts read aloud | Volume and Speed under How chat sounds, in Chat TTS |
| Events lines | Volume and Speed under Events lines, in SettingsAudioVoice |
| One speech step | Turn on Own volume and speed in the step |
A step without its own volume and speed uses the Events lines' settings. Speed works where the provider allows it. In a Quick Deck pad, Pad volume scales spoken lines as well as sounds.
Pick a provider
| Provider | What it needs |
|---|---|
| Microsoft Edge | Nothing. Free voices, ready to use. |
| ElevenLabs | Your API key |
| Speechify | Your API key |
| Murf | Your API key |
| Cartesia | Your API key |
| Fish Audio | Your API key. Your own cloned and private voices are listed first, and you can search the whole catalogue by name. |
Some providers also take a Model ID; choose a suggestion, such as ElevenLabs' Eleven v3 or Eleven v4, or type your own. If a Fish Audio voice is missing from the list, paste its ID in Custom voice ID. Paid providers bill for every character they read, alerts included.
Choose what gets read
In Chat TTS, under What gets read:
- Read the sender’s name reads "name says message".
- Skip ! and / commands leaves out chat commands.
- Skip emoji-only messages leaves out messages with nothing to say.
- Read emote names reads emotes by name, and is on to start. Turn it off to read only the text and skip messages that are only emotes.
- Max characters cuts long messages short (200 to start).
Read alerts aloud also speaks your gift, follow, share, like, subscription and raid alerts in the main voice. See Alerts.
Read laughs as laughs
When chat types a laugh such as 555, www, ㅋㅋㅋ or jajaja, the voice laughs instead of reading out the letters. Open Laughs in Chat TTS and turn on Read chat laughs as a laugh; it is on to start.
How the voice laughs depends on the voice. Fish Audio, Cartesia Sonic 3 and ElevenLabs' Eleven v3 and v4 use a real laugh sound. Other voices say the laugh instead, such as haha or jaja, in the voice's language where it is known, and the section tells you which your voice does.
Microsoft Edge (free) has no laugh sound with this voice, so it says the laugh instead (haha, ฮ่าฮ่า, jaja), in the voice's language where it is known.
Reads: ตลกมาก ฮ่าฮ่า
Pick a message, or type your own. Turn laugh styles on and off to see what changes.
- Laugh styles covers 17 languages and countries, each writing a laugh its own way. Turn on the ones your chat uses, or use All and None; rest the pointer on a style to see everything it catches. English starts off, since people also say "lol" aloud.
- Your own laughs adds up to 30 more. Type one beat of the laugh and how many times in a row it must appear: "5" three or more times catches 555 and 55555. Leave Read as empty for the voice to laugh, or type what it should say instead.
- Try a message shows how a line you type will be read, laughs and all.
With no style on and none of your own, every laugh is read as written.
Give viewers their own voices
Under Voices, Voices for single viewers gives one viewer a voice you pick. Turn on Give every other viewer a voice from the pool and each new viewer is given a voice from the Voice pool the first time they are read, and keeps it.
Build the pool by searching by name, language or ID, and filter by Language and Voice type. Once every voice in the pool is taken, new viewers are read in the main voice until you add more. Each provider keeps its own lists.
Click Who has which voice to see every viewer's voice. Preview a voice, give a viewer a different one, or free it back to the pool. A voice you assigned yourself is marked Pinned and stays assigned.
Keep it clean
The Moderation section decides what never gets read:
| Setting | What it does |
|---|---|
| Banned words and phrases | Matches whole words, so "hell" does not catch "hello". Thai, Chinese, Japanese and Korean match anywhere. |
| Catch disguised spellings (sp4m, $pam, spaaam) | Catches banned words written around the filter. |
| Block links | Web addresses, bare domains, e-mail addresses and "example dot com". |
| Banned word or link | Skip the message, or Read the rest with them cut out. |
| Muted users | Viewers who are never read. |
| Read only messages that start with a command | Viewers type !tts hello and only "hello" is read. |
| Who can be read | Limit reading to viewers with certain roles, or to gifters. |
| Read only viewers who sent a gift | Counts gifts since the app joined this LIVE. |
| Minimum letters (0 = off) | Skips very short messages. |
| Seconds between one viewer’s messages (0 = off) | A cooldown for each viewer. |
| Messages waiting, at most | The queue, from 1 to 50 (5 to start). |
| When the queue is full | Drop the oldest or Drop the newest. |
A viewer whose name has a banned word or a link is read as "Someone".
Try a message shows what would be read for a line you type, and why a message would be skipped.
Play speech in OBS
Play TTS in, on the Where sounds play card in SettingsAudio, chooses where speech plays:
Speech plays through this computer. Capture it in OBS, or choose its speaker in SettingsAudio.
Speech plays only inside an invisible OBS Browser Source, so it reaches the stream through the OBS mixer. Nothing plays in the app.
This app and OBS plays both; if OBS also captures your desktop audio, viewers hear every message twice.
For the OBS audio source, click Copy URL under OBS audio source, add it to OBS as a Browser Source, and tick Control audio via OBS. Adding it twice is safe: only one copy plays. To use it in several scenes, add the same source to each with Add Existing instead of making copies.
Nothing heard in OBS?
While TTS is set to play only in OBS and no OBS audio source is connected, chat and alerts are not read at all, so a paid voice never bills for silence. Vfinity tells you once.
Control speech while you are live
The Chat TTS card shows how many messages are waiting. Its settings, and its
right-click menu, have Skip for the message being read and Clear for
everything waiting. From a hotkey or an action step, tts.skip
skips a message, tts.clear clears the queue and tts.toggle turns TTS on or
off. Skip speech is one of the Quick Deck's starter pads.