Vfinity2.0 α
On stream

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.

6
voice providers, one of them free
500
voices in a provider's random pool
1–50
messages waiting, at most

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.

SpeechWhere to set it
Chat, and alerts read aloudVolume and Speed under How chat sounds, in Chat TTS
Events linesVolume and Speed under Events lines, in SettingsAudioVoice
One speech stepTurn 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

ProviderWhat it needs
Microsoft EdgeNothing. Free voices, ready to use.
ElevenLabsYour API key
SpeechifyYour API key
MurfYour API key
CartesiaYour API key
Fish AudioYour 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.

Try it
Laughs

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.

Laugh styles16 of 17 on

Reads: ตลกมาก ฮ่าฮ่า

Pick a message, or type your own. Turn laugh styles on and off to see what changes.

Laugh styles turn on one language at a time. Try picking a sample message to see how it is read.
  • 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:

SettingWhat it does
Banned words and phrasesMatches 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 linksWeb addresses, bare domains, e-mail addresses and "example dot com".
Banned word or linkSkip the message, or Read the rest with them cut out.
Muted usersViewers who are never read.
Read only messages that start with a commandViewers type !tts hello and only "hello" is read.
Who can be readLimit reading to viewers with certain roles, or to gifters.
Read only viewers who sent a giftCounts 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 mostThe queue, from 1 to 50 (5 to start).
When the queue is fullDrop 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:

This app

Speech plays through this computer. Capture it in OBS, or choose its speaker in SettingsAudio.

OBS audio source

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.

The OBS audio source is a Browser Source like any widget, but it draws nothing.

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.