Průvodce lokálním AI TTS

Spouštějte hlasy chatu na vlastním počítači. Většině streamerů stačí vestavěné hlasy.

Potřebuji to?

„Místní“ znamená buď hlas vestavěný do SSN, který běží v prohlížeči, nebo hlasový server, který provozujete sami.

Chci…Postupujte takto
Bezplatné hlasy bez instalacePoužijte vestavěné hlasy. Většině uživatelů to stačí.
Používat hlasový server, který už provozujiPřipojit server.
Klonovaný hlasViz klonování hlasu.
Fish Audio v OBSPodívejte se na Nastavení Fish Audio.
Placené cloudové hlasyPodívejte se na Referenční příručka TTS.
Funguje to s každým chatem, který SSN zachytí. Hlas patří přehrávači SSN, nikoli YouTube či Twitchi. Na rozdíl od Systémové TTS, místní hlasy AI vytvářejí vlastní zvuk, který OBS může zachytit. Porovnejte poskytovatele a poslechněte si ukázky.

Vestavěné hlasy (bez instalace)

Běží uvnitř SSN ve vašem prohlížeči. Bez serveru, Dockeru nebo klíče API.

HlasZvukZátěž počítačeHodnota v odkazu
KokoroVýbornýStřední. S GPU rychlejší.ttsprovider=kokoro
PiperVelmi dobrýNízká. Pouze CPU.ttsprovider=piper
KittenDobrýVelmi nízká. Pouze CPU.ttsprovider=kitten
eSpeak-NGRobotickýMinimální. Pouze CPU.ttsprovider=espeak

Nastavení ve 4 krocích

  1. Přidejte &speech=en-US&ttsprovider=kokoro do svého dock.html odkaz. (Nebo piper, kitten, espeak.)
  2. Přidejte tento odkaz do OBS jako Zdroj prohlížeče (Browser Source). Právě tato stránka vytváří zvuk.
  3. V jeho vlastnostech zapněte Ovládat zvuk přes OBS (Control audio via OBS).
  4. Pošlete krátkou zkušební zprávu, například Testing local TTS.
dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=kokoro
První použití je pomalé. Kokoro a Piper nejprve stáhnou modely (přibližně 50–200 MB). Další spuštění je znovu používají, ale zahájení stále chvíli trvá. OBS uchovává vlastní kopii odděleně od Chromu.

Hlasy, rychlost a další jazyky: nastavení poskytovatelů. Raději klikáte? Použijte průvodce nastavením.

Připojte vlastní server TTS

Server vám poskytne více hlasů, klonování hlasu nebo jeden hlas použitelný ve více nástrojích. SSN s ním komunikuje jako se serverem Kompatibilní s OpenAI hlasový server. Klíč API není potřeba.

  1. Spusťte server. Kokoro-FastAPI je nejjednodušší.
  2. V SSN otevřete seznam poskytovatelů TTS a vyberte Vlastní / místní koncový bod TTS.
  3. V části Custom / Local API Endpoint, zadejte adresu serveru, například http://127.0.0.1:8880/v1/audio/speech.
  4. Pole pro klíč API nechte prázdné.
  5. Vyberte hlas, který váš server zná: af_bella pro Kokoro, nova pro openedai-speech.
  6. Zkopírujte odkaz do OBS a pošlete zkušební zprávu.
Mapa polí místního TTS v Social Stream Ninja ve stylu snímku obrazovky
Rozhodující je pole endpointu.
OBS na jiném počítači? Přečtěte si pravidlo localhost . Blokuje jej prohlížeč? Použijte most.
ServerModelGPUDiskPort
Kokoro-FastAPI (doporučeno)Kokoro 82MVolitelné~2 GB8880
openedai-speech (Piper)PiperPouze CPU<1 GB8000
kokoro-webKokoro 82MVolitelné~2 GB3000

Tyto možnosti vyžadují Docker Desktop nainstalovaný a spuštěný. Pro osobní použití je zdarma.

Pravidlo localhost

Tohle je nejčastější chyba.

localhost a 127.0.0.1 vždy znamenají „tento stejný počítač“. Pokud OBS běží na jednom počítači a hlasový server na druhém, 127.0.0.1 v OBS odkazuje na počítač s OBS.
Schéma ukazující, že localhost znamená stejný počítač, zatímco jiný počítač potřebuje IP adresu v místní síti
Vaše nastaveníPoužijte tuto adresu
OBS a server na stejném počítačihttp://127.0.0.1:8880/v1/audio/speech
Server na jiném počítači domahttp://192.168.x.x:8880/v1/audio/speech, s místní IP adresou tohoto počítače
Test aplikace SSN funguje, OBS mlčíOBS potřebuje vlastní funkční adresu. Test aplikace neprokazuje, že OBS dosáhne na server.

Ověřte také, že firewall port povoluje a Docker jej zveřejnil (-p 8880:8880).

Kokoro-FastAPI

Kokoro-FastAPI spouští Kokoro jako místní server. Funguje na CPU, GPU není nutné.

  1. Otevřete terminál (Příkazový řádek, PowerShell nebo Terminal) a spusťte jeden z těchto příkazů:
    docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:v0.2.2

    NVIDIA GPU (rychlejší):

    docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:v0.2.0post4
    První spuštění jednorázově stáhne přibližně 1,5–2 GB.
  2. Otevřít http://localhost:8880/web/. Měla by se zobrazit stránka pro zkoušení hlasů (dostupných je přes 67).
  3. Použijte tento odkaz (pokud server běží na jiném počítači, změňte adresu):
    dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=customtts&openaiendpoint=http://127.0.0.1:8880/v1/audio/speech&voiceopenai=af_bella
Používejte názvy hlasů Kokoro, například af_bella, af_sarah, am_adam nebo bf_emma. Názvy hlasů OpenAI, například nova nebo alloy nemusí fungovat.

Automatické spuštění s Dockerem:

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

openedai-speech (Piper a XTTS-v2)

Archivovaný projekt. Projekt openedai-speech byl archivován v lednu 2026 a sám se označuje za převážně zastaralý. Jako příklad stále funguje, ale nedostává aktualizace. Provozujte jej místně. Nikdy nevystavujte jeho port internetu; nemá přihlašování.

Možnost A: Lehký server Piper (CPU)

Méně než 1 GB. Bez klonování hlasu.

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

Hlasy: 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
Spuštění ze zdrojového kódu ve Windows (chyby HTTP 500)

Přidejte z jeho virtuálního prostředí Scripts do složky PATH nejprve. Jinak nenajde piper.exe nebo 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

Možnost B: Klonování hlasu XTTS-v2 (GPU)

Vyžaduje celý server, nikoli openedai-speech-min. Počítejte přibližně se 4 GB paměti GPU. CPU funguje, ale pomalu.

Nastavení XTTS-v2 ve 4 krocích
  1. Stáhněte a spusťte server:
    git clone https://github.com/matatonic/openedai-speech.git
    cd openedai-speech
    Copy-Item sample.env speech.env
    docker compose up -d
    Na macOS nebo Linuxu použijte cp sample.env speech.env. Docker potřebuje přístup ke GPU. Model se stáhne při prvním použití.
  2. Vytvořte čistý referenční klip hlasu, k jehož použití máte svolení. Mono, 22050 Hz, 6–30 sekund:
    ffmpeg -i input.mp3 -ac 1 -ar 22050 -t 6 -y voices/me.wav
  3. V části config/voice_to_speaker.yaml, přidejte jej pod stávající tts-1-hd sekce (ponechte stávající hlasy):
    tts-1-hd:
      me:
        model: xtts
        speaker: voices/me.wav
        language: en
    Změňte me na název, který SSN odešle.
  4. Spusťte docker compose restart, potom použijte:
    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 je povinné. Bez něj SSN odešle tts-1, a server místo toho použije Piper. voiceopenai musí odpovídat názvu hlasu v souboru YAML.

Blokuje jej prohlížeč? Spusťte most a změňte pouze openaiendpoint na http://127.0.0.1:8124/v1/audio/speech.

Místní most TTS

Malý pomocný nástroj SSN. Přijme požadavek SSN, předá jej hlasovému serveru a vrátí zvuk způsobem, který prohlížeče přijímají. Vyžaduje Node.js.

Nejjednodušší pravidlo: spusťte most na počítači s OBS. OBS pak vždy používá http://127.0.0.1:8124/v1/audio/speech, i když hlasový server běží na jiném počítači.
Schéma ukazující volání místního mostu z OBS a následné volání serveru TTS z mostu
  1. Řekněte mostu, kde server běží. PowerShell:
    $env:SSN_TTS_TARGET="http://127.0.0.1:8880/v1/audio/speech"
    Server na jiném počítači? Použijte jeho místní IP adresu, například http://192.168.x.x:8880/v1/audio/speech.
  2. Ve složce SSN spusťte node scripts/local-tts-bridge.cjs. Nechte jej běžet.
  3. Nasměrujte SSN na most:
    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, na jednom řádku: SSN_TTS_TARGET="http://127.0.0.1:8880/v1/audio/speech" node scripts/local-tts-bridge.cjs. Uvnitř local-tts-bridge složky, node server.cjs dělá totéž. Port změňte pomocí SSN_TTS_BRIDGE_PORT=8125. Všechny možnosti: README mostu.

Režim GPT-SoVITS

GPT-SoVITS používá vlastní /tts formát. Most pro něj požadavek převede.

$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
Serverový režim F5-TTS

Některé adaptéry F5-TTS používají /synthesize_speech/?text=...&voice=.... Most pro ně požadavky převádí.

$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

Klonování hlasu

Klonování není nastavení SSN. Je to funkce některých hlasových serverů. SSN posílá text chatu; klonovaný hlas vybírá server.

  1. Nahrajte čistý klip jediného mluvčího, obvykle 3–30 sekund, s minimálním hlukem v pozadí.
  2. Některé servery potřebují také přesný přepis slov v klipu.
  3. Server převede klip na hlasový profil.
  4. SSN posílá text chatu pomocí ttsprovider=customtts.
  5. Server vrátí zvuk, obvykle WAV nebo MP3, a SSN jej přehraje.
Klonujte pouze hlasy, které vlastníte nebo k jejichž použití máte svolení.
XTTS-v2 je ve výchozím stavu pouze pro nekomerční použití. Jeho Coqui Public Model License povoluje pouze nekomerční použití. Monetizovaný stream nemusí podmínky splňovat. Nejprve ověřte licenci nebo získejte svolení.

S pamětí GPU 6 GB nebo méně začněte malými modely na serverech kompatibilních s OpenAI. Větší modely fungují také, pokud běží jinde.

MožnostKlonuje zStačí GPU s 6 GB?Jak se připojit
XTTS-v2 / openedai-speechKrátký klip WAVAno, přibližně 4 GBPřímo, /v1/audio/speech. Projekt je archivovaný.
chatterbox-tts-api / Chatterbox-TTS-ServerReferenční klipPravděpodobně s Turbo nebo malými úsekyPřímo nebo přes most. GPU běží plynuleji než CPU. Nastavení se liší podle forku.
Qwen3-TTS (0,6B / 1,7B)3sekundový klipPravděpodobně (0.6B Base)Vyžaduje adaptér kompatibilní s OpenAI.
GPT-SoVITS5 sekund; lépe 1 minutaPravděpodobně s fp16 / lehkou instalacíMost --mode gptsovits.
F5-TTSKlip a jeho přepisMožnáAdaptér nebo most --mode f5 s F5-TTS_server.
MisoTTS 8BReferenční zvukNe; doporučeno 24 GBPouze vzdálený hosting. V repozitáři není místní REST endpoint.

Vestavěné Kokoro ani Kokoro-FastAPI hlasy neklonují.

Co bylo ověřeno s SSN

Ověřeno s oběma stránkami dock.html a featured.html:

  • openedai-speech (Piper): skutečná řeč na CPU, přímo i přes most.
  • Chatterbox-TTS-Server: skutečná řeč na CPU s Emily.wav, přímo i přes most.
  • chatterbox-tts-api: formát požadavku ověřen přímo i přes most.
  • GPT-SoVITS a F5-TTS_server: pouze prostřednictvím režimů mostu.
  • Oficiální F5-TTS a Qwen3-TTS: nejprve potřebují adaptér (pouze CLI, Gradio nebo knihovna).

Jaký počítač potřebuji?

Orientační výchozí hodnoty, nikoli záruky. Spotřebu paměti mění velikost modelu, délka textu i další aplikace.

MožnostMinimumPro pohodlný provoz
Systémové TTS / eSpeakLibovolný počítačLibovolný počítač
Vestavěný KittenSlabší CPU, 4 GB RAMCPU notebooku, 8 GB RAM
Vestavěný PiperModerní CPU, 4–8 GB RAMModerní CPU, 8 GB RAM
Vestavěné KokoroModerní CPU, 8 GB RAMGPU s WebGPU nebo rychlý CPU, 8–16 GB RAM
Kokoro-FastAPICPU, 8 GB RAMVolitelná NVIDIA GPU, 8–16 GB RAM
openedai-speech PiperCPU, 4–8 GB RAMCPU, 8 GB RAM
openedai-speech XTTSNVIDIA GPU přibližně 4 GB, 8–16 GB RAMGPU NVIDIA s 6 GB+, 16 GB RAM
ChatterboxCPU u některých sestavení, pomaléGPU NVIDIA s 6 GB+, 16 GB RAM
GPT-SoVITS / F5-TTS / Qwen3-TTSCPU pro testování, pomaléGPU NVIDIA s 6 GB+, 16 GB RAM
MisoTTS 8BS 6 GB neGPU s 24 GB nebo vzdálený hostitel

Dostaňte zvuk do OBS

Zdroj prohlížeče OBS (doporučeno)

Funguje s vestavěnými hlasy i vlastním serverem.

  1. Přidejte Zdroj prohlížeče (Browser Source) se svým dock.html odkaz TTS.
  2. Zapněte Ovládat zvuk přes OBS (Control audio via OBS).
  3. Klikněte na OK. TTS se nyní objeví ve zvukovém mixéru OBS.

Desktopová aplikace SSN

Desktopová aplikace používá stejná nastavení odkazu. Zvuk ale hraje z aplikace, nikoli z OBS. Zachyťte jej pomocí Zvuk plochy nebo Zachytávání zvukového vstupu (Audio Input Capture). Chcete-li oddělit TTS od ostatních zvuků, přesměrujte aplikaci do virtuálního kabelu: postup směrování zvuku.

Nezaměňujte test aplikace za test OBS. Tlačítko Test v aplikaci testuje z aplikace. Při použití odkazu v OBS musí na server dosáhnout a zvuk přehrát samo OBS.
Další podrobnosti k desktopové aplikaci

Okna aplikace jsou vůči oprávněním prohlížeče (CORS) méně přísná než Chrome. U serverů odmítajících požadavky prohlížeče je most stále nejspolehlivější volbou. Pro vestavěné Kokoro může aplikace použít vlastní ninjafy.tts cestu místo načítání modelu v prohlížeči.

Systémové TTS (&speech=en-US bez poskytovatele) závisí na hlasech dostupných v OBS. Často nejsou žádné nebo nevytvářejí zachytitelný zvuk. Použijte místo toho některého poskytovatele výše.

Srovnání vedle sebe

MožnostNastaveníKvalitaSoukromýFunguje v OBSCena
Vestavěné KokoroŽádné5/5AnoAnoZdarma
Vestavěný PiperŽádné4/5AnoAnoZdarma
Vestavěný KittenŽádné3/5AnoAnoZdarma
Vestavěný eSpeakŽádné2/5AnoAnoZdarma
Kokoro-FastAPIDocker5/5AnoAnoZdarma
openedai-speechDocker4/5AnoAnoZdarma
ElevenLabsAPI klíč (API key)5/5NeAnoPlacené úrovně
Systémové TTSŽádné2/5AnoVyžaduje směrování zvukuZdarma

Řešení problémů

Kontrolní seznam ve stylu snímku obrazovky pro řešení problémů místního TTS
Na jednom místě funguje, na jiném ne? Zkontrolujte postupně počítač, adresu, hlas, oprávnění prohlížeče a zvuk OBS.
ProblémVyzkoušejte
Test v aplikaci funguje, OBS mlčíOBS musí dosáhnout na server samo. Je server na jiném počítači? Nahraďte 127.0.0.1 jeho místní IP adresou. Zkontrolujte Ovládat zvuk přes OBS (Control audio via OBS). Stále blokováno? Spusťte most na počítači s OBS.
Čte se pouze první písmeno nebo slovaOdstranit ttsquick z odkazu OBS (například &ttsquick=14) a obnovte stránku. Během testování také odstraňte typewriter= pro vyloučení problémů s načasováním.
Server neodpovídáZkontrolujte, že Docker i kontejner běží. Na počítači se serverem otevřete http://127.0.0.1:8880/web/ (Kokoro-FastAPI nebo port vašeho serveru). Na počítači s OBS otevřete http://SERVER_LAN_IP:8880/web/. Pokud to nefunguje, nedostane se k němu ani OBS. Zkontrolujte firewall serveru.
„Blocked by CORS“, „private network“ nebo „failed fetch“Prohlížeč jej zablokoval ještě před doručením serveru. Spusťte node scripts/local-tts-bridge.cjs na počítači s OBS a použijte http://127.0.0.1:8124/v1/audio/speech. Hostovaná beta stránka Docku bývá blokována častěji; jednodušší je most nebo okno místní aplikace.
Nesprávný hlas nebo hlas nenalezenKokoro-FastAPI: af_bella, af_sarah, am_adam, případně hlas z jeho webové stránky. openedai-speech: nova, echo, alloy. Některé servery rozlišují velká a malá písmena.
Zvuk hraje, ale OBS jej nezachytáváZapněte Ovládat zvuk přes OBS (Control audio via OBS). Při testu sledujte ukazatel v mixéru OBS. Nezapomeňte nastavit &ttsprovider=; System TTS může vyžadovat zvuk plochy nebo virtuální kabel.
Obraz Docker nebyl nalezenTagy obrazů se mění. Aktuální tag ověřte na Kokoro-FastAPI nebo openedai-speech.

Pro tvůrce serverů

Jak SSN komunikuje s vlastním serverem. Tuto část potřebujete pouze při jeho vytváření nebo ladění.

chat text -> SSN -> your endpoint (or the bridge) -> TTS server -> audio -> SSN plays it
Co SSN posílá

S ttsprovider=customtts, localtts nebo openai, SSN odešle požadavek JSON POST:

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

Bez nastaveného klíče API neposílá SSN hlavičku Authorization.

Co SSN umí přehrát
OdpověďFunguje?Poznámky
Zvukový souborAnoNejlepší. audio/mpeg, audio/wav, audio/ogg, audio/aac, nebo libovolný typ zvuku přehratelný v prohlížeči.
JSON s adresou zvukuAnoKontroly url, audio_url, output_url, data.urla první data[] položku.
JSON se zvukem v base64AnoKontroly audio, audio_data, audioContent, b64_json, vnořené data pole a datové URL.
Nezpracované PCMPouze s obálkouPošlete jej jako soubor WAV nebo WAV v base64.

Formáty: mp3 je malý a široce podporovaný. wav se hodí pro servery klonování a testování mostu. Použijte opus pouze pokud jej podporuje server i prohlížeč.

Streamování zatím nepodporuje. SSN počká na celou odpověď a pak ji přehraje. Používejte krátké zprávy.

Nastavení odkazu pro vlastní server
NastaveníPříkladCo dělá
ttsprovidercustomttsPoužijte vlastní server. (openai také funguje.)
openaiendpointhttp://localhost:8880/v1/audio/speechAdresa vašeho serveru. Upravte port tak, aby odpovídal.
speechen-USZapne TTS v angličtině.
voiceopenaiaf_bellaNázev hlasu. Záleží na serveru.
openaimodeltts-1-hdNázev modelu. Výchozí tts-1.
openaiformatmp3mp3, wav, opus nebo flac.
openaispeed1.0Rychlost řeči (0,5–2,0).

Také přijímá: customttsendpoint, localttsendpoint, customttsvoice, localttsvoice, customttsmodel, localttsmodel, customttsformat, localttsformat. Možnosti čtení, například simpletts, skipmessages a ttsquick fungují s libovolným poskytovatelem: všechna nastavení odkazů.

Příklady odkazů:

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