✦ A LITTLE MORE LIFE IN YOUR LIVESTREAM
Your chat is
the show.
Give every chatter a familiar face and a voice of their own.
A tiny stage for the
people who make your stream, yours.
Made for your community.
Powered by your browser.
A peek at your stage
✧ Five little faces. One very lively community.
Open full demo ↗Chat in their language
Automatic language detection. Six model-supported languages, with a personal language override.
Familiar, every time
A consistent character, chat color, and voice for every viewer. Their own little place on stream.
It stays on your device
Neural speech runs locally. No chat sent to a TTS service. No accounts or usage bills.
FROM BROWSER TO BROADCAST
On your stream in 60 seconds.
No plugins. No installation. Just a Browser Source.
-
01
Make your link
Enter your Twitch channel above, choose your settings, and click Copy OBS URL.
-
02
Add to OBS
Add a Browser Source, paste the URL, and set the size to 1920 × 1080. The live overlay is transparent.
-
03
Give chat the stage
Check Control audio via OBS and adjust the source in your mixer. Allow the first model download to finish. If prompted, right-click → Interact → Start audio.
Keep “Shutdown source when not visible” off to keep chat connected. Browser preview audio and OBS audio are separate: close or mute the preview when broadcasting.
A COMMUNITY WITH CONTROLS
Small commands.
Big personalities.
Viewer preferences and moderator mutes stay in this browser, per channel. Moderator controls use verified Twitch badges.
!voice 1–8 Pick a voice !voice random Surprise me
!lang ja Set a language !lang auto Auto-detect
!quiet Toggle your voice !quiet off Opt back in
!skip Next line !pause / !resume Hold the show
!clear Clear the stage and queue
!ttsmute user / !ttsunmute user Manage a viewer
A small stage, with a lot of people to thank.
Built with OpenAI Codex. Local TTS: piper-plus (MIT) and ONNX Runtime Web (MIT). All character artwork is original SVG created for ChatStage.
CSS10 voice credit: CSS10 Japanese model by ayousanz, based on CSS10 by Kyubyong Park and Thomas Mulc; Japanese reader: ekzemplaro, Meian by Natsume Sōseki. Model card: CSS10 public-domain dataset terms. The CSS10 repository code uses Apache-2.0; LibriVox recordings are public domain in the USA, with local copyright status to be checked elsewhere. Piper TTS: rhasspy; MB-iSTFT-VITS: Kawamura et al.
*Language note: The pinned runtime has G2P support for en / ja / zh / ko / es / fr / pt / sv. The CSS10 voice model contains only en / ja / zh / es / fr / pt language IDs. Korean and Swedish are detected and preferences are saved, but their speech is skipped with an explicit notice until compatible models are available. Caption highlighting estimates text position from phoneme timing; it is not word alignment.
Privacy: Twitch sends chat directly to this browser. Speech is generated here. CDNs and Hugging Face receive asset-download requests and normal connection metadata, never chat text from ChatStage. No analytics, cloud TTS, or message logging. Preferences use localStorage; model downloads use IndexedDB. Browser/OBS storage is separate and the first run needs internet access.