Voice
Voice commands, push-to-talk, a wake word and live captions with local speech recognition.
Voice
The Voice plugin turns what you say into actions and captions:
- Voice commands: say "zet BRB aan" with push-to-talk, or "Kit, zet BRB aan" with a wake word, and start any action.
- Voice intents: let AI recognize what you mean, however you word it.
- Live captions in an OBS browser source, optionally translated.
Speech is recognized on your PC with Whisper (whisper.cpp). Audio never leaves your computer. Only text goes to the Stream Kit cloud, and only for AI intents and translation.
Requirements
- Windows x64 with a microphone
- The Microsoft Visual C++ Redistributable (x64); most PCs already have it, and Voice → Settings tells you when it's missing
- For voice intents and translation: a Stream Kit account on a plan that includes AI (AI credits)
Setup
Everything is on one page: Voice → Settings in the sidebar. Changes are saved and applied right away.
To get started:
- Download speech runtime (about 9 MB, once).
- Download a model. The one marked Recommended for this PC is a good start:
| Model | Size | Notes |
|---|---|---|
| Tiny | 32 MB | Fastest, weak Dutch |
| Base | 60 MB | Fast, fine for short commands |
| Small | 190 MB | Good Dutch, about half a second per command; recommended on PCs with 8+ cores |
| Medium | 820 MB | More accurate for free speech, about twice as slow as Small |
| Large v3 Turbo | 870 MB | Most accurate, slow on most CPUs |
- Start listening. The level meter shows that your microphone works; Hold to talk tests push-to-talk.
- Optional: Add example actions creates a few actions in the group Voice examples: one that logs everything you say (see Logs), a voice command ("hallo Stream Kit"), an AI intent for taking a break, an OBS BRB scene and a Twitch greeting. The OBS and Twitch examples start disabled; set your scene or channel and enable them.
Downloads are verified with a checksum and can be cancelled. The same page has the microphone, language, captions, voice command and advanced settings. Plugins → Voice → Configure only points to this page.
The microphone stays open while Voice is listening (Windows shows the microphone icon), so push-to-talk catches your first word. Sound is only processed during push-to-talk, or all the time when captions or the wake word are on. A Bluetooth headset may switch to its lower-quality hands-free mode while the microphone is open.
Push-to-talk
Hold a key, say a command, release. Three ways to set it up:
- Hotkey: set Push-to-talk hotkey on Voice → Settings. The key is captured by Stream Kit, so your game won't see it. Pick a key you don't use otherwise.
- Stream Deck: create one action with the Stream Deck Key Down trigger and the Start push-to-talk handler, and one with Key Up and Stop push-to-talk.
- Voice → Settings: hold Hold to talk to test.
Everything said during push-to-talk is a command and never appears in captions. Push-to-talk stops on its own after 30 seconds.
Wake word
Turn on Wake word to give commands without pressing anything: "Kit, zet BRB aan". You can also say "Kit", pause, and give the command within 6 seconds. "Hey Kit" and small recognition errors ("kid", "kitt") work too.
The wake word needs continuous listening, which uses CPU all the time.
Triggers
| Trigger | Fires when | Cost |
|---|---|---|
| Voice command | A command contains one of the phrases | Free |
| Voice intent | AI recognizes a command as the intent you describe | 1 credit per command |
| Speech recognized | Any sentence is recognized (captions and commands) | Free |
Voice command conditions:
| Condition | Description |
|---|---|
| Phrases | One or more phrases, separated by |, for example zet brb aan | be right back |
| Match | Contains, is exactly, or starts with the phrase |
| Allow small recognition errors | Accepts close matches such as "zet brp aan" (on by default) |
| Given with | Only push-to-talk or only the wake word |
| Cooldown (seconds) | Ignore repeats for a while |
Voice tells Whisper which phrases to expect, so short commands are recognized much more reliably than free speech. If recognition isn't sure (for example when you press push-to-talk and only the keyboard is heard), the command is ignored. Recognized on Voice → Settings shows for every command which action it started, or why it didn't.
Voice intent uses Intent (for example "The streamer takes a short break"), Minimum confidence, Given with and Cooldown. AI only checks a command when no Voice command phrase matched it, with at most Max AI intent checks per minute (default 10). Variables: {text}, {transcript}, {source}, {language}, {intent}, {confidence}, and for Voice command {phrase}.
Phrases, intents and cooldowns are settings of the trigger: negating them or combining them with or has no effect.
Handlers
| Handler | Description |
|---|---|
| Start listening / Stop listening | Load or unload speech recognition |
| Start push-to-talk / Stop push-to-talk | For Stream Deck Key Down / Key Up |
| Turn captions on or off | On, off or toggle until Stream Kit restarts |
| Set caption translation | Change the translation language |
| Clear captions | Remove all lines from the Captions overlay |
Live captions
- Create an overlay with the Captions widget (Overlays) and add its URL as a browser source in OBS.
- Turn on Live captions on Voice → Settings. Captions overlay sends them to one overlay or to all Captions overlays.
The Captions widget shows the last lines and fades them out; you can change the number of lines, fade time, font, colors and position. Show text while speaking (on by default) keeps updating the line while you talk: a new version as soon as the previous one is recognized. Turn it off to save CPU.
With Show text while speaking captions run about half a second to a second behind your voice with Small (less with Base, which recognizes Dutch a bit worse); the final line follows about half a second to a second after a short pause. When you keep talking, Voice finishes a line every 8 seconds at a quiet moment.
Translation
Set Translate captions to a language. The translation appears below the original (or instead of it, in the widget settings). Translation uses your daily AI credits: about 1 credit per 1000 characters, roughly 5–10 credits per hour of talking. When the credits run out, captions keep working without translation.
Performance
Speech recognition runs on the CPU. While you game and stream:
- Prefer Base or Small; Medium and Large are for fast PCs.
- Turn off Show text while speaking if the game stutters; captions then only appear after each sentence.
- CPU threads (Advanced) defaults to half your cores, up to 6.
Words to recognize better (Advanced) helps with names, game titles and your channel name.
Troubleshooting
| Problem | Solution |
|---|---|
| "The microphone only delivers silence" | Windows blocks microphone access for desktop apps: open the microphone privacy settings from Voice → Settings |
| Visual C++ Redistributable required | Install it with the button on Voice → Settings, then start listening again |
| Wrong words | Use a bigger model, set the language instead of Detect automatically, or add words to Words to recognize better |
| Text that you didn't say | Whisper sometimes invents text for noise or music; raise Speech detection sensitivity to Low in a noisy room |