Forum breadcrumbs – You are here:MrrZed0 ForumsStreaming Forums: Streamer.botTwitch TTS Highlight Overlay (Str …
Twitch TTS Highlight Overlay (Streamer.bot)
#1 · March 20, 2026, 12:53 am
Quote from Mrr Zed0 on March 20, 2026, 12:53 am🎤 Twitch TTS Highlight Overlay (Streamer.bot)
A real-time Twitch message overlay with Text-To-Speech (TTS) powered by Streamer.bot, PowerShell, and a WebSocket HTML overlay.
This system:
- Displays user profile, username, and message on screen
- Generates TTS audio dynamically
- Plays the audio through the overlay
- Includes an optional OBS dock view (no audio)
✨ Features
- 🔊 Windows TTS (natural speech)
- 🧠 Works with Streamer.bot WebSocket
- 🖥️ Clean animated overlay UI
- 📋 OBS Dock view with timestamps
- 🔇 Hidden PowerShell execution (no popups)
- ⚡ Fast & lightweight (no external APIs)
📁 Folder Structure
C:\Program Files\OBS-Studio\Files\Alerts\Message_Highlight_Overlay\ │ ├── twitch_tts_overlay.html ├── twitch_tts_dock.html ├── tts_highlight.ps1 ├── tts_message.wav (auto-generated)
⚙️ Requirements
- Windows OS
- Streamer.bot (v1.0.4+)
- OBS Studio
- WebSocket enabled in Streamer.bot
🔧 Setup Guide
1. Enable WebSocket in Streamer.bot
- Open Streamer.bot
- Go to Servers / Clients → WebSocket Server
- Enable it
- Default:
ws://127.0.0.1:8080
2. Add HTML Overlay to OBS
Add a Browser Source:
file:///C:/Program Files/OBS-Studio/Files/Alerts/Message_Highlight_Overlay/twitch_tts_overlay.html✔ Enable:
- Shutdown source when not visible ❌ (OFF)
- Refresh browser when scene becomes active ❌ (OFF)
3. Add OBS Dock (Optional)
In OBS:
Docks → Custom Browser DocksURL:
file:///C:/Program Files/OBS-Studio/Files/Alerts/Message_Highlight_Overlay/twitch_tts_dock.html
4. Add PowerShell Script
Create:
tts_highlight.ps1This generates the TTS WAV file.
5. Create Streamer.bot Action
🔹 Step 1 — C# (Prepare Args)
Imports:
showuserprofileshowusernameshowusermessageSets:
tts_usernametts_messagetts_output_file
🔹 Step 2 — Run PowerShell
Program:
powershell.exeArguments:
-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File “tts_highlight.ps1” -Username “%tts_username%” -Message “%tts_message%” -OutputFile “%tts_output_file%”
🔹 Step 3 — C# (Broadcast to Overlay)
Sends JSON via WebSocket:
{ “type”: “custom.twitch.tts”, “payload”: { “showuserprofile”: “…”, “showusername”: “…”, “showusermessage”: “…”, “ttsFile”: “tts_message.wav” } }
🔊 How It Works
- Streamer.bot triggers action
- C# prepares user/message data
- PowerShell generates
tts_message.wav- C# broadcasts event via WebSocket
- HTML overlay:
- Displays message
- Plays audio file
- Overlay hides after 20 seconds
🧪 Testing
In browser console:
testTtsOverlay();
⚠️ Important Notes
- ⚠️ Run Streamer.bot as Administrator
- 📁 Must have write access to overlay folder
- 🔁 WAV file is overwritten each trigger
- 🎧 OBS must have browser source audio enabled
🚀 Optional Upgrades
- Queue system (no overlapping TTS)
- Unique WAV filenames per message
- Profanity filter
- Volume control via Streamer.bot
- Voice selection (male/female)
- Emote filtering
🛠️ Troubleshooting
No audio playing?
- Check OBS browser source audio
- Ensure
tts_message.wavis created- Verify file path matches HTML
Overlay not showing?
- Check WebSocket connection
- Confirm Streamer.bot is running
- Check console (
F12)
❤️ Credits
- Streamer.bot
- OBS Studio
- Windows Speech API
📜 License
Free to use, modify, and share.
🎤 Twitch TTS Highlight Overlay (Streamer.bot)
A real-time Twitch message overlay with Text-To-Speech (TTS) powered by Streamer.bot, PowerShell, and a WebSocket HTML overlay.
This system:
- Displays user profile, username, and message on screen
- Generates TTS audio dynamically
- Plays the audio through the overlay
- Includes an optional OBS dock view (no audio)

✨ Features
- 🔊 Windows TTS (natural speech)
- 🧠 Works with Streamer.bot WebSocket
- 🖥️ Clean animated overlay UI
- 📋 OBS Dock view with timestamps
- 🔇 Hidden PowerShell execution (no popups)
- ⚡ Fast & lightweight (no external APIs)
📁 Folder Structure
C:\Program Files\OBS-Studio\Files\Alerts\Message_Highlight_Overlay\
│
├── twitch_tts_overlay.html
├── twitch_tts_dock.html
├── tts_highlight.ps1
├── tts_message.wav (auto-generated)
⚙️ Requirements
- Windows OS
- Streamer.bot (v1.0.4+)
- OBS Studio
- WebSocket enabled in Streamer.bot
🔧 Setup Guide
1. Enable WebSocket in Streamer.bot
- Open Streamer.bot
- Go to Servers / Clients → WebSocket Server
- Enable it
- Default:
ws://127.0.0.1:8080
2. Add HTML Overlay to OBS
Add a Browser Source:
file:///C:/Program Files/OBS-Studio/Files/Alerts/Message_Highlight_Overlay/twitch_tts_overlay.html
✔ Enable:
- Shutdown source when not visible ❌ (OFF)
- Refresh browser when scene becomes active ❌ (OFF)
3. Add OBS Dock (Optional)
In OBS:
Docks → Custom Browser Docks
URL:
file:///C:/Program Files/OBS-Studio/Files/Alerts/Message_Highlight_Overlay/twitch_tts_dock.html
4. Add PowerShell Script
Create:
tts_highlight.ps1
This generates the TTS WAV file.
5. Create Streamer.bot Action
🔹 Step 1 — C# (Prepare Args)
Imports:
showuserprofileshowusernameshowusermessage
Sets:
tts_usernametts_messagetts_output_file
🔹 Step 2 — Run PowerShell
Program:
powershell.exe
Arguments:
-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File “tts_highlight.ps1” -Username “%tts_username%” -Message “%tts_message%” -OutputFile “%tts_output_file%”
🔹 Step 3 — C# (Broadcast to Overlay)
Sends JSON via WebSocket:
{
“type”: “custom.twitch.tts”,
“payload”: {
“showuserprofile”: “…”,
“showusername”: “…”,
“showusermessage”: “…”,
“ttsFile”: “tts_message.wav”
}
}
🔊 How It Works
- Streamer.bot triggers action
- C# prepares user/message data
- PowerShell generates
tts_message.wav - C# broadcasts event via WebSocket
- HTML overlay:
- Displays message
- Plays audio file
- Overlay hides after 20 seconds
🧪 Testing
In browser console:
testTtsOverlay();
⚠️ Important Notes
- ⚠️ Run Streamer.bot as Administrator
- 📁 Must have write access to overlay folder
- 🔁 WAV file is overwritten each trigger
- 🎧 OBS must have browser source audio enabled
🚀 Optional Upgrades
- Queue system (no overlapping TTS)
- Unique WAV filenames per message
- Profanity filter
- Volume control via Streamer.bot
- Voice selection (male/female)
- Emote filtering
🛠️ Troubleshooting
No audio playing?
- Check OBS browser source audio
- Ensure
tts_message.wavis created - Verify file path matches HTML
Overlay not showing?
- Check WebSocket connection
- Confirm Streamer.bot is running
- Check console (
F12)
❤️ Credits
- Streamer.bot
- OBS Studio
- Windows Speech API
📜 License
Free to use, modify, and share.
Uploaded files:Click for thumbs down.0Click for thumbs up.0
Last edited on March 20, 2026, 2:11 am by Mrr Zed0
