Průvodce lokálním AI TTS

Nechte místní hlasy AI číst živý chat nahlas. Začněte možností bez instalace a místní server použijte pouze tehdy, pokud jej potřebujete.

Čeština

Přehled

Funguje se zachyceným textem chatu bez ohledu na platformu. Poskytovatel hlasu patří přehrávači SSN, nikoli YouTube, Twitch, TikTok ani jinému webu chatu. Tito místní poskytovatelé AI se liší od Systémové TTS: generují zvuk stránky a nespoléhají na to, že OBS zpřístupní hlasy operačního systému. Viz stručného průvodce nastavením OBS pro dostupnost hlasů oproti zachytávání zvuku. Porovnejte poskytovatele, poslechněte ukázky a prohlédněte nastavení.

Social Stream Ninja může číst zprávy chatu nahlas pomocí místního převodu textu na řeč s AI. „Místní“ může znamenat dvě věci: hlas běží uvnitř prohlížeče nebo provozujete malý server TTS na vlastním počítači.

Existují dva postupy:

Cesta 2 — Vlastní hostovaný server Vyžaduje Docker

Spusťte místní server TTS na svém počítači a nasměrujte na něj Social Stream Ninja. Získáte více hlasů, klonování hlasu a ovládání na straně serveru.

  • Kokoro-FastAPI
  • openedai-speech (Piper)
  • kokoro-web

Používá podporu vestavěnou v Social Stream: Koncový bod kompatibilní s OpenAI .

Začněte cestou 1. Pokud chcete jen zprovoznit TTS v OBS, nejprve vyzkoušejte vestavěné Kokoro nebo Kitten. Nepotřebují Docker, server ani klíč API. Vlastní hostovaný server použijte pouze tehdy, když výslovně potřebujete serverový hlas, klonování hlasu nebo jiný model.

Rychlé nastavení

Pro většinu streamerů je toto nejkratší cesta:

1
Nejprve použijte vestavěného poskytovatele. Přidejte &speech=en-US&ttsprovider=kokoro nebo &speech=en-US&ttsprovider=kitten do svého dock.html URL.
2
Vložte tuto URL do OBS jako zdroj Prohlížeč. Zdroj Prohlížeč v OBS je stránka, která bude vydávat zvuk.
3
Zapněte zachytávání zvuku v OBS. Ve vlastnostech zdroje Prohlížeč zapněte Ovládat zvuk přes OBS.
4
Odešlete jednu krátkou testovací zprávu chatu. Použijte něco jednoduchého, například Testing local TTS. Při použití Kokoro nebo Piper počkejte na první stažení modelů.
5
Teprve potom zkuste vlastní hostovaný server. Pokud používáte Kokoro-FastAPI, openedai-speech nebo jiný server Docker, před zkopírováním URL do OBS si přečtěte níže uvedené pravidlo localhost.

Pravidlo localhost / 127.0.0.1

Toto je nejběžnější chyba místního TTS.

localhost a 127.0.0.1 vždy znamenají „tento stejný počítač“. Pokud je OBS na jednom počítači a Kokoro na jiném, 127.0.0.1 uvnitř URL OBS ukazuje na počítač OBS, nikoli na počítač Kokoro.
Schéma ukazující, že localhost znamená stejný počítač, zatímco jiný počítač potřebuje IP adresu v místní síti
Použijte 127.0.0.1 pouze tehdy, když server TTS běží na stejném počítači jako stránka přehrávající zvuk. Pokud server běží na jiném počítači, použijte jeho IP adresu v místní síti.
Vaše nastaveníKoncový bod k použití
OBS a Kokoro běží na stejném počítačihttp://127.0.0.1:8880/v1/audio/speech
Kokoro běží na jiném počítači v domácí sítihttp://192.168.x.x:8880/v1/audio/speech, s IP adresou počítače Kokoro v místní síti
Testovací tlačítko desktopové aplikace SSN funguje, ale OBS je tichéOBS stále potřebuje vlastní funkční koncový bod. Test v aplikaci nedokazuje, že OBS dosáhne na server.

Na Linuxu, macOS i Windows také ověřte, že firewall povoluje port a Docker jej zveřejnil pomocí -p 8880:8880.

Kam kliknout v SSN

Ve vyskakovacím okně rozšíření otevřete výběr poskytovatele TTS a vyberte Vlastní / místní koncový bod TTS. Tím se zobrazí pole místního koncového bodu kompatibilního s OpenAI a odkaz zpět na tohoto průvodce.

Mapa polí místního TTS v Social Stream Ninja ve stylu snímku obrazovky
Důležité je pole koncového bodu. U místního serveru může klíč API obvykle zůstat prázdný. Vyberte název hlasu, který váš server skutečně podporuje.
O snímcích obrazovky: výše uvedená mapa polí SSN ukazuje pole místního koncového bodu. Rozhraní serverů třetích stran se mění s verzemi projektů, proto jsou aktuální snímky obrazovky a podrobnosti rozhraní odkazovány z repozitáře každého projektu poblíž příslušného kroku nastavení.

Postup vlastního hostování

SSN se k místnímu/vlastnímu hostovanému serveru TTS chová jako ke koncovému bodu řeči kompatibilnímu s OpenAI. Základní postup je:

chat text -> SSN TTS request -> local endpoint or SSN bridge -> TTS server -> audio response -> SSN playback

Struktura požadavku

Pro ttsprovider=customtts, localtts, nebo openai, SSN odešle požadavek JSON POST na nakonfigurovaný koncový bod:

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

CORS, hostované stránky a most

CORS je kontrola oprávnění prohlížeče. Jednoduše řečeno: server TTS musí prohlížeči říct „ano, tato stránka ode mě smí vyžadovat zvuk“. Pokud oprávnění chybí, požadavek může být zablokován dříve, než jej Kokoro nebo jiný server TTS vůbec uvidí.

Pokud server nepovoluje požadavky prohlížeče, spusťte Místní most TTS SSN a nasměrujte SSN na http://127.0.0.1:8124/v1/audio/speech. Pro OBS je nejsnazší spustit most na stejném počítači jako OBS.

Podporované zvukové odpovědi

Odpověď Podpora SSN Poznámky
Binární zvuk Ano Nejlepší možnost. Vraťte audio/mpeg, audio/wav, audio/ogg, audio/aacnebo jiný typ zvuku přehratelný v prohlížeči.
JSON s URL zvuku Ano SSN kontroluje url, audio_url, output_url, vnořené data.urla první data[] položku.
JSON se zvukem v base64 Ano SSN kontroluje audio, audio_data, audioContent, b64_json, vnořené data pole a datové URL.
Nezpracované PCM Pouze s obálkou Vracejte PCM jako soubor WAV nebo WAV v base64. Zvukový prvek prohlížeče nedokáže spolehlivě přehrát nezpracované bajty PCM přímo.
Doporučené formáty: použijte mp3 pro malé soubory a širokou podporu prohlížečů, wav pro místní klonovací servery a testování mostu a opus pouze pokud jej podporuje server i prohlížeč.

Streamovaný zvuk

SSN v současnosti nepřehrává postupně z vlastních/místních koncových bodů TTS. Počká na blob odpovědi nebo zvuková data JSON a potom je přehraje. Některé zdrojové servery nabízejí streamovací koncové body, ale současná cesta SSN kompatibilní s OpenAI před přehráním načítá do vyrovnávací paměti.

Praktický závěr: úryvky TTS chatu udržujte krátké. Podpora streamování by potřebovala samostatnou cestu přehrávání využívající streamované úseky WAV/MP3, MediaSource, WebCodecs nebo serverový směšovač.

Cesta 1 — Vestavěné TTS (bez nastavování)

Tyto enginy jsou přibalené v Social Stream Ninja a nevyžadují instalaci. Běží v prohlížeči pomocí WebAssembly (WASM) nebo ONNX Runtime.

Poskytovatel Kvalita Využití CPU GPU/WebGPU Parametr URL
Kokoro TTS ⭐⭐⭐⭐⭐ Výborné Střední Rychlejší s GPU ?ttsprovider=kokoro
Piper TTS ⭐⭐⭐⭐ Velmi dobré Nízké Pouze CPU ?ttsprovider=piper
Kitten TTS ⭐⭐⭐ Dobré Velmi nízké Pouze CPU ?ttsprovider=kitten
eSpeak-NG ⭐⭐ Robotické Minimální Pouze CPU ?ttsprovider=espeak

Jak zapnout

Přidejte &ttsprovider= a &speech= do svého Social Stream dock.html URL:

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

Možnosti Kokoro TTS

SSN nyní nabízí 28 anglických, tři španělské a tři brazilské portugalské hlasy Kokoro. Hlas určíte parametrem &voicekokoro=:

English female: af_bella, af_sarah, af_nicole, af_sky English male: am_adam, am_michael British female: bf_emma, bf_isabella British male: bm_george, bm_lewis
dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=kokoro&voicekokoro=af_bella&kokorospeed=1.1
Poznámka k jazyku: Vyberte hlas Kokoro pro požadovaný jazyk. Změna samotného parametru jazyka nezmění vybraný hlas.

Španělský příklad:

dock.html?session=YOUR_SESSION&speech=es-ES&ttsprovider=kokoro&voicekokoro=ef_dora

Portugalský příklad:

dock.html?session=YOUR_SESSION&speech=pt-BR&ttsprovider=kokoro&voicekokoro=pf_dora

Možnosti Piper TTS

Určete hlasový model pomocí &pipervoice=:

dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=piper&pipervoice=en_US-hfc_female-medium

K dispozici jsou portugalské a španělské hlasy Piper:

Brazilian Portuguese: pt_BR-faber-medium, pt_BR-edresson-low
Spanish: es_ES-davefx-medium, es_MX-ald-medium
dock.html?session=YOUR_SESSION&speech=pt-BR&ttsprovider=piper&pipervoice=pt_BR-faber-medium
dock.html?session=YOUR_SESSION&speech=es-ES&ttsprovider=piper&pipervoice=es_ES-davefx-medium

Možnosti Kitten TTS

dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=kitten&kittenvoice=expr-voice-4-f

Možnosti eSpeak-NG

dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=espeak&espeakvoice=en&espeakspeed=175
dock.html?session=YOUR_SESSION&speech=pt-BR&ttsprovider=espeak&espeakvoice=pt-br&espeakspeed=145
dock.html?session=YOUR_SESSION&speech=es-ES&ttsprovider=espeak&espeakvoice=es&espeakspeed=145
První načtení: Kokoro a Piper potřebují při prvním použití stáhnout soubory modelů (~50–200 MB). Probíhá to automaticky na pozadí. Další načtení mohou znovu použít modely z mezipaměti, ale inicializace stále chvíli trvá. OBS má samostatnou mezipaměť oddělenou od Chrome/Edge.
Zachytávání v OBS: Všichni vestavění poskytovatelé TTS přehrávají zvuk přímo přes prohlížeč. V OBS přidejte dock.html jako zdroj Prohlížeč a zapněte „Ovládat zvuk přes OBS“ (Control audio via OBS)— bez potřeby virtuálních kabelů. Viz část OBS níže.

Poznámky k prohlížeči a desktopové aplikaci

Rozšíření Chrome, zdroj Prohlížeč v OBS a samostatná desktopová aplikace Social Stream Ninja používají stejné dock.html parametry URL pro TTS. Důležitý rozdíl spočívá v tom, kde zvuk vzniká.

Prostředí Chování místního TTS Zachytávání zvuku
Rozšíření Chrome / zdroj Prohlížeč v OBS Načítání v prohlížeči vyžaduje CORS z místního serveru, pokud nepoužíváte most SSN. Použijte zdroj Prohlížeč v OBS s volbou „Ovládat zvuk přes OBS“.
Samostatná desktopová aplikace Používá stejná nastavení poskytovatele. Okna místních souborů aplikace mají menší omezení CORS, ale most je stále nejjistější cestou pro servery odmítající požadavky ve stylu prohlížeče. Zachytávejte zvuk plochy/aplikace nebo aplikaci nasměrujte do virtuálního zvukového kabelu.
Vestavěné Kokoro v desktopové aplikaci Aplikace může používat svou místní cestu ninjafy.tts pro Kokoro místo spoléhání pouze na načítání modelu v prohlížeči. Zvuk přehrává aplikace, proto použijte zachytávání zvuku plochy/aplikace.
Nezaměňujte test v aplikaci a OBS. Pokud stisknete Test uvnitř aplikace SSN, test probíhá z aplikace. Pokud zkopírujete dock.html URL do OBS, právě OBS musí dosáhnout na server TTS a přehrát zvuk.

Cesta 2 — Vlastní hostovaný server TTS

Pokud chcete více hlasů, klonování hlasu nebo vyhrazený server použitelný ve více nástrojích, můžete spustit místní server TTS. Social Stream Ninja se k němu připojuje pomocí vestavěné podpory: Koncový bod TTS kompatibilní s OpenAI — pro místní servery není potřeba klíč API.

Požadavky: Docker Desktop musí být nainstalované a spuštěné. Docker je pro osobní použití zdarma.

Tři doporučené možnosti:

Server Model GPU Disk Výchozí port
Kokoro-FastAPI Doporučeno Kokoro 82M Volitelné ~2 GB 8880
openedai-speech (Piper) Nenáročné Piper TTS Pouze CPU <1 GB 8000
kokoro-web Kokoro 82M Volitelné ~2 GB 3000

Který balíček se hodí?

Balíček Hlavní výhoda Kompromis
Vestavěné Kokoro Nejlepší první volba: bez serveru, vysoká kvalita, soukromí, funguje v prohlížeči i desktopové aplikaci. Bez klonování hlasu.
Kokoro-FastAPI Server kompatibilní s OpenAI, snadné nastavení Dockeru, CPU nebo GPU, mnoho hlasů Kokoro. Bez skutečného klonování hlasu; kombinování hlasů a vlastní hlasové funkce závisejí na sestavení serveru.
openedai-speech Nenáročný koncový bod kompatibilní s OpenAI; Piper je vhodný pro CPU a XTTS přidává klonování s cílovými nároky přibližně 4 GB VRAM. Repozitář uvádí, že je z velké části zastaralý, proto jej považujte za užitečný, ale bez záruky dlouhodobé použitelnosti.
Servery Chatterbox Klonování hlasu, možnosti webového rozhraní, API kompatibilní s OpenAI, nástroje pro dlouhý text. U některých sestavení je podpora CUDA/GPU plynulejší než CPU; nastavení se liší podle varianty serveru.
GPT-SoVITS Silné klonování/ovládání s krátkými referencemi a podporou přepisu. Ve výchozím stavu není kompatibilní s OpenAI; použijte režim mostu SSN.
F5-TTS Přirozené klonování bez dotrénování pomocí referenčního WAV a přepisu. Oficiální projekt není jednoduchý koncový bod OpenAI; použijte obálku nebo režim mostu.
Qwen3-TTS Moderní funkce klonování a návrhu hlasu, včetně menších modelů 0.6B/1.7B. Primárně knihovna/ukázka; pro SSN potřebuje obálku.
MisoTTS Špičkové generování řeči podle zadání. Není vhodné místně pro 6 GB VRAM; podle potřeby použijte vzdálený/vlastní hosting.

Jak funguje klonování hlasu

Klonování hlasu není samostatný režim SSN. Je to funkce některých místních serverů TTS. SSN odesílá text chatu na místní koncový bod; server vybírá klonovaný hlas z uloženého referenčního zvukového souboru, hlasového profilu nebo konfigurace mostu.

Typický postup

  1. Nahrajte čistý referenční klip, obvykle 3 až 30 sekund jednoho mluvčího s minimem hluku na pozadí.
  2. Některé enginy vyžadují také přesný přepis referenčního klipu.
  3. Místní server převede referenci na zadání mluvčího, embedding nebo hlasový profil.
  4. SSN odesílá text živého chatu na koncový bod pomocí ttsprovider=customtts.
  5. Server vrátí přehratelný zvukový soubor, obvykle WAV nebo MP3, a SSN jej přehraje v doku/zdroji Prohlížeč.
Používejte pouze hlasy se souhlasem mluvčího. Klonování hlasu může znít jako skutečný člověk, proto používejte pouze hlasy, které vlastníte, máte svolení používat nebo jsou pro tento účel jasně licencované.
XTTS-v2 je ve výchozím stavu pouze pro nekomerční použití. Coqui Public Model License povoluje pouze nekomerční použití modelu a jeho výstupů. Zpeněžené vysílání nemusí podmínky splňovat, proto před komerčním použitím XTTS-v2 ověřte licenci nebo získejte samostatné svolení.

Pro 6 GB VRAM nebo méně nejprve volte malé modely klonování bez dotrénování a servery kompatibilní s OpenAI. Větší modely mohou fungovat přes stejný koncový bod SSN, pokud je uživatel hostuje jinde.

Možnost Klonování hlasu Vejde se do 6 GB VRAM Cesta API pro SSN
Qwen3-TTS 0.6B Base 3sekundový referenční zvuk Pravděpodobně Použijte obálku kompatibilní s OpenAI a potom ttsprovider=customtts
XTTS-v2 / openedai-speech Krátké referenční hlasy WAV Ano, přibližně 4 GB podle openedai-speech /v1/audio/speech
Chatterbox Turbo / Server Klonování podle referenčního zvuku Pravděpodobně při použití Turbo / malých úseků Sestavení serverů kompatibilní s OpenAI nebo most
GPT-SoVITS 5 sekund bez dotrénování, 1 minuta s několika ukázkami Pravděpodobně s fp16 / nenáročnou instalací Použijte scripts/local-tts-bridge.cjs --mode gptsovits
F5-TTS Referenční WAV + přepis Možná; závisí na sestavení a vokodéru Použijte obálku kompatibilní s OpenAI nebo --mode f5 pro serverové obálky F5-TTS
MisoTTS 8B Zvukový kontext zadání Ne; projekt doporučuje 24 GB VRAM Pouze vzdálený/vlastní koncový bod
Nejvhodnější struktura cíle SSN: přijímat POST /v1/audio/speech s { model, input, voice, response_format, speed } a vrátit přehratelný zvukový soubor. To zahrnuje OpenAI, Coqui/XTTS, obálky Kokoro, obálky Qwen a většinu služeb proxy.

Požadavky na počítač

Jde o praktické výchozí body, nikoli pevné záruky. Verze modelu, kvantizace, délka textu, obraz Docker a aplikace na pozadí mohou měnit spotřebu paměti.

Možnost Minimální praktický počítač Vhodný cíl Poznámky
Systémové TTS / eSpeak Libovolný moderní počítač Libovolný počítač Rychlé, nízká kvalita, bez klonování.
Vestavěný Kitten Slabší CPU, 4 GB RAM Moderní notebookový CPU, 8 GB RAM Malý model ONNX, rychlé spuštění.
Vestavěný Piper Moderní CPU, 4–8 GB RAM Moderní CPU, 8 GB RAM Dobrá možnost neuronového hlasu s nízkými nároky.
Vestavěné Kokoro Moderní CPU, 8 GB RAM GPU s podporou WebGPU nebo rychlé CPU, 8–16 GB RAM Nejlepší kvalita bez nastavování. Při prvním načtení se stáhnou soubory modelu.
Kokoro-FastAPI Hostitel Docker na CPU, 8 GB RAM Volitelné GPU NVIDIA, 8–16 GB RAM Dobrý místní server, pokud načítání modelu v prohlížeči není ideální.
openedai-speech Piper CPU, 4–8 GB RAM CPU, 8 GB RAM Nenáročný server kompatibilní s OpenAI.
openedai-speech XTTS GPU NVIDIA s přibližně 4 GB VRAM, 8–16 GB RAM GPU NVIDIA s 6 GB+, 16 GB RAM Cesta klonování hlasu; CPU je možné, ale pomalé.
Servery Chatterbox CPU může u některých sestavení fungovat, ale je pomalé GPU NVIDIA s 6 GB+, 16 GB RAM Při klonování nebo zpracování dlouhého textu použijte GPU.
GPT-SoVITS / F5-TTS / Qwen3-TTS Pouze testování na CPU, pomalé GPU NVIDIA s 6 GB+ pro menší/optimalizované modely, 16 GB RAM Záleží na výběru obálky a velikosti modelu. Počítejte s náročnějším nastavením.
MisoTTS 8B Místně se 6 GB VRAM se nedoporučuje 24 GB VRAM nebo vzdálený hostitel Repozitář doporučuje pro interaktivní použití GPU s velkou VRAM.

Poznámky k otestovaným serverům

Toto jsou cíle vlastního hostování s klonováním hlasu zkontrolované na kompatibilitu s SSN. Cesta místního koncového bodu byla otestována proti oběma dock.html a featured.html.

SSN přijímá přímé binární zvukové odpovědi, odpovědi JSON se zvukem v base64 a odpovědi JSON s URL zvuku. Současné vlastní/místní přehrávání před přehráním načte vrácený zvuk do vyrovnávací paměti; průběžné streamované přehrávání zatím není podporováno.

Server Cesta SSN Poznámky
openedai-speech Přímo nebo přes most Kompatibilní s OpenAI /v1/audio/speech. Režim Piper byl otestován se skutečnou syntézou na CPU z dock.html a featured.html, přímo i přes most. Při spuštění ze zdrojů na Windows ověřte, že složka Scripts virtuálního prostředí venv je v PATH , aby piper.exe a ffmpeg.exe bylo možné najít.
chatterbox-tts-api Přímo nebo přes most Kompatibilní s OpenAI /v1/audio/speech. Ke klonování používá nastavený referenční zvuk. Struktura API byla otestována přímo i přes most.
Chatterbox-TTS-Server Přímo nebo přes most Koncový bod kompatibilní s OpenAI a webové rozhraní. Otestováno se skutečnou syntézou na CPU pomocí Emily.wav z dock.html a featured.html, přímo i přes most.
GPT-SoVITS Režim mostu Spusťte most SSN s --mode gptsovits; cílový server je /tts, nikoli kompatibilní s OpenAI.
F5-TTS_server Režim mostu Spusťte most SSN s --mode f5; cílový server používá GET /synthesize_speech/.
Oficiální F5-TTS Potřebuje obálku Primárně CLI, Gradio a socketový server. Použijte obálku kompatibilní s OpenAI nebo režim mostu F5 proti obálce.
Qwen3-TTS Potřebuje obálku Primárně knihovna a ukázka Gradio. Dobrý kandidát pro malou obálku kompatibilní s OpenAI kolem generate_voice_clone.
MisoTTS Pouze vzdáleně/vlastní Klonování hlasu je podporováno, ale model 8B není cílem pro 6 GB VRAM a repozitář neobsahuje místní koncový bod REST.

Nastavení Kokoro-FastAPI

Kokoro-FastAPI provozuje model Kokoro 82M jako místní server s API kompatibilním s OpenAI. Funguje na CPU (GPU není potřeba) a má výbornou kvalitu hlasu.

Instalace pomocí Dockeru

Otevřete terminál (Příkazový řádek, PowerShell nebo Terminál) a spusťte jeden z následujících příkazů:

CPU (funguje na libovolném počítači):

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

GPU (pouze NVIDIA — rychlejší syntéza):

docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:v0.2.0post4
První spuštění: Docker stáhne obraz (~1,5–2 GB). To se děje pouze jednou. Poté se server spouští během několika sekund.

Ověřte, že běží

Otevřete prohlížeč a přejděte na http://localhost:8880/web/— měli byste vidět webové rozhraní, kde můžete testovat hlasy.

Dostupné hlasy

K dispozici je více než 67 hlasů. Několik příkladů:

af_bella, af_sarah, af_nicole, af_sky, af_heart (American female) am_adam, am_michael (American male) bf_emma, bf_isabella (British female) bm_george, bm_lewis (British male)

Procházejte a testujte všechny hlasy na http://localhost:8880/web/ jakmile server běží.

URL SSN

Pokud je Kokoro-FastAPI na stejném počítači jako OBS:

dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=customtts&openaiendpoint=http://127.0.0.1:8880/v1/audio/speech&voiceopenai=af_bella

Pokud je Kokoro-FastAPI na jiném počítači, nahraďte 192.168.x.x IP adresou daného počítače v místní síti:

dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=customtts&openaiendpoint=http://192.168.x.x:8880/v1/audio/speech&voiceopenai=af_bella
Názvy hlasů Kokoro se liší od názvů hlasů OpenAI. Pro Kokoro-FastAPI použijte hlasy, například af_bella, af_sarah, am_adam, nebo bf_emma. Názvy, například echo, nova, a alloy jsou názvy ve stylu OpenAI/openedai-speech a s Kokoro nemusí fungovat.

Nechte server spuštěný

Chcete-li Kokoro-FastAPI automaticky udržovat spuštěné na pozadí, použijte přepínač restartu Dockeru:

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

Nyní se spustí automaticky s Docker Desktop při každém restartu.

Nastavení openedai-speech (Piper a XTTS-v2)

openedai-speech zpřístupňuje koncový bod kompatibilní s OpenAI /v1/audio/speech , který Social Stream potřebuje. Malý obraz provozuje Piper na CPU; úplný obraz může provozovat klonování hlasu XTTS-v2 na podporovaném GPU.

Archivovaný projekt: openedai-speech byl archivován v lednu 2026 a označuje se za z velké části zastaralý. Zůstává užitečným příkladem kompatibility, ale již není udržovaný. Ponechte jej místní a nezpřístupňujte jeho neověřovaný port veřejnému internetu.

Možnost A: Nenáročný Piper

Použijte tuto možnost pro server TTS pouze na CPU do 1 GB. Neobsahuje XTTS-v2 ani klonování hlasu.

Instalace pomocí Docker Compose

1
Naklonujte repozitář nebo vytvořte složku s následujícím docker-compose.min.yml. Případně spusťte níže uvedené příkazy přímo.
2
Spusťte minimální obraz pouze s Piper:
docker run -d --restart unless-stopped \ -p 8000:8000 \ ghcr.io/matatonic/openedai-speech-min

Poznámka k instalaci ze zdrojů na Windows

Pokud spouštíte openedai-speech z místní kopie zdrojů místo Dockeru, přidejte složku skriptů jeho virtuálního prostředí do PATH před spuštěním serveru. Bez toho mohou požadavky vracet HTTP 500, protože server 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

Dostupné hlasy

openedai-speech používá názvy hlasů ve stylu OpenAI mapované na hlasy Piper:

alloy, echo, fable, onyx, nova, shimmer

URL SSN

dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=openai&openaiendpoint=http://localhost:8000/v1/audio/speech&voiceopenai=nova

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

Samotné XTTS-v2 je model, nikoli webové API. Použijte úplný server openedai-speech pro načtení modelu, výběr uloženého referenčního hlasu, přijetí textu chatu z SSN a vrácení přehratelného zvuku. Server uvádí praktický cíl přibližně 4 GB VRAM GPU; inference na CPU je možná, ale pomalá.

Nepoužívejte openedai-speech-min pro XTTS-v2. Minimální obraz obsahuje pouze Piper. XTTS-v2 vyžaduje úplnou instalaci a model=tts-1-hd v každém požadavku řeči.
1
Naklonujte archivovaný server, vytvořte soubor prostředí a spusťte celé nastavení Docker Compose se zapnutým GPU:
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 místo Copy-Item. Docker musí mít přístup k podporovanému GPU. Model se stáhne při prvním použití.

2
Připravte čistý referenční klip se souhlasem mluvčího. Dobrým začátkem je mono WAV 22050 Hz o délce 6 až 30 sekund:
ffmpeg -i input.mp3 -ac 1 -ar 22050 -t 6 -y voices/me.wav
3
Přidejte klonovaný hlas do stávající části tts-1-hd v config/voice_to_speaker.yaml:
tts-1-hd: me: model: xtts speaker: voices/me.wav language: en

Zachovejte všechny stávající hlasy již uvedené pod tts-1-hd. Změňte me na název hlasu, který má SSN odesílat, a podle potřeby použijte správný kód jazyka XTTS.

4
Restartujte server a poté na něj nasměrujte dok SSN nebo překryv vybrané zprávy:
docker compose restart
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 vyžadováno pro XTTS-v2. Pokud je vynecháno, Social Stream odešle své výchozí tts-1 a openedai-speech místo toho vybere Piper. Hodnota voiceopenai musí odpovídat názvu klonovaného hlasu v voice_to_speaker.yaml.

Pokud prohlížeč nebo OBS blokuje přímý požadavek, spusťte Místní most TTS na počítači OBS a zachovejte stejné parametry modelu a hlasu, zatímco měníte openaiendpoint na http://127.0.0.1:8124/v1/audio/speech.

Místní most TTS

Most je malý místní pomocník. Přijme požadavek prohlížeče z SSN, komunikuje s vaším serverem TTS a vrátí zvuk do SSN s hlavičkami vhodnými pro prohlížeč.

Nejjednodušší pravidlo: spusťte most na stejném počítači jako OBS. Potom OBS může použít http://127.0.0.1:8124/v1/audio/speech, i když skutečný server TTS 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
Zdroj Prohlížeč v OBS komunikuje s mostem na počítači OBS. Most potom může volat Kokoro-FastAPI, openedai-speech nebo jiný server.

Samostatná výchozí složka je local-tts-bridge/; viz README mostu pro všechny možnosti spuštění.

Proxy kompatibilní s OpenAI

Windows PowerShell, když server TTS běží na tomto stejném počítači:

$env:SSN_TTS_TARGET="http://127.0.0.1:8880/v1/audio/speech" npm run local-tts-bridge

Windows PowerShell, když server TTS běží na jiném počítači:

$env:SSN_TTS_TARGET="http://192.168.x.x:8880/v1/audio/speech" npm run local-tts-bridge

Terminál macOS/Linux:

SSN_TTS_TARGET="http://127.0.0.1:8880/v1/audio/speech" npm run local-tts-bridge

Poté nasměrujte OBS dock.html URL 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

Režim proxy GPT-SoVITS

GPT-SoVITS používá vlastní /tts strukturu JSON, takže most může převést požadavek SSN kompatibilní s OpenAI na tělo požadavku GPT-SoVITS.

$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" npm run local-tts-bridge -- --mode gptsovits
dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=customtts&openaiendpoint=http://127.0.0.1:8124/v1/audio/speech&openaiformat=wav

Režim proxy serveru F5-TTS

Některé serverové obálky F5-TTS zpřístupňují /synthesize_speech/?text=...&voice=... místo koncového bodu kompatibilního s OpenAI. Most může převést požadavek SSN do tohoto formátu dotazu.

$env:SSN_TTS_TARGET="http://127.0.0.1:7860/synthesize_speech/" npm run local-tts-bridge -- --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
Koncový bod mostu: http://127.0.0.1:8124/v1/audio/speech. Port změňte pomocí SSN_TTS_BRIDGE_PORT=8125 podle potřeby.

Připojení k Social Stream Ninja

Všechny výše uvedené vlastní hostované servery používají stejný způsob připojení — podporu vestavěnou v Social Stream: Koncový bod OpenAI TTS s vlastní místní URL.

Parametry URL

Parametr Hodnota Popis
ttsprovider customtts nebo openai Použijte cestu TTS kompatibilní s OpenAI. Použijte customtts pro místní/vlastní hostované koncové body.
openaiendpoint http://localhost:8880/v1/audio/speech URL místního serveru (port změňte podle potřeby)
speech en-US Zapíná TTS pro angličtinu
voiceopenai af_bella Název hlasu (závisí na serveru)
openaiformat mp3 Formát zvuku: mp3, wav, opus, flac
openaispeed 1.0 Rychlost řeči (0.5–2.0)
Aliasy koncového bodu: customttsendpoint a localttsendpoint také fungují. customttsvoice, localttsvoice, customttsmodel, localttsmodel, customttsformat, a localttsformat jsou přijímané aliasy polí ve stylu OpenAI.
Před řešením zvuku zkontrolujte koncový bod a hlas. openaiendpoint musí být dostupné ze stránky přehrávající TTS a voiceopenai musí být hlas podporovaný serverem. Kokoro-FastAPI používá názvy, například af_bella; openedai-speech často používá názvy, například nova nebo echo.

Úplné příklady URL

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

Další možnosti TTS

Fungují s libovolným poskytovatelem TTS včetně místních serverů:

Parametr Příklad Popis
simpletts &simpletts Vynechat „říká“ — číst pouze zprávu
simpletts2 &simpletts2 Úplně vynechat uživatelská jména
volume &volume=0.8 Hlasitost (0.0–1.0)
skipmessages &skipmessages=3 Číst pouze každou 3. zprávu
ttscommand &ttscommand=!say Číst pouze zprávy začínající na !say
readevents &readevents Číst také předplatná, dary atd.
ttsquick &ttsquick=100 Záměrně zkrátí řeč po tomto počtu znaků. Odstraňte, pokud se zprávy uřezávají.
Není potřeba klíč API. Při použití místního serveru (URL mimo openai.com) Social Stream Ninja odesílá požadavek bez hlavičky Authorization. Nemusíte nastavovat klíč.

Vestavěné možnosti prohlížeče vhodné k podpoře

SSN již podporuje systémové/prohlížečové speechSynthesis, vestavěné Kokoro, Piper, Kitten a eSpeak. Nejužitečnějšími budoucími doplňky v prohlížeči by byly výběr výstupního zvukového zařízení tam, kde setSinkId je dostupné, více hlasů Piper a vyhrazená cesta průběžného streamovaného přehrávání pro servery, které umějí streamovat zvukové úseky.

Jak dostat zvuk do OBS

Způsob zachytávání zvuku TTS v OBS závisí na tom, jak Social Stream Ninja provozujete.

Metoda 1 — Zdroj Prohlížeč v OBS Doporučeno

Jde o nejjednodušší metodu a funguje pro všechny poskytovatele TTS (vestavěný a vlastní hostovaný server).

1
V OBS přidejte nový Zdroj prohlížeče (Browser Source)
2
Nastavte URL na svůj dock.html URL s parametry TTS
3
Zkontrolujte „Ovládat zvuk přes OBS“ (Control audio via OBS) v nastavení zdroje Prohlížeč
4
Klikněte na OK— zvuk TTS se nyní objeví jako zvukový zdroj OBS, který můžete upravovat nebo směrovat
5
Jednou klikněte na zdroj Prohlížeč v náhledu pro povolení automatického přehrávání zvuku
Proč to funguje: Vestavěné TTS i TTS vlastního hostovaného serveru přehrávají zvuk přes zvukový kontext prohlížeče (nikoli syntézu řeči OS). OBS může přímo zachytávat zvuk prohlížeče, pokud je zaškrtnuto „Ovládat zvuk přes OBS“ (Control audio via OBS).

Metoda 2 — Desktopová aplikace SSN + zvuk plochy

Pokud používáte samostatnou desktopovou aplikaci Social Stream Ninja (nikoli zdroj Prohlížeč v OBS):

1
Zvuk TTS se z aplikace přehrává přes systémové reproduktory/sluchátka
2
V OBS přidejte Zachytávání zvukového vstupu (Audio Input Capture) nebo Zachytávání zvuku plochy zdroj
3
Pokud chcete TTS oddělit od ostatního zvuku plochy, použijte virtuální zvukový kabel:
  • Windows: VB-Audio Virtual Cable (zdarma)
  • Nastavte CABLE Input jako výstup aplikace SSN v nastavení zvuku Windows
  • Zachytávání CABLE Output v OBS pomocí Zachytávání zvukového vstupu

Odkazy ke směrování zvuku ve Windows

Směrování po aplikacích ve Windows 10

1
Otevřít Nastavení zvuku > Hlasitost aplikací a předvolby zařízení.
2
Najděte prohlížeč nebo aplikaci SSN v seznamu aplikací.
3
Nastavte Výstup (Output) na CABLE Input (VB-Audio Virtual Cable).
4
V OBS přidejte Zachytávání zvukového vstupu (Audio Input Capture) a vyberte CABLE Output.

Směrování po aplikacích ve Windows 11

1
Otevřít Nastavení > Systém > Zvuk > Směšovač hlasitosti.
2
Najděte prohlížeč nebo aplikaci SSN.
3
Nastavte Výstupní zařízení (Output device) na CABLE Input (VB-Audio Virtual Cable).
4
V OBS přidejte Zachytávání zvukového vstupu (Audio Input Capture) a vyberte CABLE Output.

Software Audio Router

Audio Router dokáže nasměrovat jednu aplikaci do virtuálního kabelu, ale jde o starší software. Pokud funguje, upřednostněte směrování po aplikacích ve Windows.

1
Nainstalujte Audio Router.
2
Nasměrujte prohlížeč nebo aplikaci SSN do CABLE Input.
3
V OBS zachytávejte CABLE Output.

Pokročilé směrování Voicemeeter

Voicemeeter je nejlepší, když potřebujete TTS slyšet místně, nasměrovat je do OBS a oddělit je od hudby/herního zvuku.

1
Nainstalujte Voicemeeter a nastavte jej jako výchozí výstup Windows.
2
Nastavte Hardware Out na reproduktory/sluchátka.
3
Nasměrujte virtuální výstup do OBS jako zdroj Zachytávání zvukového vstupu.
Systémové TTS (?speech=en-US bez poskytovatele) závisí na hlasech zpřístupněných prohlížečem. OBS nemusí zpřístupnit žádné hlasy nebo může hlasy vypsat bez vytváření zachytitelného zvuku. Řeč a nahrávku OBS testujte samostatně. Použijte některého z výše uvedených poskytovatelů (kokoro, piperatd.) místo toho.

Srovnávací tabulka

Možnost Nastavení Kvalita Soukromý OBS (zdroj Prohlížeč) Potřebné GPU Cena
Vestavěné Kokoro Žádné ⭐⭐⭐⭐⭐ Ano Ano Ne (s GPU rychlejší) Zdarma
Vestavěný Piper Žádné ⭐⭐⭐⭐ Ano Ano Ne Zdarma
Vestavěný Kitten Žádné ⭐⭐⭐ Ano Ano Ne Zdarma
Vestavěný eSpeak Žádné ⭐⭐ Ano Ano Ne Zdarma
Kokoro-FastAPI Docker ⭐⭐⭐⭐⭐ Ano Ano Ne (volitelné) Zdarma
openedai-speech Docker ⭐⭐⭐⭐ Ano Ano Ne Zdarma
ElevenLabs Klíč API ⭐⭐⭐⭐⭐ Ne Ano Ne Placené úrovně
Systémové TTS Žádné ⭐⭐ Ano Ne* Ne Zdarma

* Systémové TTS vyžaduje pro zachytávání v OBS směrování přes virtuální zvukový kabel.

Řešení potíží

Kontrolní seznam ve stylu snímku obrazovky pro řešení problémů místního TTS
Když TTS funguje na jednom místě, ale na jiném ne, kontrolujte v tomto pořadí počítač, koncový bod, hlas, oprávnění prohlížeče a zachytávání zvuku OBS.

Test v aplikaci SSN funguje, ale OBS nemá zvuk

Test aplikace dokazuje pouze to, že aplikace dosáhne na server. Zdroj Prohlížeč v OBS stále musí dosáhnout na koncový bod a přehrát zvuk.

Čte se pouze první písmeno nebo prvních několik slov

Místní server neodpovídá

Blokováno CORS nebo místní sítí

Pokud prohlížeč hlásí blokování požadavku kvůli CORS, přístupu k místní nebo soukromé síti či selhání fetch, server TTS nemusí požadavek vůbec přijmout.

Nesprávný nebo nenalezený hlas

Zvuk hraje, ale OBS jej nezachytává

Obraz Docker nebyl nalezen

Značky obrazů Docker se mohou měnit. Pokud příkaz v tomto průvodci přestane fungovat, zkontrolujte aktuální značku na stránce projektu:

Další možnosti TTS: Informace o prémiovém cloudovém TTS (ElevenLabs, Google Cloud, Speechify) a úplnou příručku parametrů URL obsahuje Průvodce hlasy TTS.