Buna ihtiyacım var mı?
“Yerel” iki şeyden biridir: SSN içinde tarayıcıda çalışan yerleşik ses veya kendiniz çalıştırdığınız ses sunucusu.
| İstiyorum… | Yapılacak işlem |
|---|---|
| Kurulum gerektirmeyen ücretsiz sesler | Şunu kullanın: yerleşik sesler. Çoğu kullanıcı için bu kadarı yeterlidir. |
| Zaten çalıştırdığım ses sunucusunu kullanmak | Sunucu bağlayın. |
| Klonlanmış ses | Bkz. ses klonlama. |
| OBS'de Fish Audio | Bkz. Fish Audio kurulumu. |
| Ücretli bulut sesleri | Bkz. TTS başvuru rehberi. |
Yerleşik sesler (kurulum gerekmez)
Bunlar tarayıcınızda SSN içinde çalışır. Sunucu, Docker veya API anahtarı gerekmez.
| Ses | Ses | Bilgisayar yükü | Bağlantı değeri |
|---|---|---|---|
| Kokoro | Mükemmel | Orta. GPU ile daha hızlı. | ttsprovider=kokoro |
| Piper | Çok iyi | Düşük. Yalnızca CPU. | ttsprovider=piper |
| Kitten | İyi | Çok düşük. Yalnızca CPU. | ttsprovider=kitten |
| eSpeak-NG | Robotik | Çok düşük. Yalnızca CPU. | ttsprovider=espeak |
4 adımda kurulum
- Ekleyin:
&speech=en-US&ttsprovider=kokoroşuraya:dock.htmlbağlantısı. (Veyapiper,kitten,espeak.) - Bu bağlantıyı OBS'ye şu kaynak olarak ekleyin: Tarayıcı Kaynağı. Sesi üreten sayfa budur.
- Özelliklerinde şunu açın: Sesi OBS üzerinden denetle.
- Kısa bir test mesajı gönderin; örneğin
Testing local TTS.
dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=kokoro
Sesler, hız ve diğer diller: sağlayıcı ayarları. Tıklamayı mı tercih ediyorsunuz? Şunu kullanın: kurulum kılavuzu.
Kendi TTS sunucunuzu bağlayın
Sunucu daha fazla ses, ses klonlama veya farklı araçlarda kullanacağınız ortak bir ses sağlar. SSN sunucuyla şu tür bir hizmet gibi konuşur: OpenAI uyumlu konuşma sunucusu. API anahtarı gerekmez.
- Sunucunuzu başlatın. Kokoro-FastAPI en kolay seçenektir.
- SSN'de TTS sağlayıcı listesini açıp şunu seçin: Özel / Yerel TTS Uç Noktası.
- Şurada: Custom / Local API Endpoint, sunucunuzun adresini girin; örneğin
http://127.0.0.1:8880/v1/audio/speech. - API anahtarını boş bırakın.
- Sunucunuzun tanıdığı bir sesi seçin:
af_bellaKokoro için,novaopenedai-speech için. - Bağlantıyı OBS'ye kopyalayın ve test mesajı gönderin.
| Sunucu | Model | GPU | Disk | Port |
|---|---|---|---|---|
| Kokoro-FastAPI (önerilir) | Kokoro 82M | İsteğe bağlı | ~2 GB | 8880 |
| openedai-speech (Piper) | Piper | Yalnızca CPU | <1 GB | 8000 |
| kokoro-web | Kokoro 82M | İsteğe bağlı | ~2 GB | 3000 |
Bunlar şunu gerektirir: Docker Desktop kurulu ve çalışıyor olmalıdır. Kişisel kullanım ücretsizdir.
localhost kuralı
En yaygın hata budur.
localhost ve 127.0.0.1 her zaman “bu bilgisayar” anlamına gelir. OBS bir bilgisayarda, ses sunucusu başka bilgisayardaysa, 127.0.0.1 OBS içinde OBS bilgisayarını gösterir.
| Kurulumunuz | Bu adresi kullanın |
|---|---|
| OBS ve sunucu aynı bilgisayarda | http://127.0.0.1:8880/v1/audio/speech |
| Sunucu evdeki başka bilgisayarda | http://192.168.x.x:8880/v1/audio/speech, o bilgisayarın yerel IP adresiyle |
| SSN uygulama testi çalışıyor, OBS sessiz | OBS'nin kendi erişebildiği çalışan bir adres gerekir. Uygulama testi OBS'nin sunucuya erişebildiğini göstermez. |
Güvenlik duvarının porta izin verdiğini ve Docker'ın portu yayımladığını da kontrol edin (-p 8880:8880).
Kokoro-FastAPI
Kokoro-FastAPI Kokoro'yu yerel sunucu olarak çalıştırır. CPU ile çalışır, GPU gerekmez.
- Bir terminal (Komut İstemi, PowerShell veya Terminal) açıp şu komutlardan birini çalıştırın:
docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:v0.2.2
NVIDIA GPU (daha hızlı):
docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:v0.2.0post4
İlk çalıştırma bir kere yaklaşık 1,5–2 GB indirir. - Açın:
http://localhost:8880/web/. Sesleri denemek için bir sayfa görmelisiniz; 67'den fazla ses vardır. - Bu bağlantıyı kullanın; sunucu başka bilgisayardaysa adresi değiştirin:
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 veya bf_emma. Şu tür OpenAI adları: nova veya alloy çalışmayabilir.Docker ile otomatik başlatın:
docker run -d --restart unless-stopped -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:v0.2.2
openedai-speech (Piper ve XTTS-v2)
Seçenek A: Hafif Piper sunucusu (CPU)
1 GB'ın altında. Ses klonlama yok.
docker run -d --restart unless-stopped -p 8000:8000 ghcr.io/matatonic/openedai-speech-min
Sesler: 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
Windows'ta kaynak koddan çalıştırma (HTTP 500 hataları)
Sanal ortamındaki şu yolu ekleyin: Scripts klasöründen şu konuma: PATH önce. Aksi halde şunu bulamaz: piper.exe veya 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
Seçenek B: XTTS-v2 ses klonlama (GPU)
Tam sunucuyu gerektirir; şu yeterli değildir: openedai-speech-min. Yaklaşık 4 GB GPU belleği planlayın. CPU çalışır ama yavaştır.
XTTS-v2'yi 4 adımda kurun
- Sunucuyu edinin ve başlatın:
git clone https://github.com/matatonic/openedai-speech.git cd openedai-speech Copy-Item sample.env speech.env docker compose up -d
macOS veya Linux'ta şunu kullanın:cp sample.env speech.env. Docker GPU erişimi gerektirir. Model ilk kullanımda indirilir. - Kullanma izniniz olan bir sesin temiz referans kaydını oluşturun. Mono, 22050 Hz, 6–30 saniye:
ffmpeg -i input.mp3 -ac 1 -ar 22050 -t 6 -y voices/me.wav
- Şurada:
config/voice_to_speaker.yaml, mevcut bölümün altına ekleyin:tts-1-hdbölümü; mevcut sesleri koruyun:tts-1-hd: me: model: xtts speaker: voices/me.wav language: enDeğiştirin:meSSN'nin göndereceği ada. - Çalıştırın:
docker compose restart, ardından şunu kullanın: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 gereklidir. Bu olmadan SSN şunu gönderir: tts-1, sunucu bunun yerine Piper kullanır. voiceopenai YAML dosyasındaki ses adıyla eşleşmelidir.Tarayıcı mı engelliyor? Şunu çalıştırın: köprü ve yalnızca şunu değiştirin: openaiendpoint şu değere: http://127.0.0.1:8124/v1/audio/speech.
Yerel TTS köprüsü
SSN'nin küçük bir yardımcı aracıdır. SSN isteğini alır, ses sunucunuza iletir ve sesi tarayıcıların kabul ettiği biçimde geri verir. Node.js gerektirir.
http://127.0.0.1:8124/v1/audio/speech, ses sunucusu başka bilgisayarda olsa bile.
- Köprüye sunucunun yerini bildirin. PowerShell:
$env:SSN_TTS_TARGET="http://127.0.0.1:8880/v1/audio/speech"
Sunucu başka bilgisayarda mı? Yerel IP'sini kullanın; örneğinhttp://192.168.x.x:8880/v1/audio/speech. - SSN klasöründe şunu çalıştırın:
node scripts/local-tts-bridge.cjs. Çalışır durumda bırakın. - SSN'yi köprüye yönlendirin:
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, tek satırda: SSN_TTS_TARGET="http://127.0.0.1:8880/v1/audio/speech" node scripts/local-tts-bridge.cjs. Şunun içinde: local-tts-bridge klasöründe, node server.cjs aynı işi yapar. Portu şununla değiştirin: SSN_TTS_BRIDGE_PORT=8125. Tüm seçenekler: köprü README dosyası.
GPT-SoVITS modu
GPT-SoVITS kendi biçimini kullanır: /tts biçimi. Köprü bunun için dönüşüm yapar.
$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 sunucu modu
Bazı F5-TTS uyarlayıcıları şunu kullanır: /synthesize_speech/?text=...&voice=.... Köprü bunlar için dönüşüm yapar.
$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
Ses klonlama
Klonlama bir SSN ayarı değil, bazı ses sunucularının özelliğidir. SSN sohbet metnini gönderir; klonlanmış sesi sunucu seçer.
- Az arka plan gürültüsüyle tek konuşmacının temiz kaydını alın; genellikle 3–30 saniye.
- Bazı sunucular klipte konuşulan kelimelerin birebir metnini de ister.
- Sunucu klibi bir ses profiline dönüştürür.
- SSN sohbet metnini şununla gönderir:
ttsprovider=customtts. - Sunucu sesi döndürür; genellikle WAV veya MP3. SSN bunu oynatır.
GPU belleği 6 GB veya daha azsa OpenAI uyumlu sunucularda küçük modellerle başlayın. Büyük modeller başka yerde barındırılıyorsa onlar da çalışır.
| Seçenek | Klonlama girdisi | 6 GB GPU yeterli mi? | Nasıl bağlanılır |
|---|---|---|---|
| XTTS-v2 / openedai-speech | Kısa WAV klibi | Evet, yaklaşık 4 GB | Doğrudan, /v1/audio/speech. Proje arşivlenmiştir. |
| chatterbox-tts-api / Chatterbox-TTS-Server | Referans klip | Turbo veya küçük parçalarla muhtemelen | Doğrudan veya köprüyle. GPU, CPU'dan daha akıcıdır. Kurulum kullanılan çatala göre değişir. |
| Qwen3-TTS (0.6B / 1.7B) | 3 saniyelik klip | Muhtemelen (0.6B Base) | OpenAI uyumlu bir uyarlayıcı gerektirir. |
| GPT-SoVITS | 5 saniye; 1 dakika daha iyi | fp16 / hafif kurulumla muhtemelen | Köprü --mode gptsovits. |
| F5-TTS | Klip ve konuşma dökümü | Belki | Uyarlayıcı veya köprü --mode f5 şununla: F5-TTS_server. |
| MisoTTS 8B | Örnek ses | Hayır; 24 GB önerilir | Yalnızca uzak barındırma. Depoda yerel REST uç noktası yok. |
Yerleşik Kokoro ve Kokoro-FastAPI ses klonlamaz.
SSN ile test edilenler
İkisiyle de kontrol edildi: dock.html ve featured.html:
- openedai-speech (Piper): CPU üzerinde gerçek konuşma, doğrudan ve köprü üzerinden.
- Chatterbox-TTS-Server: CPU üzerinde gerçek konuşma, şu sesle:
Emily.wav, doğrudan ve köprü üzerinden. - chatterbox-tts-api: istek biçimi doğrudan ve köprü üzerinden test edildi.
- GPT-SoVITS ve F5-TTS_server: yalnızca köprü modları üzerinden.
- Resmî F5-TTS ve Qwen3-TTS: önce bir uyarlayıcı gerekir; yalnızca CLI, Gradio veya kitaplık sunar.
Nasıl bir bilgisayar gerekir?
Bunlar yaklaşık başlangıç değerleridir, garanti değildir. Model boyutu, metin uzunluğu ve diğer uygulamalar bellek kullanımını değiştirir.
| Seçenek | Asgari | Rahat kullanım |
|---|---|---|
| Sistem TTS / eSpeak | Herhangi bir bilgisayar | Herhangi bir bilgisayar |
| Yerleşik Kitten | Düşük güçlü CPU, 4 GB RAM | Dizüstü CPU'su, 8 GB RAM |
| Yerleşik Piper | Güncel CPU, 4–8 GB RAM | Modern CPU, 8 GB RAM |
| Yerleşik Kokoro | Modern CPU, 8 GB RAM | WebGPU destekli GPU veya hızlı CPU, 8–16 GB RAM |
| Kokoro-FastAPI | CPU, 8 GB RAM | İsteğe bağlı NVIDIA GPU, 8–16 GB RAM |
| openedai-speech Piper | CPU, 4–8 GB RAM | CPU, 8 GB RAM |
| openedai-speech XTTS | Yaklaşık 4 GB NVIDIA GPU, 8–16 GB RAM | 6 GB+ NVIDIA GPU, 16 GB RAM |
| Chatterbox | Bazı sürümlerde CPU, yavaş | 6 GB+ NVIDIA GPU, 16 GB RAM |
| GPT-SoVITS / F5-TTS / Qwen3-TTS | Test için CPU, yavaş | 6 GB+ NVIDIA GPU, 16 GB RAM |
| MisoTTS 8B | 6 GB ile olmaz | 24 GB GPU veya uzak sunucu |
Sesi OBS'ye aktarın
OBS Tarayıcı Kaynağı (önerilir)
Yerleşik seslerle ve kendi sunucunuzla çalışır.
- Şunu ekleyin: Tarayıcı Kaynağı kendi
dock.htmlTTS bağlantısı. - Açın: Sesi OBS üzerinden denetle.
- Tıklayın: Tamam. TTS artık OBS mikserinde görünür.
SSN masaüstü uygulaması
Masaüstü uygulaması aynı bağlantı ayarlarını kullanır. Ancak ses OBS'den değil uygulamadan çıkar. Şununla yakalayın: Masaüstü sesi veya Ses Girişi Yakalama (Audio Input Capture). TTS'yi diğer seslerden ayırmak için uygulamayı sanal kabloya yönlendirin: yönlendirme adımları.
Masaüstü uygulaması hakkında daha fazla bilgi
Uygulama pencereleri tarayıcı izinlerinde (CORS) Chrome'dan daha az katıdır. Tarayıcı isteklerini reddeden sunucular için en güvenilir seçenek yine köprüdür. Yerleşik Kokoro için uygulama kendi yolunu kullanabilir: ninjafy.tts yolunu, modeli tarayıcıda yüklemek yerine kullanır.
&speech=en-US sağlayıcısız kullanıldığında) OBS'nin sahip olduğu seslere bağlıdır. Çoğu zaman hiç ses yoktur veya yakalanabilir ses üretilmez. Bunun yerine yukarıdaki sağlayıcılardan birini kullanın.Yan yana karşılaştırma
| Seçenek | Kurulum | Kalite | Özel | OBS'de çalışır | Maliyet |
|---|---|---|---|---|---|
| Yerleşik Kokoro | Yok | 5/5 | Evet | Evet | Ücretsiz |
| Yerleşik Piper | Yok | 4/5 | Evet | Evet | Ücretsiz |
| Yerleşik Kitten | Yok | 3/5 | Evet | Evet | Ücretsiz |
| Yerleşik eSpeak | Yok | 2/5 | Evet | Evet | Ücretsiz |
| Kokoro-FastAPI | Docker | 5/5 | Evet | Evet | Ücretsiz |
| openedai-speech | Docker | 4/5 | Evet | Evet | Ücretsiz |
| ElevenLabs | API anahtarı | 5/5 | Hayır | Evet | Ücretli planlar |
| Sistem TTS | Yok | 2/5 | Evet | Ses yönlendirmesi gerekir | Ücretsiz |
Sorunları giderme
| Sorun | Şunu deneyin |
|---|---|
| Uygulama testi çalışıyor, OBS sessiz | OBS sunucuya kendisi erişmelidir. Sunucu başka bilgisayarda mı? Şunu değiştirin: 127.0.0.1 yerel IP'siyle değiştirin. Şunu kontrol edin: Sesi OBS üzerinden denetle. Hâlâ engelleniyor mu? Köprüyü OBS bilgisayarında çalıştırın. |
| Yalnızca ilk harf veya kelimeler okunuyor | Kaldır ttsquick OBS bağlantısından; örneğin &ttsquick=14) ve yenileyin. Test sırasında şunu da kaldırın: typewriter= zamanlama sorunlarını elemek için. |
| Sunucu yanıt vermiyor | Docker'ın ve kapsayıcının çalıştığını kontrol edin. Sunucu bilgisayarında şunu açın: http://127.0.0.1:8880/web/ (Kokoro-FastAPI veya sunucunuzun portu). OBS bilgisayarında şu adresi açın: http://SERVER_LAN_IP:8880/web/. Bu başarısızsa OBS de erişemez. Sunucunun güvenlik duvarını kontrol edin. |
| “Blocked by CORS”, “private network” veya “failed fetch” | İstek sunucuya ulaşmadan tarayıcı tarafından engellendi. Şunu çalıştırın: node scripts/local-tts-bridge.cjs OBS bilgisayarında çalıştırıp şunu kullanın: http://127.0.0.1:8124/v1/audio/speech. Barındırılan beta Dock sayfası daha kolay engellenebilir; köprü veya yerel uygulama penceresi daha kolaydır. |
| Yanlış ses veya ses bulunamadı | Kokoro-FastAPI: af_bella, af_sarah, am_adam, veya web sayfasındaki bir sesi seçin. openedai-speech: nova, echo, alloy. Bazı sunucular büyük/küçük harfe duyarlıdır. |
| Ses çalıyor ama OBS yakalamıyor | Açın: Sesi OBS üzerinden denetle. Test sırasında OBS mikser göstergesini izleyin. Şunu ayarladığınızdan emin olun: &ttsprovider=; System TTS, masaüstü sesi veya sanal kablo gerektirebilir. |
| Docker imajı bulunamadı | İmaj etiketleri değişir. Güncel etiketi şurada kontrol edin: Kokoro-FastAPI veya openedai-speech. |
Sunucu geliştirenler için
SSN'nin özel sunucuyla nasıl konuştuğu. Yalnızca sunucu geliştiriyor veya hata ayıklıyorsanız gerekir.
chat text -> SSN -> your endpoint (or the bridge) -> TTS server -> audio -> SSN plays it
SSN ne gönderir?
Şununla: ttsprovider=customtts, localtts veya openai, SSN şu JSON POST isteğini gönderir:
POST /v1/audio/speech
{
"model": "tts-1",
"input": "Chat message text",
"voice": "af_bella",
"response_format": "mp3",
"speed": 1.0
}
API anahtarı ayarlanmamışsa SSN, Authorization başlığı göndermez.
SSN neleri oynatabilir?
| Yanıt | Çalışır mı? | Notlar |
|---|---|---|
| Ses dosyası | Evet | En iyi. audio/mpeg, audio/wav, audio/ogg, audio/aac, ya da tarayıcının oynatabildiği başka bir tür. |
| Ses URL'si içeren JSON | Evet | Kontroller url, audio_url, output_url, data.url, ve ilk data[] öğesi. |
| Base64 ses içeren JSON | Evet | Kontroller audio, audio_data, audioContent, b64_json, iç içe data alanlarını ve veri URL'lerini kontrol eder. |
| Ham PCM | Yalnızca sarmalayıcıyla | WAV dosyası veya base64 WAV olarak gönderin. |
Biçimler: mp3 küçüktür ve yaygın biçimde desteklenir. wav klonlama sunucuları ve köprü testi için uygundur. Şunu kullanın: opus yalnızca sunucu ve tarayıcı birlikte destekliyorsa.
Henüz akış desteği yok. SSN tüm yanıtı bekler, sonra oynatır. Sohbet mesajlarını kısa tutun.
Kendi sunucunuz için bağlantı ayarları
| Ayar | Örnek | Ne yapar |
|---|---|---|
ttsprovider | customtts | Kendi sunucunuzu kullanın. (openai da çalışır.) |
openaiendpoint | http://localhost:8880/v1/audio/speech | Sunucunuzun adresi. Portu eşleşecek şekilde değiştirin. |
speech | en-US | TTS'yi İngilizce olarak açar. |
voiceopenai | af_bella | Ses adı. Sunucuya bağlıdır. |
openaimodel | tts-1-hd | Model adı. Varsayılan: tts-1. |
openaiformat | mp3 | mp3, wav, opus veya flac. |
openaispeed | 1.0 | Konuşma hızı (0,5–2,0). |
Ayrıca kabul edilenler: customttsendpoint, localttsendpoint, customttsvoice, localttsvoice, customttsmodel, localttsmodel, customttsformat, localttsformat. Şu tür okuma seçenekleri: simpletts, skipmessages ve ttsquick her sağlayıcıyla çalışır: tüm bağlantı ayarları.
Örnek bağlantılar:
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