TTS Setup Guide

Choose a voice mode that OBS can actually hear.

Quick Choice

If you only remember one thing: for OBS, start with a browser/provider voice such as Kokoro, Piper, Kitten, eSpeak, OpenAI-compatible, Google, ElevenLabs, Speechify, or Gemini. Plain system TTS is simple, but OBS Browser Source usually cannot capture it directly.

What You WantUse This FirstWhy
Free voice in OBSKokoro, Piper, Kitten, or eSpeakAudio plays from the browser page, so OBS can capture it.
Portuguese or Spanish voice in OBSPiper pt_BR-faber-medium / es_ES-davefx-medium, or eSpeak pt-br / esKokoro's built-in voices are English; these local providers have Portuguese and Spanish paths.
Best quality with less local setupCloud provider or OpenAI-compatible providerGood voices, but account/API costs may apply.
Use Windows or Mac system voicesSystem TTS with speech=en-USWorks for listening on the computer, but OBS audio capture is harder.
Run your own voice serverCustom/local TTS with openaiendpointPrivate and flexible, but the endpoint and voice names must match your server.

1. Turn On TTS

In the settings reference, search for text to speech. In the popup, the matching setting is under the chat bot and TTS options. Enable only the TTS features you plan to use.

Settings reference filtered to the Enable Text to Speech setting
Use search instead of hunting through the full settings list.

For overlay URLs, TTS is enabled with a language value such as:

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

2. Pick A Provider

The provider decides where the voice is generated. Built-in browser/local providers are usually the easiest way to get free audio into OBS.

TTS provider options table showing system TTS, local free providers, and OBS capture notes
Provider voices play through the browser page. That is why they are easier to capture in OBS than plain system TTS.

Good first tests:

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

For Portuguese or Spanish, start with one of these instead:

dock.html?session=YOUR_SESSION&speech=pt-BR&ttsprovider=piper&pipervoice=pt_BR-faber-medium
dock.html?session=YOUR_SESSION&speech=pt-BR&ttsprovider=espeak&espeakvoice=pt-br
dock.html?session=YOUR_SESSION&speech=es-ES&ttsprovider=piper&pipervoice=es_ES-davefx-medium
dock.html?session=YOUR_SESSION&speech=es-ES&ttsprovider=espeak&espeakvoice=es

3. Avoid The OBS System TTS Trap

System TTS uses the operating system speech engine. OBS Browser Source does not directly capture that system-level speech. If you use system TTS, route desktop audio, use a virtual cable, or switch to a browser/provider TTS mode.

OBS audio capture note explaining that system TTS cannot be captured directly by OBS browser sources
If the dock speaks on your speakers but OBS is silent, this is usually the reason.

Simpler OBS path: use a provider like Kokoro, Piper, Kitten, eSpeak, OpenAI-compatible, Google, ElevenLabs, Speechify, or Gemini and enable OBS Browser Source audio control.

4. Local Server TTS

A local TTS server is useful when you want private voices, a specific voice model, or a server such as Kokoro-FastAPI or openedai-speech. The page that plays TTS must be able to reach the endpoint.

Diagram showing OBS Browser Source sending TTS requests through the Social Stream Ninja local TTS bridge to a TTS server
For OBS, the local bridge usually works best when it runs on the same computer as OBS.
dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=customtts&openaiendpoint=http://127.0.0.1:8124/v1/audio/speech&voiceopenai=af_bella

localhost means the computer running the page. If your TTS server is on another computer, use that computer's LAN IP or run the bridge on the OBS computer.

5. Test In This Order

  1. Open the dock URL in a normal browser first, outside OBS.
  2. Send a short chat message and confirm the dock receives it.
  3. Confirm the browser speaks.
  4. Move the same URL into OBS Browser Source.
  5. If OBS is silent, check whether you are using plain system TTS or a provider voice.

Common Fixes

  • No voice list: try Chrome or Edge. Some browsers have limited speech support.
  • OBS is silent: switch away from plain system TTS or route desktop audio/virtual cable audio.
  • Kokoro is slow: try Piper, Kitten, eSpeak, a smaller voice, or a server/bridge setup.
  • Kokoro is not speaking Portuguese or Spanish: use Piper with pipervoice=pt_BR-faber-medium or pipervoice=es_ES-davefx-medium, eSpeak with espeakvoice=pt-br or espeakvoice=es, or a matching voice from a cloud/local server provider.
  • Local server returns errors: check endpoint URL, CORS, voice name, model name, and whether the server can be reached from the OBS computer.
  • Voice name fails: Kokoro names can look like af_bella; OpenAI/openedai-speech names can look like nova or echo. Use a voice your server supports.

Full reference: TTS guide and Local AI TTS guide.