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 instalace | Použijte vestavěné hlasy. Většině uživatelů to stačí. |
| Používat hlasový server, který už provozuji | Připojit server. |
| Klonovaný hlas | Viz klonování hlasu. |
| Fish Audio v OBS | Podívejte se na Nastavení Fish Audio. |
| Placené cloudové hlasy | Podívejte se na Referenční příručka TTS. |
Vestavěné hlasy (bez instalace)
Běží uvnitř SSN ve vašem prohlížeči. Bez serveru, Dockeru nebo klíče API.
| Hlas | Zvuk | Zátěž počítače | Hodnota v odkazu |
|---|---|---|---|
| Kokoro | Výborný | Střední. S GPU rychlejší. | ttsprovider=kokoro |
| Piper | Velmi dobrý | Nízká. Pouze CPU. | ttsprovider=piper |
| Kitten | Dobrý | Velmi nízká. Pouze CPU. | ttsprovider=kitten |
| eSpeak-NG | Robotický | Minimální. Pouze CPU. | ttsprovider=espeak |
Nastavení ve 4 krocích
- Přidejte
&speech=en-US&ttsprovider=kokorodo svéhodock.htmlodkaz. (Nebopiper,kitten,espeak.) - Přidejte tento odkaz do OBS jako Zdroj prohlížeče (Browser Source). Právě tato stránka vytváří zvuk.
- V jeho vlastnostech zapněte Ovládat zvuk přes OBS (Control audio via OBS).
- Pošlete krátkou zkušební zprávu, například
Testing local TTS.
dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=kokoro
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.
- Spusťte server. Kokoro-FastAPI je nejjednodušší.
- V SSN otevřete seznam poskytovatelů TTS a vyberte Vlastní / místní koncový bod TTS.
- V části Custom / Local API Endpoint, zadejte adresu serveru, například
http://127.0.0.1:8880/v1/audio/speech. - Pole pro klíč API nechte prázdné.
- Vyberte hlas, který váš server zná:
af_bellapro Kokoro,novapro openedai-speech. - Zkopírujte odkaz do OBS a pošlete zkušební zprávu.
| Server | Model | GPU | Disk | Port |
|---|---|---|---|---|
| Kokoro-FastAPI (doporučeno) | Kokoro 82M | Volitelné | ~2 GB | 8880 |
| openedai-speech (Piper) | Piper | Pouze CPU | <1 GB | 8000 |
| kokoro-web | Kokoro 82M | Volitelné | ~2 GB | 3000 |
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.
| Vaše nastavení | Použijte tuto adresu |
|---|---|
| OBS a server na stejném počítači | http://127.0.0.1:8880/v1/audio/speech |
| Server na jiném počítači doma | http://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é.
- 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. - Otevřít
http://localhost:8880/web/. Měla by se zobrazit stránka pro zkoušení hlasů (dostupných je přes 67). - 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
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)
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
- 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žijtecp sample.env speech.env. Docker potřebuje přístup ke GPU. Model se stáhne při prvním použití. - 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
- V části
config/voice_to_speaker.yaml, přidejte jej pod stávajícítts-1-hdsekce (ponechte stávající hlasy):tts-1-hd: me: model: xtts speaker: voices/me.wav language: enZměňtemena název, který SSN odešle. - 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.
http://127.0.0.1:8124/v1/audio/speech, i když hlasový server běží na jiném počítači.
- Ř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říkladhttp://192.168.x.x:8880/v1/audio/speech. - Ve složce SSN spusťte
node scripts/local-tts-bridge.cjs. Nechte jej běžet. - 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.
- Nahrajte čistý klip jediného mluvčího, obvykle 3–30 sekund, s minimálním hlukem v pozadí.
- Některé servery potřebují také přesný přepis slov v klipu.
- Server převede klip na hlasový profil.
- SSN posílá text chatu pomocí
ttsprovider=customtts. - Server vrátí zvuk, obvykle WAV nebo MP3, a SSN jej přehraje.
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žnost | Klonuje z | Stačí GPU s 6 GB? | Jak se připojit |
|---|---|---|---|
| XTTS-v2 / openedai-speech | Krátký klip WAV | Ano, přibližně 4 GB | Přímo, /v1/audio/speech. Projekt je archivovaný. |
| chatterbox-tts-api / Chatterbox-TTS-Server | Referenční klip | Pravděpodobně s Turbo nebo malými úseky | Přímo nebo přes most. GPU běží plynuleji než CPU. Nastavení se liší podle forku. |
| Qwen3-TTS (0,6B / 1,7B) | 3sekundový klip | Pravděpodobně (0.6B Base) | Vyžaduje adaptér kompatibilní s OpenAI. |
| GPT-SoVITS | 5 sekund; lépe 1 minuta | Pravděpodobně s fp16 / lehkou instalací | Most --mode gptsovits. |
| F5-TTS | Klip a jeho přepis | Možná | Adaptér nebo most --mode f5 s F5-TTS_server. |
| MisoTTS 8B | Referenční zvuk | Ne; doporučeno 24 GB | Pouze 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žnost | Minimum | Pro pohodlný provoz |
|---|---|---|
| Systémové TTS / eSpeak | Libovolný počítač | Libovolný počítač |
| Vestavěný Kitten | Slabší CPU, 4 GB RAM | CPU notebooku, 8 GB RAM |
| Vestavěný Piper | Moderní CPU, 4–8 GB RAM | Moderní CPU, 8 GB RAM |
| Vestavěné Kokoro | Moderní CPU, 8 GB RAM | GPU s WebGPU nebo rychlý CPU, 8–16 GB RAM |
| Kokoro-FastAPI | CPU, 8 GB RAM | Volitelná NVIDIA GPU, 8–16 GB RAM |
| openedai-speech Piper | CPU, 4–8 GB RAM | CPU, 8 GB RAM |
| openedai-speech XTTS | NVIDIA GPU přibližně 4 GB, 8–16 GB RAM | GPU NVIDIA s 6 GB+, 16 GB RAM |
| Chatterbox | CPU u některých sestavení, pomalé | GPU NVIDIA s 6 GB+, 16 GB RAM |
| GPT-SoVITS / F5-TTS / Qwen3-TTS | CPU pro testování, pomalé | GPU NVIDIA s 6 GB+, 16 GB RAM |
| MisoTTS 8B | S 6 GB ne | GPU 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.
- Přidejte Zdroj prohlížeče (Browser Source) se svým
dock.htmlodkaz TTS. - Zapněte Ovládat zvuk přes OBS (Control audio via OBS).
- 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.
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.
&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žnost | Nastavení | Kvalita | Soukromý | Funguje v OBS | Cena |
|---|---|---|---|---|---|
| Vestavěné Kokoro | Žádné | 5/5 | Ano | Ano | Zdarma |
| Vestavěný Piper | Žádné | 4/5 | Ano | Ano | Zdarma |
| Vestavěný Kitten | Žádné | 3/5 | Ano | Ano | Zdarma |
| Vestavěný eSpeak | Žádné | 2/5 | Ano | Ano | Zdarma |
| Kokoro-FastAPI | Docker | 5/5 | Ano | Ano | Zdarma |
| openedai-speech | Docker | 4/5 | Ano | Ano | Zdarma |
| ElevenLabs | API klíč (API key) | 5/5 | Ne | Ano | Placené úrovně |
| Systémové TTS | Žádné | 2/5 | Ano | Vyžaduje směrování zvuku | Zdarma |
Řešení problémů
| Problém | Vyzkouš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 slova | Odstranit 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 nenalezen | Kokoro-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 nalezen | Tagy 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ý soubor | Ano | Nejlepší. audio/mpeg, audio/wav, audio/ogg, audio/aac, nebo libovolný typ zvuku přehratelný v prohlížeči. |
| JSON s adresou zvuku | Ano | Kontroly url, audio_url, output_url, data.urla první data[] položku. |
| JSON se zvukem v base64 | Ano | Kontroly audio, audio_data, audioContent, b64_json, vnořené data pole a datové URL. |
| Nezpracované PCM | Pouze s obálkou | Poš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říklad | Co dělá |
|---|---|---|
ttsprovider | customtts | Použijte vlastní server. (openai také funguje.) |
openaiendpoint | http://localhost:8880/v1/audio/speech | Adresa vašeho serveru. Upravte port tak, aby odpovídal. |
speech | en-US | Zapne TTS v angličtině. |
voiceopenai | af_bella | Název hlasu. Záleží na serveru. |
openaimodel | tts-1-hd | Název modelu. Výchozí tts-1. |
openaiformat | mp3 | mp3, wav, opus nebo flac. |
openaispeed | 1.0 | Rychlost ř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