Voice Over

People ask this as

What this page is

Voice → Voice Over reads donations, chat and bot replies out loud. The line under the title says where the sound comes from: "Synthesis runs on this machine — no internet, no limits".

How to set it up

The page has three tabs — What to speak, Rules, Sound in OBS — and one Save button at the top right for all of them.

The voice itself is not on this page. Which voice reads what, the voice pack, speed, volume and the queue limit live on Voice → Voices, because the app speaks with more than this module: scenarios and the assistant use the same mouth. See the the Voices article article. The queue itself, with Skip and Stop and clear, is the Voice over: Queue tile on the control panel.

What to speak

Everything is off on a fresh install, and the app stays silent until you switch something on and press Save. That is the step people miss: the voices download, Listen speaks, and the stream still hears nothing, because nothing has been switched on yet. The switches are stored by Save like everything else — the only exception is Which sources count under Donations, whose checkboxes take effect on their own.

Five blocks, each with a switch. Under the name of the block it says Reads out loud or Off, and a block that is off hides its own settings.

  1. DonationsMinimum amount: "Compared in your base currency, so a donation in another currency is judged correctly. Zero reads every donation." Template starts as "{user} donated {amount} {currency} and says: {message}" and takes {user}, {amount}, {currency}, {message}. Which sources count is a checkbox per installed donation connector; these take effect without Save.
  2. ChatRead is either On command only or Every message ("Every message turns into noise on a busy chat — that mode is for small streams"), and Command holds the command itself, !tts by default. The command works in both modes: it is a request to read something out, so "Every message" does not swallow it. Pause between lines is in seconds, 3 by default, counted per viewer. Template starts as "{user} says: {message}".
  3. What the bot writes in chat — five separate switches: AI agent answers, Answers to chat commands, Timers, Scenario messages, Stream announcements. Separate because the choices differ: answers to commands can stay text while the assistant speaks, or the other way round. What you type in the chat tile yourself is never read — with one exception, the voice-over command above, which is a request rather than a remark.
  4. Channel point rewards — the message a viewer typed together with the reward, read with its own template rather than as ordinary chat. Template takes {user}, {reward}, {message}. Which rewards to read starts with Everything with a message; untick it to pick rewards one by one, and the list can be sorted by cost or by name. Nothing ticked means nothing is read. Twitch's own purchases — Highlight My Message and Send a Message in Sub-Only Mode — are in the list too, marked as built-in.
  5. SubscriptionsSubscription template starts as "{user} subscribed for {months} months" and takes {user}, {months}, {tier}, {message}; Gifted subs template starts as "{user} gifted {count} subscriptions" and takes {user}, {count}, {tier}. The person who *received* a gifted subscription is a separate case, and off by default: Read out gift recipients too. A gift of fifty subscriptions is fifty lines in a second, and the gift itself has already been announced by the line above. Switch it on and each recipient gets Gift recipient template — "{user} got a gifted subscription from {gifter}" — instead of the subscription line, which would have claimed they subscribed themselves. Where the platform does not name the giver — an anonymous gift, or YouTube, which hides it inside its own announcement — {gifter} becomes "someone".

Rules

  1. LengthLength limit in characters, 300 by default ("Characters. Zero means no limit"), and When it is too long: Trim it or Skip the whole message.
  2. FiltersCut links out, on by default: "Otherwise a viewer pays to have the bot read a website address into your stream." Blocked words, one per line: "A message containing any of these is not spoken at all. Whole words, not parts of them." Blocked viewers, one nickname per line.
  3. Queue — the queue limit moved to Voice → Voices, because the queue is now shared by everything the app says, not by this module alone.

Sound in OBS

The tab is the instruction itself, under How to get the voice on stream: "In OBS: Sources → + → Application Audio Capture, and pick strAImer in the window list", then "Set the volume in the app: Settings → Sound, slider Voice (TTS)", then "Press Listen next to any role on the Voice → Voices screen and watch the source meter in the OBS mixer". One source covers everything the app plays — voice, alerts and scenario sounds go through it.

The second section, The voice overlay is no longer needed, asks you to delete the browser source of the voice overlay: it no longer plays anything, because "OBS puts a browser source to sleep in silence and loses the beginning of the audio, which is why playback moved into the app". The last section, If it stays silent, lists the three things to look at: the capture source in the OBS mixer, the volume in Settings → Sound, and the state strip at the top of this page.

What it cannot do