TikLive TTS
Download

Patch notes

TikLive TTS changelog

Every patch we ship, with its new features, fixes and behavior changes.

v1.8.6

New backend

The biggest update so far

Under the hood, the entire server that runs inside the app was rewritten from scratch. On the outside: Kick arrives as a fourth platform, a side menu you arrange however you want, a section for an AI assistant to operate the app for you, the Music Bot redesigned with YouTube playlists, automatic announcements during the stream, a voice that holds up far better against Google service drops, and a pile of translation gaps closed so the voice always speaks in your language.

Kick, fourth platform

Until now the app read TikTok, Twitch and YouTube. Kick was ruled out: its site blocked any direct connection from the app. Now it works: the app connects straight to Kick and feeds its chat into the same flow as the other three. From the platform selector you add your Kick channel just like any other.

What comes through from Kick:

What does not come through from Kick: subscriptions, gifts and raids. Chat only.

Kick chat travels over a public Kick channel, with no authentication. It's a little more fragile than the other platforms: if Kick changes its site, the connection cuts out until it's patched from the app. The other platforms are unaffected. A watchdog reconnects on its own if Kick goes 5 minutes without sending a message.

More tools: the side menu, your way

The left menu was fixed: every section, always, in the same order. Now there's a new section, More tools, with a store-style view of all the app's tools (Overlays, Music Bot, Clips, Soundpad, Mobile control, Moderation, MCP Agent), each with its preview image and a description.

On new installs, Clips and Mobile control start hidden so the menu is cleaner out of the box; add them from here when you need them. If you were already using them, they stay where they were. The first time you open the section there's a guided tour that explains it.

MCP Agent (advanced)

New MCP Agent section inside More tools. It lets an AI assistant (Claude Desktop, Claude Code) operate the app for you: read the chat, moderate, handle the music, check the stream status.

Music Bot redesigned

The view was redesigned entirely: an iOS-style switch instead of the old chip, the request queue and the bot rules in two columns (one on narrow screens), a progress bar that moves in real time, a button to remove each track from the queue, and now you can see how many songs a playlist has.

It also supports YouTube playlist links. Before it only accepted individual tracks; now if you paste (or someone requests) a playlist URL, the bot expands it and queues every track. Chat !p commands are no longer read aloud on any platform; before they could slip into the TTS.

Automatic announcements during the stream

A new announcement plays through the TTS voice inviting your audience to download the app. It fires by stream time:

The counter starts when you connect the first channel, on any platform, and stops when you disconnect them all. Adding a platform mid-stream doesn't reset the count. Disconnecting and reconnecting counts as a new session. The text is spoken in your TTS voice's language, not fixed in Spanish.

Along the same lines: the "the creator just joined" announcement is now unique per session. Before, if the admin typed on several platforms at once, it played once for each. Now it plays a single time and only resets on reconnect.

Making the voice always speak your language

Several gaps were closed where the app bypassed its own translation system:

The 10 languages are now level, each with the same number of strings.

Voice fixes and improvements

YouTube no longer goes silently mute

YouTube sometimes stops sending messages without any error: an internal token expires and the app doesn't notice. Before, YouTube chat went mute forever, with no warning. Now there's a watchdog: if 4 minutes pass without a single YouTube message, it forces automatic reconnection with the same retries it already used on an error. It doesn't touch TikTok, Twitch or Kick.

Under the hood: backend rebuilt from scratch

The entire server that runs inside the app was rewritten, from a monolithic file to 17 independent areas (settings, language, moderation, channels, chat, overlays, mobile, sound, bot, clips, promos, telemetry, MCP agent, etc.).

None of this changes how you use the app.

Anonymous usage metrics

An anonymous usage count is added (which features get used, how many sessions, retention) to a server of our own. Your name, nicknames, IDs, IP, chat text, and the value of your settings (only the name of the setting you changed) never leave your machine. No machine identifier. If it isn't configured, the app doesn't make a single request. Errors and crashes go to a separate system, also our own, and feed the "Report bug" button.

Other changes

Behavior notes:

Thanks

Thanks to @FedMasteer for their code contribution to this release.

v1.7.2

Fix

Real app shutdown

Bug: clicking the Windows title bar X didn't close the app. It minimized to tray and stayed there — server, WebSocket, TTS, and global shortcuts, all running in the background with no visible window. Easy to miss, since the only sign was the system tray icon.

Now the X shuts everything down: the server closes, any in-flight telemetry gets cut, global shortcuts are released, and the process exits, with nothing left hanging in Task Manager.

The tray icon still exists while the app is open (to reopen the window with a double-click, or quit from its menu), it just stopped being the default destination on close.

No action required on your part — the fix applies as soon as you update.

v1.7.0

Moderation

New feature: viewer moderation

Until now, there was nothing you could do from the app when someone misbehaved in your chat. The TTS read anything that passed the spam filter, no matter who sent it. Blocking a word meant leaving the Chat view, going into Advanced, and hunting for the panel by hand. And there was no notion of "who is this person": every message was anonymous to the app, with no memory from one stream to the next.

This update adds a Moderation section to the left menu and, around it, several ways to act on a specific viewer.

Viewer log

Everyone who interacts in your streams gets logged: their name, the platform, and the last time they showed up. The log is saved to disk and survives closing the app and updates.

The table has two separate tabs, Followers and Non-followers, both moderated the same way. You can search by name, filter by platform or status (muted, banned, no punishment), and sort by recent activity or alphabetically.

Each viewer has five actions available:

Temporary punishments expire on their own, even if the app is closed when they're due to expire.

Important: this is in-app moderation. Muting or banning doesn't block anyone on TikTok, Twitch or YouTube; it only changes how the TTS and your chat window behave.

Moderate from chat, without going anywhere

Clicking anyone's name in the live chat opens the same menu: mute, mark as follower, or block a word. No need to switch views mid-stream.

"Read non-followers"

A new toggle in the Chat view. On, the default, the TTS reads everyone. Off, it only reads followers and anyone you've marked by hand; everyone else still shows up in chat, just without voice.

It's worth understanding how someone becomes a follower, because it's not obvious: the app can't ask the platform for your follower list. It only learns of a follow if it sees it happen live, while you're connected. Or if you mark it yourself. That means someone who's followed you for a year will show up under "Non-followers" until you mark them.

So: be careful turning the toggle off on day one. With a brand-new log, you'd silence almost your entire regular audience. It makes sense after several streams, once real follows have accumulated.

Block a word in seconds

The "Blocked words" button in the Chat view now opens a window with a single field. Copy the offending word from chat, paste it, hit Enter, and the server applies it instantly, no reconnecting and no leaving the view. The window doesn't close after adding one, so during a spam wave you can paste several in a row. From there, a link to Advanced lets you view and edit the full list.

Chat follows what's being read

Chat used to force-scroll to the bottom on every new message, making it impossible to read anything during a busy stream. Now it follows the message the TTS is currently reading, which is usually several messages behind the latest one. Scroll up and it stays put so you can read in peace.

Guided tutorial

The first time you open Moderation, a 9-step walkthrough starts that explains everything above as one single feature, not scattered pieces. You can replay it anytime with the "View tutorial" button inside the section.

Other changes in this pass

No action required on your part. It works as soon as you update, with the non-followers toggle on so nothing changes until you decide.

Behavior notes:

v1.5.9

August 2026 · Patch

New feature: bug report system with session logging

Until now, when a streamer hit a problem, the only way to report it was writing on Discord with no technical context: no logs, no way to know what actually happened server-side. Catching and fixing bugs depended on the user being able to describe the error well.

A "Report Bug" button was added to the sidebar (between "Advanced" and the language selector) that opens a simple form.

On submit, the report is sent automatically to the project's Discord, attaching the full technical log of your session (from the moment you opened the app) so the problem can be diagnosed without asking you for extra steps.

Persistent logging

Security: the Discord webhook link is never exposed on the client or checked into the repo's source code. It lives in a local file outside git, and public builds inject it at compile time via GitHub Actions.

Behavior notes:

New feature: guided tutorial for new users

The "Report Bug" button already existed, but nothing else was explained: a streamer installing the app for the first time had no guidance on how to link their channel and connect. They had to guess, or ask on Discord.

Language selector first, before anything else

Previously, every new popup (welcome, donation, bug report) showed directly in Spanish, regardless of the user's language. Now, on first launch a mandatory language selector appears (10 languages), with its own text already in the language detected from the browser. Only after choosing does the rest of the notices show, correctly translated.

Interactive guided tutorial (new)

Popup reordering: the popup chain (welcome → tutorial → bug report → donation) now always ends with the donation notice last, so it doesn't compete visually with any tutorial or functional notice.

Behavior notes:

Other changes in this pass

v1.5.8

July 2026 · Patch

New option: don't read the gift amount in the TTS

A new control lets you turn off the spoken dollar-value announcement for TikTok gifts.

Until now, whenever someone sent a gift, the TTS would always also say its dollar equivalent (e.g. "User sent 5 Rose, worth $1.29"). For several streamers this was annoying or unwanted, with no way to disable it without turning off gift announcements entirely.

There's now a new "Read gift amount" checkbox, next to "Announce gifts". It's on by default, so current behavior doesn't change for anyone unless they turn it off manually.

Behavior notes:

Fix: TTS forced "User says: comment" with no way to disable it

Fixes a bug reported in issue #14.

A recent change made the TTS always insert the word "says" between the username and the comment (e.g. "User says: hi"), with no way to go back to the previous format ("User: hi"). Some streamers preferred the old format and had no way to switch it.

There's now an independent "Say 'says'" toggle, next to the existing "Say username" toggle. The username is still controlled separately.

Additionally, the connector word is now localized to the active TTS voice instead of being fixed to Spanish: "says" in English, "diz" in Portuguese, "dit" in French, "sagt" in German, an honorific suffix in Japanese/Korean, and equivalents across the rest of the 12 supported voice languages.

Behavior notes:

New "Accessibility" section in Advanced Settings

Built for streamers with low vision, motion/photosensitivity, or who need a slower chat readout.

Added:

Behavior notes:

Fix: Settings no longer connects anything

Fixes a UX issue introduced by the app's original design: the "Settings" screen mixed configuring with connecting, causing confusion about where to actually start the chat connection.

Previously, the Settings view had two spots that triggered a live connection: the "Main connection" panel (TikTok only, a legacy shortcut) and a "Connect all" button inside "Additional channels". This duplicated the real connection entry point and made it easy to connect by accident while only meaning to save a channel.

Now Settings is only for defining which channels to use:

No user action required. Already-saved channels keep working the same, only where the connect button lives has changed.

Behavior notes:

?v=3">