TTS Voice Guide

Every text-to-speech option in one place: providers, link settings, System voices, and OBS audio.

Start here

New to TTS? Follow the TTS setup guide. It takes 5 steps. This page is the full reference.

SSN reads any chat it captures as text. Your chat platform doesn't need its own TTS. The dock or overlay with TTS turned on does the talking, following its filters.

The simplest link turns on TTS with your system's voices:

dock.html?session=YOUR_SESSION&speech=en-US

For OBS, add a free voice that plays through the page:

dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=piper

Keep that page open and connected. Only one page should speak.

System TTS isn't the same as free TTS. System voices come from your browser and computer. OBS often has none, even when Chrome works. Kokoro, Piper, Kitten and eSpeak are free and make their own audio, so they work in OBS. You don't need to pay for TTS in OBS.

TTS is also in CAPTION.Ninja, for captions, transcription and translation. Both offer free and paid voices.

Providers

Set the provider with &ttsprovider=. Hear samples and compare them in the setup guide.

ProviderLink valueCostNotes
System TTS(default)FreeYour browser's voices. Often silent in OBS.
KokorokokoroFreeRuns in the browser. Best free quality, dozens of voices.
PiperpiperFreeRuns in the browser. Fast and light on the CPU.
KittenkittenFreeRuns in the browser. Small model.
eSpeak-NGespeakFreeClassic robotic voice. Works on any computer.
OpenAIopenaiAPI costsHigh quality.
Your own servercustomtts or localttsFreeAny OpenAI-compatible server. See the local TTS guide.
Google CloudgoogleAPI costsMany languages.
GeminigeminiAPI costsStyle instructions for delivery.
ElevenLabselevenlabsFree tier availableNatural voices, custom voice training.
SpeechifyspeechifyAPI costsMany languages.
Fish AudiofishFree model availableOBS needs the local bridge.
Every provider except System TTS plays audio through the page. In OBS, just turn on Control audio via OBS.

Link settings

Add these to the end of your dock or overlay link.

SettingWhat it doesExample
&speechTurns on TTS, with a language code.&speech=en-US
&ttsproviderPicks the provider (see above).&ttsprovider=kokoro
&volumeVolume, 0.0 to 1.0.&volume=0.8
&rateSpeaking speed, 0.1 to 10.0.&rate=1.5
&pitchVoice pitch, 0.1 to 2.0.&pitch=1.2
&voiceSystem voice, by part of its name.&voice=google
&simplettsDon't say “says” or “someone says”.&simpletts
&simpletts2Don't read names at all.&simpletts2
&ttscommandOnly read messages that start with a command (default !say).&ttscommand=!say
&readeventsAlso read events like subs and donations.&readevents
&skipmessagesOnly read every Nth message.&skipmessages=3
&ttsquickCuts speech off after this many characters. Remove it if messages get chopped.&ttsquick=100

Provider settings

Add these after &ttsprovider=. In the popup, the same settings appear when you pick the provider.

ProviderSettings
KokoroVoice &voicekokoro=af_bella · speed &kokorospeed=1.2. Spanish: ef_dora. Brazilian Portuguese: pf_dora. Background generation options.
PiperVoice &pipervoice=en_US-hfc_female-medium · speed &piperspeed=1.0. Portuguese: pt_BR-faber-medium, pt_BR-edresson-low. Spanish: es_ES-davefx-medium, es_MX-ald-medium.
KittenVoice &kittenvoice=expr-voice-4-f.
eSpeak-NGVoice &espeakvoice=en · speed &espeakspeed=175.
OpenAI / your own serverVoice &voiceopenai=nova · speed &openaispeed=1.0 · server &openaiendpoint=http://localhost:8880/v1/audio/speech. Local servers need no key. All local server settings.
Google CloudKey &ttskey=YOUR_API_KEY · voice &voicegoogle=en-GB-Standard-A · language &googlelang=en-US.
GeminiKey &geminikey=YOUR_API_KEY · model &geminimodel=gemini-2.5-flash-preview-tts · voice &voicegemini=Kore · language &geminilang=th-TH · style &geministyle=Read aloud in a warm tone.
ElevenLabsKey &elevenlabskey=YOUR_API_KEY · voice ID &voice11=YOUR_VOICE_ID · model &elevenlabsmodel=eleven_multilingual_v2. Stability, similarity and style can be adjusted too.
SpeechifyKey &speechifykey=YOUR_API_KEY · voice &voicespeechify=henry · model &speechifymodel=simba-3.0 (default) or simba-3.2 for English · speed &speechifyspeed=1.2 (0.5 to 3.0). Speechify guide.
Fish AudioAPI key and optional voice ID. Default model s2.1-pro-free. Setup and OBS bridge.
Pick a voice that matches your language. Changing &speech= alone doesn't change the voice. Old English voice IDs still work.
Ready-made Spanish and Portuguese links
LanguageBest free quality (tested)Fastest fallback (tested)
Portuguese&speech=pt-BR&ttsprovider=piper&pipervoice=pt_BR-faber-medium&speech=pt-BR&ttsprovider=espeak&espeakvoice=pt-br
Spanish&speech=es-ES&ttsprovider=piper&pipervoice=es_ES-davefx-medium&speech=es-ES&ttsprovider=espeak&espeakvoice=es

Kokoro also works: &voicekokoro=ef_dora (Spanish) or pf_dora (Brazilian Portuguese). For cloud voices, pick a voice that supports your language in Google Cloud, ElevenLabs, Speechify, Gemini, or an OpenAI-compatible local server.

System voices

System TTS uses whatever voices your browser and computer have. These are typical, not guaranteed.

BrowserSystem voices
ChromeYes. Google voices plus system voices.
EdgeYes. Microsoft voices plus Windows language packs.
FirefoxLimited. Local system voices only.
OperaLimited. Varies by install.
SafariNeeds a click before it can play audio.
OBSIts own browser. It doesn't get Chrome's or Edge's voices. Testing in the SSN app doesn't test OBS.

Check this browser's system voices. This only lists System TTS voices in the browser you open it in. It doesn't test OBS or providers like Kokoro. An empty list doesn't mean other providers won't work.

Add more voices on Windows

  1. Open Start > Settings > Time & Language > Speech.
  2. Under Manage Voices, click Add Voices.
  3. Pick languages and click Add.
  4. Restart your browser.

That's Windows 11. For Windows 10, see Microsoft's guide. Some third-party voices don't show up in browsers. Firefox often shows more system voices than Chrome-based browsers.

Get System TTS into OBS

Using any other provider? You don't need this. Turn on Control audio via OBS in the Browser Source. No virtual cable needed.
  1. First check System TTS actually speaks. OBS may have no usable voice. If there's no speech, routing can't fix it. Use another provider instead.
  2. If speech plays in another browser, capture that browser with OBS application or desktop audio capture.
  3. Still stuck? Route the browser through a virtual audio cable (below).
Route audio through a virtual cable (Windows)

Downloads: VB-Audio Virtual Cable (free) · Voicemeeter · Audio Router (legacy)

MethodDo this
Whole PCSet CABLE Input as the Windows default output (Sound Settings > Output).
One app, Windows 11Settings > System > Sound > Volume Mixer. Set the browser's output to CABLE Input.
One app, Windows 10Sound Settings > App volume and device preferences. Set the browser's output to CABLE Input.
Audio RouterOlder software. Route the browser to CABLE Input.
VoicemeeterSet it as the Windows default output. Send hardware out to your speakers and the virtual out to OBS.

Then in OBS: add Audio Input Capture, pick CABLE Output (or the Voicemeeter output), and set monitoring to Monitor and Output. Use Monitor Only if another source already sends it to the stream.

Test: play TTS, watch the OBS meter, check you can hear it, and adjust levels.

Fix problems

ProblemTry this
No soundCheck TTS is on, the speaking page is open, and the Browser Source isn't muted. In a normal browser, click the page once.
Silent in OBSNo speech at all? Check the provider first. If there is speech, check Control audio via OBS, the mixer mute, and output tracks. Or capture the browser that's speaking.
Cloud voice not workingCheck the API key and provider name. With no key, SSN falls back to System TTS, which may be silent in OBS.
Local server works in the app, not OBSOBS is a separate browser. Check the server from the OBS computer, especially with 127.0.0.1. See the localhost rule.
Only the first letter or words are readRemove ttsquick from the OBS link.
New voices don't show upRestart the browser after adding language packs.
Safari won't speakSafari has limited automatic TTS. Click the page once to allow audio.

Good habits

  • Use a provider that plays through the page. It's the easiest OBS setup, and free ones exist.
  • Test with a short message before going live.
  • Viewers can type anything. Have a quick way to turn TTS off.