Skip to main content
Wildcat Docs
WildcatTTS

Filtering & pronunciation

Control what TTS says aloud: describe emotes, expand chat short forms, soften rude words, and skip messages with banned words.

Emote Descriptions

WildcatTTS uses Google Gemini AI to describe Twitch emotes in chat messages. Instead of reading the emote code (for example, "LUL"), TTS speaks a description such as "a person laughing." The bot caches descriptions permanently to prevent repeated AI requests.

How It Works

  1. When an emote appears for the first time, AI analyzes the emote image and creates a short description.
  2. The bot caches the description permanently after first generation.
  3. Later uses of the emote use the cached description instantly without new AI processing.

The AI writes each description in the language of the channel. The bot keeps a separate description for each language.

Managing Descriptions

Moderators can use !tts emote to view, regenerate, or set emote descriptions. See the Emote Description Management table for details.

Pronunciation Dictionary

Chat uses many short forms that TTS speaks one letter at a time. The pronunciation dictionary changes them into full words. For example, TTS speaks ngl as "not gonna lie" and glhf as "good luck have fun". WildcatTTS includes a built-in list of about 70 common short forms. You can also add your own entries.

How It Works

  • The word is not case-sensitive. An entry for lfg also matches LFG.
  • An entry must match a full word. An entry for fr does not change the word "friend".
  • The dictionary does not change text inside a link.
  • The dictionary changes each word one time. TTS does not scan replaced text for more entries.
  • Some entries work in specific languages only. For example, the dictionary changes ty to "thank you" in English. In Polish, Czech, and Slovak, ty is a common word, so the dictionary keeps it.

Your Own Entries

Moderators can add entries with the !tts pronounce command or in the Web Dashboard. Custom entries are useful for channel names, game terms, and difficult words.

  • Your entry replaces a built-in entry that has the same word.
  • To stop a built-in entry, use !tts pronounce off <word>. To restore it, use !tts pronounce remove <word>.
  • A channel can have a maximum of 100 entries.
  • A new entry of your own works in all languages. An entry that replaces a built-in entry keeps the languages of that built-in entry.

How To Stop It

The dictionary is active for all channels by default. To turn it off, disable Expand Chat Acronyms in the Web Dashboard. TTS then speaks short forms letter by letter.

TTS already speaks lol as "el oh el". This is standard behavior and requires no dictionary entry.

Profanity Filter

The profanity filter replaces rude words with milder words before TTS speaks them. For example, TTS speaks "what the fuck" as "what the freak". The filter is off until a moderator starts it.

How To Start It

Use !tts profanity block in chat, or set the "Profanity Filter" control to on in the Web Dashboard. Use !tts profanity allow to stop the filter again, and !tts profanity status to see the state, the language, and the number of words in the list. The older on and off words still work.

What It Does

  • The filter replaces a rude word with a milder word. It does not remove the message, and it does not make a bleep sound.
  • The filter replaces a slur with the word "slur". This replacement keeps the meaning of the slur out of the audio.
  • The filter also applies to short forms from the pronunciation dictionary. When the filter is on, TTS speaks lfg as "let's freaking go".
  • A word must match fully. The filter does not change the word "class".

Languages

The filter has word lists for all 40 languages that Language Boost supports. The filter uses the list for your channel language. If a viewer selects a different language for their own messages, the filter uses both lists. The filter always includes the English list, because the pronunciation dictionary is in English.

If your Language Boost is "Automatic", the filter uses the English list. The bot cannot identify the language of each message.

The English list is the largest. The lists for other languages are smaller. Slurs are in the English list only.

The profanity filter is not the same as the Banned Words list. Banned Words removes the full message. The profanity filter speaks the message, but with milder words.

Banned Words

The Banned Words feature stops WildcatTTS from speaking unwanted messages. If a chat message contains a banned word or phrase, TTS skips the message completely. The bot does not generate audio for skipped messages.

How It Works

  • Matching is not case-sensitive. If you ban "badword", TTS also catches "BadWord" and "BADWORD".
  • TTS matches parts of words. If you ban "spam", TTS also skips messages that contain "spammer" or "spammy".
  • You can ban multi-word phrases. For example, you can ban phrases such as "follow my link" or "free followers".
  • TTS ignores the username in replies. If a reply mentions a user with a banned word in their name, TTS does not skip the message.

Stream Events and Redemptions

The bot handles events and chat messages differently when a message contains a banned word:

  • Chat Messages: TTS skips the full message. No voice audio plays.
  • Resubscriptions: The bot announces the resubscription, but omits the attached viewer message.
  • Watch Streaks: The bot announces the streak count, but omits the attached viewer message.
  • Channel Point Redemptions: The bot announces the reward redemption, but omits the custom text input.
  • Custom Reward Policy: If a Channel Point reward has a content policy, the bot rejects redemptions that contain banned words.

How To Manage Banned Words

You can configure banned words in the Web Dashboard. Changes take effect immediately.

  1. Sign in to the Web Dashboard at tts.wildcat.chat with your Twitch account.
  2. Scroll to the Banned Words / Phrases card in the Ignored Users section.
  3. Type a word or phrase into the input field.
  4. Click Add, or press Enter on your keyboard.
  5. If you want to remove an entry, click Remove next to the word in the list.
Banned Words skips the full message. The Profanity Filter speaks the message with milder words. If a message contains words on both lists, TTS skips the message.