TTS Chat

Read viewer chat out loud in BakoshApp — voices, triggers, audience rules, filters and the activity panel. PRO only, works on TikTok and Kick.

Info
Diese Seite wurde noch nicht ins Deutsch übersetzt – es wird das englische Original angezeigt.
PRO-only feature

TTS Chat is available on the PRO and MAX plans and works on both platforms — TikTok and Kick.

TTS Chat reads viewer messages out loud with a synthetic voice. The audio plays inside the app, so OBS and TikTok Live Studio pick it up together with the rest of your desktop sound — there is no separate browser source or audio device to set up.

The tab sits on every mod page, third in the row: Manage Mod · Actions · TTS Chat · Overlay.

The settings are global, not per mod

TTS settings belong to your account, not to a mod. Open the tab from GTA V KOTH or from a custom integration and you are editing the same thing — banned words, special users and the chosen voice are set up once and apply everywhere.

Turning it on

  1. Open any mod page → TTS Chat → the Voice sub-tab.
  2. Switch on Enable TTS. Nothing is read while this is off.
  3. Switch on the platforms whose chat you want read: Read TikTok chat and/or Read Kick chat.
  4. Pick a voice with Change next to Default voice.
  5. Use Test under Try a message to check it. The test runs your whole filter chain, not just the voice — so it also tells you whether your own rules would have skipped the message.
Kick needs a reconnect after enabling TTS

Chat subscriptions on Kick are requested at connect time. If Kick was already connected when you enabled TTS, disconnect and reconnect it in the app header — otherwise no chat events arrive at all. The app shows a warning on the page when it detects this.

Voice

  • One voice for everyone — every message is read by the same voice.
  • Voice pool — a voice is picked per message. One voice per viewer makes each viewer keep the same voice instead of changing every message.
  • The catalog opens with Change: voices are grouped by language, each row shows the country flag, and there is search, a gender filter and a favourites filter. Listen plays a sample.
  • Speed, pitch and volume tune the delivery.
  • A saved voice that disappears from the catalog is shown in an Unavailable group with a prompt to replace it — your choice is never dropped silently.

Triggers — what gets read

SectionWhat it does
Chat messagesReads chat. Three modes: Any message; Prefix — only messages starting with a character; Command — only messages starting with a command. The prefix or command itself is not read out.
GiftsSpeaks a line when a gift arrives. Thresholds are separate per platform: Minimum diamonds (TikTok) and Minimum Kicks (Kick).
Other eventsFollows, subscriptions and shares (Share is TikTok-only).

Gifts and events have their own spoken-text template; the template for chat messages lives on the Advanced sub-tab.

Audience — who gets read

  • Everyone — any viewer.
  • Only selected — the viewer must match at least one check: followers, friends, subscribers, moderators, has sent a gift, or a minimum fan-club level.
Checks marked “TikTok only” never match on Kick

Kick does not report followers, friends, gifting history or fan-club level in any event, and subscriber/moderator status only appears as chat badges. If Only selected is on with exclusively TikTok checks while Kick chat is enabled, Kick chat will never be read — the app warns you about exactly this case.

Filters — what gets cleaned or skipped

  • Maximum message length — longer messages are skipped entirely rather than cut off; half a sentence sounds like a bug.
  • Per-viewer cooldown — seconds between messages from the same viewer. 0 turns it off.
  • Clean up the text — collapse repeated characters (aaaaaaaaaa), remove @mentions, remove links, remove emoji, skip commands (messages starting with !).
  • Writing systems — read only messages written in the alphabets you tick.
  • Banned words — matched anywhere in the message, case-insensitive. Either skip the message or censor the word to *** and read the rest. The banned list also applies to the nickname, otherwise an insult could simply be put in a display name.
The transliteration trap

The writing-system filter is about alphabets, not languages — telling English from German needs a language model, telling Latin from Cyrillic does not. So if you tick Cyrillic and leave Latin unticked, everything typed in Latin letters is skipped, including transliterated messages like "privet". The app shows a warning in exactly that configuration.

Advanced — template, queue, special users

  • Message template — what is actually spoken for a chat message. Available variables are listed next to the field; clicking one inserts it at the cursor.
  • Queue — messages are read one at a time. You set the maximum queue length and what happens when chat outruns the voice: Drop new messages (keeps order, ignores the flood) or Drop old messages (stays closer to live).
  • Whitelist — if it isn't empty, only those viewers are read.
  • Special users — per-viewer rules: block someone, or let them bypass filters (ignores triggers, filters and cooldown, and jumps the queue).

Why a message wasn't read — the activity panel

At the bottom of the page, Recent activity lists the app's latest decisions with a reason. With a filter chain this long, that panel is the fastest way to diagnose anything.

ReasonWhat it means
TTS is off · This platform is offThe master toggle or that platform's toggle is off.
PRO requiredNo active PRO/MAX subscription.
Chat reading is off · This trigger is offThe matching trigger is disabled on the Triggers sub-tab.
No prefix · No commandPrefix/Command mode is on and the message didn't start with it.
Viewer does not match the audienceThe Audience rules excluded that viewer.
Writing system not allowedThe message's alphabet isn't ticked in Filters.
Banned wordYour banned list matched.
Too long · Nothing left after filteringOver the length limit, or nothing remained after stripping emoji/links.
CooldownThat viewer was read too recently.
Queue was fullChat is arriving faster than it can be read.
Monthly limit reached · Hourly limit reachedThe synthesis character limit is exhausted.
The chosen voice was rejectedPick a different voice.
Speech service unavailable / throttlingA temporary problem on the synthesis service.

Common issues

Nothing is read at all. Check in order: active PRO subscription → Enable TTS → the platform toggle → the platform actually connected in the header → the chat trigger enabled. The activity panel names the exact reason.

TikTok works, Kick doesn't. Reconnect Kick — chat subscriptions are set up at connect time.

Only some messages are read. Usually the per-viewer cooldown, the audience filter, the writing-system filter, or a full queue. The activity panel says which.

Viewers can't hear it on stream. The audio is ordinary app sound. In OBS, capture Desktop Audio (or BakoshApp specifically).

"TTS limit reached". Speech synthesis is billed per character, so an account has an hourly and a monthly character limit. To stretch it: lower the maximum message length, raise the per-viewer cooldown, or switch chat to Prefix / Command mode instead of reading everything.

FAQ

Do I set this up separately for every mod? No — the settings are global per account.

Can I read only messages that start with !say? Yes — Triggers → Chat messages → Command, and set the command. The command itself isn't spoken.

Can one viewer have their own voice? Turn on Voice pool and One voice per viewer — each viewer then keeps a stable voice from your pool.

Can I stop one specific viewer being read? Advanced → Special users → add them and mark them blocked.