Leitfaden für lokale KI-Sprachausgabe

Lass Chatnachrichten auf deinem eigenen Computer vorlesen. Für die meisten Streamer reichen die integrierten Stimmen.

Brauche ich das?

„Lokal“ bedeutet eines von zwei Dingen: eine in SSN integrierte Stimme, die in deinem Browser läuft, oder ein Sprachserver, den du selbst betreibst.

Ich möchte…So geht's
Kostenlose Stimmen ohne InstallationVerwende: integrierte Stimmen. Für die meisten ist das genug.
Einen bereits laufenden Sprachserver nutzenEinen Server verbinden.
Eine geklonte StimmeSiehe Stimmenklonen.
Fish Audio in OBSSiehe Fish Audio einrichten.
Kostenpflichtige Cloud-StimmenSiehe TTS-Referenz.
Das funktioniert mit jedem Chat, den SSN erfasst. Die Stimme gehört zum SSN-Player, nicht zu YouTube oder Twitch. Anders als System-Sprachausgabe, erzeugen lokale KI-Stimmen ihr eigenes Audio, das OBS erfassen kann. Anbieter vergleichen und Hörproben anhören.

Integrierte Stimmen (keine Installation nötig)

Diese laufen innerhalb von SSN in deinem Browser. Kein Server, Docker oder API-Schlüssel nötig.

StimmeKlangRechnerauslastungLinkwert
KokoroAusgezeichnetMittel. Mit GPU schneller.ttsprovider=kokoro
PiperSehr gutGering. Nur CPU.ttsprovider=piper
KittenGutSehr gering. Nur CPU.ttsprovider=kitten
eSpeak-NGRobotischMinimal. Nur CPU.ttsprovider=espeak

In 4 Schritten einrichten

  1. Hinzufügen &speech=en-US&ttsprovider=kokoro an deine dock.html Link. (Oder piper, kitten, espeak.)
  2. Füge diesen Link in OBS hinzu als Browserquelle. Diese Seite erzeugt den Ton.
  3. Aktiviere in den Eigenschaften Audio über OBS steuern (Control audio via OBS).
  4. Sende eine kurze Testnachricht im Chat, zum Beispiel Testing local TTS.
dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=kokoro
Die erste Nutzung ist langsam. Kokoro und Piper laden zuerst ihre Modelle herunter (etwa 50–200 MB). Später werden diese wiederverwendet, der Start dauert aber trotzdem einen Moment. OBS speichert eine eigene Kopie, getrennt von Chrome.

Stimmen, Geschwindigkeit und andere Sprachen: Anbietereinstellungen. Lieber klicken? Nutze die Einrichtungsleitfaden.

Deinen eigenen TTS-Server verbinden

Ein Server bietet mehr Stimmen, Stimmenklonen oder eine Stimme für mehrere Werkzeuge. SSN kommuniziert damit wie mit einem OpenAI-kompatibel Sprachserver. Kein API-Schlüssel nötig.

  1. Starte deinen Server. Kokoro-FastAPI ist am einfachsten.
  2. Öffne in SSN die Liste der TTS-Anbieter und wähle Eigener / lokaler TTS-Endpunkt.
  3. In Benutzerdefinierter / lokaler API-Endpunkt, gib die Serveradresse ein, zum Beispiel http://127.0.0.1:8880/v1/audio/speech.
  4. Lass das Feld für den API-Schlüssel leer.
  5. Wähle eine Stimme, die dein Server kennt: af_bella für Kokoro, nova für openedai-speech.
  6. Kopiere den Link in OBS und sende eine Testnachricht im Chat.
Übersicht im Screenshot-Stil der lokalen TTS-Felder in Social Stream Ninja
Entscheidend ist das Endpunkt-Feld.
OBS auf einem anderen Computer? Lies die localhost-Regel ab. Vom Browser blockiert? Verwende: Bridge.
ServerModellGPUDatenträgerPort
Kokoro-FastAPI (empfohlen)Kokoro 82MOptional~2 GB8880
openedai-speech (Piper)PiperNur CPU<1 GB8000
kokoro-webKokoro 82MOptional~2 GB3000

Diese benötigen Docker Desktop installiert und gestartet. Für den persönlichen Gebrauch ist es kostenlos.

Die localhost-Regel

Das ist der häufigste Fehler.

localhost und 127.0.0.1 bedeuten immer „dieser Computer“. Wenn OBS auf einem PC und der Sprachserver auf einem anderen läuft, 127.0.0.1 in OBS verweist auf den OBS-PC.
Diagramm: localhost bezeichnet denselben Computer; für einen anderen Computer wird eine LAN-IP benötigt
Deine EinrichtungDiese Adresse verwenden
OBS und Server auf demselben PChttp://127.0.0.1:8880/v1/audio/speech
Server auf einem anderen PC zu Hausehttp://192.168.x.x:8880/v1/audio/speechdurch die lokale IP dieses PCs
SSN-App-Test funktioniert, OBS bleibt stummOBS braucht eine Adresse, die aus OBS erreichbar ist. Der App-Test beweist nicht, dass OBS den Server erreicht.

Prüfe auch, ob die Firewall den Port erlaubt und Docker ihn veröffentlicht hat (-p 8880:8880).

Kokoro-FastAPI

Kokoro-FastAPI führt Kokoro als lokalen Server aus. Funktioniert mit CPU; keine GPU nötig.

  1. Öffne ein Terminal (Eingabeaufforderung, PowerShell oder Terminal) und führe einen dieser Befehle aus:
    docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:v0.2.2

    NVIDIA-GPU (schneller):

    docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:v0.2.0post4
    Beim ersten Start werden einmalig etwa 1,5–2 GB heruntergeladen.
  2. Öffnen http://localhost:8880/web/. Eine Seite zum Testen von Stimmen sollte erscheinen (über 67 verfügbar).
  3. Verwende diesen Link (ändere die Adresse, wenn der Server auf einem anderen PC läuft):
    dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=customtts&openaiendpoint=http://127.0.0.1:8880/v1/audio/speech&voiceopenai=af_bella
Kokoro-Stimmnamen verwenden, etwa af_bella, af_sarah, am_adam oder bf_emma. OpenAI-Namen wie nova oder alloy funktioniert möglicherweise nicht.

Automatisch mit Docker starten:

docker run -d --restart unless-stopped -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:v0.2.2

openedai-speech (Piper und XTTS-v2)

Archiviertes Projekt. openedai-speech wurde im Januar 2026 archiviert und bezeichnet sich selbst als weitgehend veraltet. Als Beispiel funktioniert es noch, erhält aber keine Updates. Verwende es nur lokal. Gib seinen Port niemals im Internet frei; es hat keine Anmeldung.

Option A: Leichter Piper-Server (CPU)

Unter 1 GB. Kein Stimmenklonen.

docker run -d --restart unless-stopped -p 8000:8000 ghcr.io/matatonic/openedai-speech-min

Stimmen: alloy, echo, fable, onyx, nova, shimmer.

dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=openai&openaiendpoint=http://localhost:8000/v1/audio/speech&voiceopenai=nova
Aus dem Quellcode unter Windows starten (HTTP-500-Fehler)

Füge aus seiner virtuellen Umgebung den Scripts Ordner nach PATH zuerst. Sonst findet es piper.exe oder ffmpeg.exe.

cd openedai-speech
$env:Path = "$PWD\.venv\Scripts;$env:Path"
.\.venv\Scripts\python.exe speech.py --xtts_device none -H 127.0.0.1 -P 8000

Option B: Stimmenklonen mit XTTS-v2 (GPU)

Benötigt den vollständigen Server, nicht openedai-speech-min. Plane etwa 4 GB GPU-Speicher ein. CPU funktioniert, ist aber langsam.

XTTS-v2 in 4 Schritten einrichten
  1. Server herunterladen und starten:
    git clone https://github.com/matatonic/openedai-speech.git
    cd openedai-speech
    Copy-Item sample.env speech.env
    docker compose up -d
    Verwende unter macOS oder Linux cp sample.env speech.env. Docker benötigt GPU-Zugriff. Das Modell lädt bei der ersten Nutzung herunter.
  2. Erstelle einen sauberen Referenzclip einer Stimme, die du verwenden darfst. Mono, 22050 Hz, 6–30 Sekunden:
    ffmpeg -i input.mp3 -ac 1 -ar 22050 -t 6 -y voices/me.wav
  3. In config/voice_to_speaker.yaml, füge es unter dem vorhandenen Eintrag hinzu: tts-1-hd Abschnitt (vorhandene Stimmen beibehalten):
    tts-1-hd:
      me:
        model: xtts
        speaker: voices/me.wav
        language: en
    Ändere me auf den Namen, den SSN senden wird.
  4. Führe docker compose restart, verwende dann:
    dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=customtts&openaiendpoint=http://127.0.0.1:8000/v1/audio/speech&openaimodel=tts-1-hd&voiceopenai=me&openaiformat=wav
openaimodel=tts-1-hd ist erforderlich. Ohne diese Angabe sendet SSN tts-1und der Server verwendet stattdessen Piper. voiceopenai muss deinem Stimmnamen in der YAML-Datei entsprechen.

Vom Browser blockiert? Starte die Bridge und ändere nur openaiendpoint auf http://127.0.0.1:8124/v1/audio/speech.

Die lokale TTS-Bridge

Ein kleines SSN-Hilfsprogramm. Es nimmt SSN-Anfragen entgegen, leitet sie an den Sprachserver weiter und gibt Audio in browsergeeigneter Form zurück. Benötigt Node.js.

Einfachste Regel: starte die Bridge auf dem OBS-Computer. So verwendet OBS immer http://127.0.0.1:8124/v1/audio/speechauch wenn der Sprachserver auf einem anderen PC läuft.
Diagramm: OBS ruft die lokale Brücke auf, die wiederum den TTS-Server aufruft
  1. Teile der Bridge mit, wo dein Server läuft. PowerShell:
    $env:SSN_TTS_TARGET="http://127.0.0.1:8880/v1/audio/speech"
    Server auf einem anderen PC? Verwende dessen lokale IP-Adresse, zum Beispiel http://192.168.x.x:8880/v1/audio/speech.
  2. Führe im SSN-Ordner aus node scripts/local-tts-bridge.cjs. Lass es laufen.
  3. Richte SSN auf die Bridge aus:
    dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=customtts&openaiendpoint=http://127.0.0.1:8124/v1/audio/speech&voiceopenai=af_bella

macOS/Linux, in einer Zeile: SSN_TTS_TARGET="http://127.0.0.1:8880/v1/audio/speech" node scripts/local-tts-bridge.cjs. Innerhalb des local-tts-bridge Ordner, node server.cjs macht dasselbe. Ändere den Port mit SSN_TTS_BRIDGE_PORT=8125. Alle Optionen: README der Brücke.

GPT-SoVITS-Modus

GPT-SoVITS verwendet sein eigenes /tts Format. Die Bridge übersetzt die Anfragen dafür.

$env:SSN_TTS_REF_AUDIO_PATH="C:\voices\speaker.wav"
$env:SSN_TTS_REF_TEXT="Reference audio transcript here."
$env:SSN_TTS_TARGET="http://127.0.0.1:9880/tts"
node scripts/local-tts-bridge.cjs --mode gptsovits
dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=customtts&openaiendpoint=http://127.0.0.1:8124/v1/audio/speech&openaiformat=wav
F5-TTS-Servermodus

Einige F5-TTS-Wrapper verwenden /synthesize_speech/?text=...&voice=.... Die Bridge übersetzt für sie.

$env:SSN_TTS_TARGET="http://127.0.0.1:7860/synthesize_speech/"
node scripts/local-tts-bridge.cjs --mode f5
dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=customtts&openaiendpoint=http://127.0.0.1:8124/v1/audio/speech&voiceopenai=default_en&openaiformat=wav

Stimmenklonen

Klonen ist keine SSN-Einstellung, sondern eine Funktion einiger Sprachserver. SSN sendet den Chattext; der Server wählt die geklonte Stimme.

  1. Nimm einen sauberen Clip mit einer einzelnen Stimme auf, meist 3–30 Sekunden lang und mit wenig Hintergrundgeräuschen.
  2. Manche Server brauchen zusätzlich den genauen Wortlaut des Clips.
  3. Der Server erstellt aus dem Clip ein Stimmprofil.
  4. SSN sendet den Chattext mit ttsprovider=customtts.
  5. Der Server gibt Audio zurück (meist WAV oder MP3), das SSN abspielt.
Klone nur deine eigene Stimme oder Stimmen, für die du eine Erlaubnis hast.
XTTS-v2 ist standardmäßig nur für nichtkommerzielle Nutzung. Sein Coqui Public Model License erlaubt nur nichtkommerzielle Nutzung. Ein monetarisierter Stream fällt möglicherweise nicht darunter. Prüfe zuerst die Lizenz oder hole eine Erlaubnis ein.

Mit höchstens 6 GB GPU-Speicher solltest du mit kleinen Modellen auf OpenAI-kompatiblen Servern beginnen. Größere Modelle funktionieren ebenfalls, wenn sie extern gehostet werden.

OptionKlonen anhand vonPasst auf eine GPU mit 6 GB?So verbindest du ihn
XTTS-v2 / openedai-speechKurzer WAV-ClipJa, etwa 4 GBDirekt, /v1/audio/speech. Projekt ist archiviert.
chatterbox-tts-api / Chatterbox-TTS-ServerReferenzclipWahrscheinlich mit Turbo oder kleinen AbschnittenDirekt oder über die Bridge. Mit GPU flüssiger als mit CPU. Die Einrichtung hängt vom Fork ab.
Qwen3-TTS (0,6B / 1,7B)3-Sekunden-ClipWahrscheinlich (0.6B Base)Benötigt einen OpenAI-kompatiblen Wrapper.
GPT-SoVITS5 Sekunden; mit 1 Minute besserWahrscheinlich mit fp16 / schlanker InstallationBrücke --mode gptsovits.
F5-TTSClip mit seinem TranskriptVielleichtEin Wrapper oder eine Bridge --mode f5 mit F5-TTS_server.
MisoTTS 8BAudio-VorlageNein; 24 GB empfohlenNur externes Hosting. Kein lokaler REST-Endpunkt im Repository.

Das integrierte Kokoro und Kokoro-FastAPI klonen keine Stimmen.

Was mit SSN getestet wurde

Geprüft mit beiden Seiten: dock.html und featured.html:

  • openedai-speech (Piper): echte CPU-Sprachausgabe, direkt und über die Bridge.
  • Chatterbox-TTS-Server: echte CPU-Sprachausgabe mit Emily.wav, direkt und über die Brücke.
  • chatterbox-tts-api: Anfrageformat getestet, direkt und über die Bridge.
  • GPT-SoVITS und F5-TTS_server: nur über Bridge-Modi.
  • F5-TTS offiziell und Qwen3-TTS: benötigen zuerst einen Wrapper (nur CLI, Gradio oder Bibliothek).

Welchen Computer brauche ich?

Grobe Richtwerte, keine Zusagen. Modellgröße, Textlänge und andere Apps beeinflussen den Speicherbedarf.

OptionMinimumKomfortabel
System TTS / eSpeakJeder PCJeder PC
Integriertes KittenSchwache CPU, 4 GB RAMLaptop-CPU, 8 GB RAM
Integriertes PiperModerne CPU, 4–8 GB RAMModerne CPU, 8 GB RAM
Integriertes KokoroModerne CPU, 8 GB RAMWebGPU-GPU oder schnelle CPU, 8–16 GB RAM
Kokoro-FastAPICPU, 8 GB RAMOptionale NVIDIA-GPU, 8–16 GB RAM
openedai-speech PiperCPU, 4–8 GB RAMCPU, 8 GB RAM
openedai-speech XTTSNVIDIA-GPU mit etwa 4 GB, 8–16 GB RAMNVIDIA-GPU mit mindestens 6 GB, 16 GB RAM
ChatterboxCPU bei einigen Builds, langsamNVIDIA-GPU mit mindestens 6 GB, 16 GB RAM
GPT-SoVITS / F5-TTS / Qwen3-TTSCPU zum Testen, langsamNVIDIA-GPU mit mindestens 6 GB, 16 GB RAM
MisoTTS 8BNicht mit 6 GB24-GB-GPU oder entfernter Host

Den Ton in OBS bringen

OBS-Browserquelle (empfohlen)

Funktioniert mit integrierten Stimmen und deinem eigenen Server.

  1. Füge hinzu Browserquelle mit deinem dock.html TTS-Link.
  2. Aktiviere Audio über OBS steuern (Control audio via OBS).
  3. Klicke auf OK. TTS erscheint jetzt im OBS-Mixer.

SSN-Desktop-App

Die Desktop-App nutzt dieselben Linkeinstellungen. Der Ton kommt aber aus der App, nicht aus OBS. Erfasse ihn mit Desktop-Audio oder Audioeingabeaufnahme. Leite die App an ein virtuelles Kabel, um TTS von anderen Tönen zu trennen: Schritte zum Audio-Routing.

Verwechsle den App-Test nicht mit OBS. „Test“ in der App prüft die Verbindung aus der App. Bei einem Link in OBS muss OBS den Server erreichen und den Ton abspielen.
Weitere Details zur Desktop-App

App-Fenster sind bei Browserberechtigungen (CORS) weniger streng als Chrome. Die Bridge bleibt die sicherste Wahl für Server, die Browseranfragen ablehnen. Für integriertes Kokoro kann die App ihren eigenen ninjafy.tts Pfad, statt das Modell im Browser zu laden.

System-Sprachausgabe (&speech=en-US ohne Anbieter) hängt von den in OBS verfügbaren Stimmen ab. Oft gibt es keine oder sie erzeugen keinen erfassbaren Ton. Verwende stattdessen einen der Anbieter oben.

Direktvergleich

OptionEinrichtungQualitätPrivatFunktioniert in OBSKosten
Integriertes KokoroKeine5/5JaJaKostenlos
Integriertes PiperKeine4/5JaJaKostenlos
Integriertes KittenKeine3/5JaJaKostenlos
Integriertes eSpeakKeine2/5JaJaKostenlos
Kokoro-FastAPIDocker5/5JaJaKostenlos
openedai-speechDocker4/5JaJaKostenlos
ElevenLabsAPI-Schlüssel5/5NeinJaKostenpflichtige Tarife
System-SprachausgabeKeine2/5JaBenötigt Audio-RoutingKostenlos

Probleme beheben

Checkliste im Screenshot-Stil zur Fehlerbehebung bei lokaler TTS
Funktioniert es an einer Stelle, aber nicht an einer anderen? Prüfe der Reihe nach: Computer, Adresse, Stimme, Browserberechtigung und OBS-Audio.
ProblemVersuche Folgendes
App-Test funktioniert, OBS bleibt stummOBS muss den Server selbst erreichen. Server auf einem anderen PC? Ersetze 127.0.0.1 durch seine lokale IP-Adresse. Prüfe Audio über OBS steuern (Control audio via OBS). Weiterhin blockiert? Starte die Bridge auf dem OBS-PC.
Nur der erste Buchstabe oder erste Wörter werden gelesenEntfernen ttsquick aus dem OBS-Link (zum Beispiel &ttsquick=14) und aktualisiere. Entferne beim Testen auch typewriter= um Timing-Probleme auszuschließen.
Server antwortet nichtPrüfe, ob Docker und der Container laufen. Öffne auf dem Server-PC http://127.0.0.1:8880/web/ (Kokoro-FastAPI oder Port deines Servers). Öffne vom OBS-PC aus http://SERVER_LAN_IP:8880/web/. Wenn das fehlschlägt, erreicht OBS es ebenfalls nicht. Prüfe die Server-Firewall.
„Blocked by CORS“, „private network“ oder „failed fetch“Der Browser hat die Anfrage blockiert, bevor sie den Server erreicht hat. Starte node scripts/local-tts-bridge.cjs auf dem OBS-PC und verwende http://127.0.0.1:8124/v1/audio/speech. Die gehostete Beta-Dock-Seite wird eher blockiert; Bridge oder lokales App-Fenster sind einfacher.
Falsche Stimme oder Stimme nicht gefundenKokoro-FastAPI: af_bella, af_sarah, am_adamoder einen Namen von seiner Webseite. openedai-speech: nova, echo, alloy. Manche Server unterscheiden Groß- und Kleinschreibung.
Ton wird abgespielt, aber OBS erfasst ihn nichtAktiviere Audio über OBS steuern (Control audio via OBS). Beobachte beim Test den OBS-Mixerpegel. Achte auf die Einstellung &ttsprovider=; System-TTS benötigt eventuell Desktop-Audio oder ein virtuelles Kabel.
Docker-Image nicht gefundenImage-Tags ändern sich. Prüfe den aktuellen Tag auf Kokoro-FastAPI oder openedai-speech.

Für Serverentwickler

So kommuniziert SSN mit einem eigenen Server. Das brauchst du nur, wenn du einen entwickelst oder Fehler darin suchst.

chat text -> SSN -> your endpoint (or the bridge) -> TTS server -> audio -> SSN plays it
Was SSN sendet

Mit ttsprovider=customtts, localtts oder openai, sendet SSN einen JSON-POST:

POST /v1/audio/speech
{
  "model": "tts-1",
  "input": "Chat message text",
  "voice": "af_bella",
  "response_format": "mp3",
  "speed": 1.0
}

Ohne gesetzten API-Schlüssel sendet SSN keinen Authorization-Header.

Was SSN abspielen kann
AntwortFunktioniert?Hinweise
AudiodateiJaAm besten. audio/mpeg, audio/wav, audio/ogg, audio/aacoder ein beliebiges im Browser abspielbares Format.
JSON mit einer Audio-URLJaPrüfungen url, audio_url, output_url, data.url sowie den ersten Eintrag in data[] .
JSON mit Base64-AudioJaPrüfungen audio, audio_data, audioContent, b64_json, verschachtelte data Felder und Daten-URLs.
Rohes PCMNur mit WrapperSende ihn als WAV-Datei oder als Base64-kodiertes WAV.

Formate: mp3 ist klein und wird breit unterstützt. wav eignet sich für Server zum Stimmenklonen und Bridge-Tests. Verwende opus nur, wenn Server und Browser es beide unterstützen.

Noch kein Streaming. SSN wartet auf die vollständige Antwort und spielt sie dann ab. Halte Chatnachrichten kurz.

Linkeinstellungen für deinen eigenen Server
EinstellungBeispielWas es macht
ttsprovidercustomttsVerwende deinen eigenen Server. (openai funktioniert ebenfalls.)
openaiendpointhttp://localhost:8880/v1/audio/speechDie Adresse deines Servers. Passe den Port an.
speechen-USAktiviert TTS auf Englisch.
voiceopenaiaf_bellaStimmname. Hängt vom Server ab.
openaimodeltts-1-hdModellname. Standard: tts-1.
openaiformatmp3mp3, wav, opus oder flac.
openaispeed1.0Sprechgeschwindigkeit (0.5–2.0).

Ebenfalls akzeptiert: customttsendpoint, localttsendpoint, customttsvoice, localttsvoice, customttsmodel, localttsmodel, customttsformat, localttsformat. Vorleseoptionen wie simpletts, skipmessages und ttsquick funktionieren mit jedem Anbieter: alle Linkeinstellungen.

Beispiellinks:

Kokoro-FastAPI:  dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=customtts&openaiendpoint=http://localhost:8880/v1/audio/speech&voiceopenai=af_bella&openaispeed=1.1
openedai-speech: dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=customtts&openaiendpoint=http://localhost:8000/v1/audio/speech&voiceopenai=nova
kokoro-web:      dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=customtts&openaiendpoint=http://localhost:3000/api/v1/audio/speech&voiceopenai=af_bella