คู่มือ AI TTS ในเครื่อง

รันเสียงแชตบนคอมพิวเตอร์คุณ สตรีมเมอร์ส่วนใหญ่ใช้แค่เสียงในตัวก็พอ

ฉันต้องใช้ไหม?

“ในเครื่อง” หมายถึงได้สองอย่าง: เสียงในตัว SSN ที่รันในเบราว์เซอร์ หรือเซิร์ฟเวอร์เสียงที่คุณรันเอง

ฉันต้องการ…ทำตามนี้
เสียงฟรีโดยไม่ต้องติดตั้งใช้ เสียงในตัว ผู้ใช้ส่วนใหญ่จบที่นี่
ใช้เซิร์ฟเวอร์เสียงที่ฉันมีอยู่เชื่อมเซิร์ฟเวอร์.
เสียงโคลนดู การโคลนเสียง.
Fish Audio ใน OBSดู การตั้งค่า Fish Audio.
เสียงคลาวด์แบบเสียเงินดู เอกสารอ้างอิง TTS.
ใช้ได้กับแชตทุกชนิดที่ SSN จับ เสียงเป็นของตัวเล่น SSN ไม่ใช่ YouTube หรือ Twitch ต่างจาก TTS ของระบบ เสียง AI ในเครื่องสร้างเสียงของตัวเอง OBS จึงจับได้ เปรียบเทียบผู้ให้บริการและฟังตัวอย่าง.

เสียงในตัว (ไม่ต้องติดตั้ง)

ทำงานภายใน SSN ในเบราว์เซอร์ ไม่ต้องมีเซิร์ฟเวอร์ Docker หรือคีย์ API

เสียงเสียงภาระคอมพิวเตอร์ค่าในลิงก์
Kokoroยอดเยี่ยมปานกลาง เร็วขึ้นด้วย GPUttsprovider=kokoro
Piperดีมากต่ำ ใช้ CPU เท่านั้นttsprovider=piper
Kittenดีต่ำมาก ใช้ CPU เท่านั้นttsprovider=kitten
eSpeak-NGเสียงหุ่นยนต์น้อยมาก ใช้ CPU เท่านั้นttsprovider=espeak

ตั้งค่าใน 4 ขั้นตอน

  1. เพิ่ม &speech=en-US&ttsprovider=kokoro ไปยัง URL ของ dock.html ลิงก์ (หรือ piper, kitten, espeak.)
  2. เพิ่มลิงก์นั้นใน OBS เป็น แหล่งเบราว์เซอร์ (Browser Source) นั่นคือหน้าที่สร้างเสียง
  3. ในคุณสมบัติ เปิด ควบคุมเสียงผ่าน OBS (Control audio via OBS).
  4. ส่งแชตทดสอบสั้น ๆ เช่น Testing local TTS.
dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=kokoro
ครั้งแรกช้า Kokoro และ Piper ดาวน์โหลดโมเดลก่อน ประมาณ 50–200 MB ครั้งต่อไปใช้ไฟล์เดิมแต่ยังใช้เวลาเริ่มสักครู่ OBS เก็บสำเนาแยกจาก Chrome

เสียง ความเร็ว และภาษาอื่น: การตั้งค่าผู้ให้บริการ อยากใช้การคลิก? ใช้ คู่มือตั้งค่า.

เชื่อมเซิร์ฟเวอร์ TTS ของคุณ

เซิร์ฟเวอร์ให้เสียงมากขึ้น โคลนเสียง หรือใช้เสียงเดียวข้ามเครื่องมือ SSN คุยกับเซิร์ฟเวอร์เหมือน เข้ากันได้กับ OpenAI เซิร์ฟเวอร์เสียง ไม่ต้องใช้คีย์ API

  1. เริ่มเซิร์ฟเวอร์ Kokoro-FastAPI ง่ายที่สุด
  2. ใน SSN เปิดรายการผู้ให้บริการ TTS แล้วเลือก ปลายทาง TTS แบบกำหนดเอง / ภายในเครื่อง.
  3. ใน Custom / Local API Endpoint ใส่ที่อยู่เซิร์ฟเวอร์ เช่น http://127.0.0.1:8880/v1/audio/speech.
  4. เว้นคีย์ API ว่าง
  5. เลือกเสียงที่เซิร์ฟเวอร์รู้จัก: af_bella สำหรับ Kokoro, nova สำหรับ openedai-speech
  6. คัดลอกลิงก์เข้า OBS แล้วส่งแชตทดสอบ
แผนผังรูปแบบภาพหน้าจอแสดงช่องตั้งค่า TTS ภายในเครื่องใน Social Stream Ninja
endpoint คือช่องที่สำคัญ
OBS อยู่คนละเครื่อง? อ่าน กฎ localhost ก่อน เบราว์เซอร์บล็อก? ใช้ บริดจ์.
เซิร์ฟเวอร์โมเดลGPUดิสก์พอร์ต
Kokoro-FastAPI (แนะนำ)Kokoro 82Mไม่บังคับ~2 GB8880
openedai-speech (Piper)Piperเฉพาะ CPU<1 GB8000
kokoro-webKokoro 82Mไม่บังคับ~2 GB3000

ตัวเลือกเหล่านี้ต้องมี Docker Desktop ติดตั้งและทำงานอยู่ ใช้ส่วนตัวได้ฟรี

กฎ localhost

นี่คือข้อผิดพลาดที่พบบ่อยที่สุด

localhost และ 127.0.0.1 หมายถึง “คอมพิวเตอร์เครื่องนี้” เสมอ หาก OBS อยู่เครื่องหนึ่งและเซิร์ฟเวอร์เสียงอยู่อีกเครื่อง 127.0.0.1 ใน OBS ชี้ไปคอมพิวเตอร์ OBS
แผนภาพแสดงว่า localhost หมายถึงคอมพิวเตอร์เครื่องเดียวกัน ส่วนคอมพิวเตอร์อีกเครื่องต้องใช้ที่อยู่ IP ภายใน LAN
การตั้งค่าของคุณใช้ที่อยู่นี้
OBS และเซิร์ฟเวอร์บนเครื่องเดียวกันhttp://127.0.0.1:8880/v1/audio/speech
เซิร์ฟเวอร์บนอีกเครื่องในบ้านhttp://192.168.x.x:8880/v1/audio/speech พร้อม IP ภายในของเครื่องนั้น
ทดสอบแอป SSN ได้ แต่ OBS เงียบOBS ต้องมีที่อยู่ที่เข้าถึงได้เอง การทดสอบในแอปไม่พิสูจน์ว่า OBS เข้าถึงเซิร์ฟเวอร์ได้

ตรวจว่าไฟร์วอลล์อนุญาตพอร์ตและ Docker เปิดพอร์ตไว้ (-p 8880:8880).

Kokoro-FastAPI

Kokoro-FastAPI รัน Kokoro เป็นเซิร์ฟเวอร์ในเครื่อง ใช้ CPU ได้ ไม่ต้องมี GPU

  1. เปิดเทอร์มินัล (Command Prompt, PowerShell หรือ Terminal) แล้วรันหนึ่งในคำสั่งนี้:
    docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:v0.2.2

    NVIDIA GPU (เร็วกว่า):

    docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:v0.2.0post4
    ครั้งแรกดาวน์โหลดประมาณ 1.5–2 GB เพียงครั้งเดียว
  2. เปิด http://localhost:8880/web/ ควรเห็นหน้าทดสอบเสียง มีมากกว่า 67 เสียง
  3. ใช้ลิงก์นี้ (เปลี่ยนที่อยู่หากเซิร์ฟเวอร์อยู่เครื่องอื่น):
    dock.html?session=YOUR_SESSION&speech=en-US&ttsprovider=customtts&openaiendpoint=http://127.0.0.1:8880/v1/audio/speech&voiceopenai=af_bella
ใช้ชื่อเสียง Kokoro เช่น af_bella, af_sarah, am_adam หรือ bf_emma ชื่อ OpenAI เช่น nova หรือ alloy อาจใช้ไม่ได้

เริ่มอัตโนมัติด้วย Docker:

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

openedai-speech (Piper และ XTTS-v2)

โปรเจกต์ถูกเก็บถาวร openedai-speech ถูกเก็บถาวรในมกราคม 2026 และระบุว่าโดยมากล้าสมัยแล้ว ยังใช้เป็นตัวอย่างได้แต่ไม่มีอัปเดต ใช้ในเครื่องเท่านั้น ห้ามเปิดพอร์ตสู่อินเทอร์เน็ต เพราะไม่มีระบบล็อกอิน

ตัวเลือก A: เซิร์ฟเวอร์ Piper แบบเบา (CPU)

ต่ำกว่า 1 GB ไม่โคลนเสียง

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

เสียง: 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 (ข้อผิดพลาด HTTP 500)

เพิ่มส่วนของ virtual environment: Scripts ไปยัง PATH ก่อน มิฉะนั้นจะหาไม่พบ: piper.exe หรือ 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

ตัวเลือก B: โคลนเสียง XTTS-v2 (GPU)

ต้องใช้เซิร์ฟเวอร์เต็ม ไม่ใช่ openedai-speech-min เตรียมหน่วยความจำ GPU ประมาณ 4 GB ใช้ CPU ได้แต่ช้า

ตั้ง XTTS-v2 ใน 4 ขั้นตอน
  1. ดาวน์โหลดและเริ่มเซิร์ฟเวอร์:
    git clone https://github.com/matatonic/openedai-speech.git
    cd openedai-speech
    Copy-Item sample.env speech.env
    docker compose up -d
    บน macOS หรือ Linux ให้ใช้ cp sample.env speech.env Docker ต้องเข้าถึง GPU โมเดลดาวน์โหลดครั้งแรกที่ใช้
  2. สร้างคลิปอ้างอิงชัด ๆ ของเสียงที่คุณมีสิทธิ์ใช้ Mono, 22050 Hz, 6–30 วินาที:
    ffmpeg -i input.mp3 -ac 1 -ar 22050 -t 6 -y voices/me.wav
  3. ใน config/voice_to_speaker.yaml เพิ่มใต้ส่วนที่มีอยู่ tts-1-hd ส่วน (เก็บเสียงเดิมไว้):
    tts-1-hd:
      me:
        model: xtts
        speaker: voices/me.wav
        language: en
    เปลี่ยน me เป็นชื่อที่ SSN จะส่ง
  4. เรียก 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 จำเป็น หากไม่มี SSN จะส่ง tts-1 แล้วเซิร์ฟเวอร์จะใช้ Piper แทน voiceopenai ต้องตรงกับชื่อเสียงใน YAML

เบราว์เซอร์บล็อก? รัน บริดจ์ แล้วเปลี่ยนเฉพาะ openaiendpoint เป็น http://127.0.0.1:8124/v1/audio/speech.

บริดจ์ TTS ในเครื่อง

ตัวช่วยเล็กจาก SSN รับคำขอ SSN ส่งต่อให้เซิร์ฟเวอร์เสียง แล้วส่งเสียงกลับในรูปแบบที่เบราว์เซอร์ยอมรับ ต้องใช้ Node.js

หลักการที่ง่ายที่สุด: รันบริดจ์บนคอมพิวเตอร์ OBS จากนั้น OBS จะใช้ http://127.0.0.1:8124/v1/audio/speech แม้เซิร์ฟเวอร์เสียงอยู่บนอีกเครื่อง
แผนภาพแสดง OBS เรียกบริดจ์ภายในเครื่อง และบริดจ์เรียกเซิร์ฟเวอร์ TTS
  1. บอกบริดจ์ว่าเซิร์ฟเวอร์อยู่ที่ไหน PowerShell:
    $env:SSN_TTS_TARGET="http://127.0.0.1:8880/v1/audio/speech"
    เซิร์ฟเวอร์อยู่อีกเครื่อง? ใช้ IP ภายใน เช่น http://192.168.x.x:8880/v1/audio/speech.
  2. ในโฟลเดอร์ SSN รัน node scripts/local-tts-bridge.cjs เปิดทิ้งไว้
  3. ให้ SSN เชื่อมไปบริดจ์:
    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 ในบรรทัดเดียว: SSN_TTS_TARGET="http://127.0.0.1:8880/v1/audio/speech" node scripts/local-tts-bridge.cjs ภายใน local-tts-bridge โฟลเดอร์ node server.cjs ทำเช่นเดียวกัน เปลี่ยนพอร์ตด้วย SSN_TTS_BRIDGE_PORT=8125 ตัวเลือกทั้งหมด: README ของบริดจ์.

โหมด GPT-SoVITS

GPT-SoVITS ใช้รูปแบบ JSON เฉพาะของตนสำหรับ /tts รูปแบบ บริดจ์แปลงให้

$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

ตัวครอบ F5-TTS บางตัวใช้ /synthesize_speech/?text=...&voice=... บริดจ์แปลงคำขอให้

$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

การโคลนเสียง

การโคลนไม่ใช่การตั้งค่า SSN แต่เป็นฟีเจอร์ของบางเซิร์ฟเวอร์เสียง SSN ส่งข้อความแชต ส่วนเซิร์ฟเวอร์เลือกเสียงโคลน

  1. บันทึกคลิปชัด ๆ ของคนพูดคนเดียว ปกติ 3–30 วินาที มีเสียงรบกวนน้อย
  2. บางเซิร์ฟเวอร์ต้องใช้ข้อความที่พูดในคลิปตรงทุกคำด้วย
  3. เซิร์ฟเวอร์แปลงคลิปเป็นโปรไฟล์เสียง
  4. SSN ส่งข้อความแชตด้วย ttsprovider=customtts.
  5. เซิร์ฟเวอร์ส่งเสียงกลับ ปกติ WAV หรือ MP3 แล้ว SSN เล่น
โคลนเฉพาะเสียงที่คุณเป็นเจ้าของหรือได้รับอนุญาต
ค่าเริ่มต้นของ XTTS-v2 อนุญาตการใช้ที่ไม่ใช่เชิงพาณิชย์ ตัวเลือก Coqui Public Model License อนุญาตเฉพาะการใช้ที่ไม่ใช่เชิงพาณิชย์ สตรีมสร้างรายได้อาจไม่เข้าเกณฑ์ ตรวจใบอนุญาตหรือขอสิทธิ์ก่อน

หากมีหน่วยความจำ GPU ไม่เกิน 6 GB เริ่มจากโมเดลเล็กบนเซิร์ฟเวอร์ที่รองรับ OpenAI โมเดลใหญ่ใช้ได้หากโฮสต์ที่อื่น

ตัวเลือกโคลนจากพอดีกับ GPU 6 GB?วิธีเชื่อมต่อ
XTTS-v2 / openedai-speechคลิป WAV สั้นได้ ประมาณ 4 GBตรง, /v1/audio/speech โปรเจกต์ถูกเก็บถาวรแล้ว
chatterbox-tts-api / Chatterbox-TTS-Serverคลิปอ้างอิงน่าจะได้ด้วย Turbo หรือแบ่งส่วนเล็กตรงหรือผ่านบริดจ์ GPU ลื่นกว่า CPU วิธีตั้งค่าขึ้นกับฟอร์ก
Qwen3-TTS (0.6B / 1.7B)คลิป 3 วินาทีน่าจะได้ (0.6B Base)ต้องใช้ตัวครอบที่รองรับ OpenAI
GPT-SoVITS5 วินาที; 1 นาทีดีกว่าน่าจะได้ด้วย fp16 / ติดตั้งแบบเบาบริดจ์ --mode gptsovits.
F5-TTSคลิปพร้อมข้อความถอดเสียงอาจได้ตัวครอบหรือบริดจ์ --mode f5 พร้อม F5-TTS_server.
MisoTTS 8Bเสียงพรอมป์ต์ไม่ได้ แนะนำ 24 GBโฮสต์ระยะไกลเท่านั้น ในรีโปไม่มี REST endpoint สำหรับรันในเครื่อง

Kokoro ในตัวและ Kokoro-FastAPI โคลนเสียงไม่ได้

สิ่งที่ทดสอบกับ SSN

ตรวจด้วยทั้ง dock.html และ featured.html:

  • openedai-speech (Piper): สร้างเสียงจริงบน CPU ทั้งตรงและผ่านบริดจ์
  • Chatterbox-TTS-Server: เสียงจริงบน CPU ด้วย Emily.wav ทั้งโดยตรงและผ่านบริดจ์
  • chatterbox-tts-api: ทดสอบรูปแบบคำขอแล้ว ทั้งตรงและผ่านบริดจ์
  • GPT-SoVITS และ F5-TTS_server: ผ่านโหมดบริดจ์เท่านั้น
  • F5-TTS อย่างเป็นทางการ และ Qwen3-TTS: ต้องมีตัวครอบก่อน (มีเฉพาะ CLI, Gradio หรือไลบรารี)

ต้องใช้คอมพิวเตอร์แบบไหน?

เป็นจุดเริ่มต้นคร่าว ๆ ไม่รับประกัน ขนาดโมเดล ความยาวข้อความ และแอปอื่นมีผลต่อหน่วยความจำ

ตัวเลือกขั้นต่ำใช้งานคล่อง
TTS ของระบบ / eSpeakพีซีทั่วไปพีซีทั่วไป
Kitten แบบในตัวCPU ระดับเริ่มต้น, RAM 4 GBCPU แล็ปท็อป, RAM 8 GB
Piper แบบในตัวCPU รุ่นใหม่, RAM 4–8 GBCPU สมัยใหม่, RAM 8 GB
Kokoro แบบในตัวCPU สมัยใหม่, RAM 8 GBGPU ที่รองรับ WebGPU หรือ CPU เร็ว, RAM 8–16 GB
Kokoro-FastAPICPU, RAM 8 GBNVIDIA GPU เป็นตัวเลือก, RAM 8–16 GB
openedai-speech PiperCPU, RAM 4–8 GBCPU, RAM 8 GB
openedai-speech XTTSNVIDIA GPU ประมาณ 4 GB, RAM 8–16 GBGPU NVIDIA 6 GB ขึ้นไป และ RAM 16 GB
ChatterboxCPU ในบางบิลด์ ช้าGPU NVIDIA 6 GB ขึ้นไป และ RAM 16 GB
GPT-SoVITS / F5-TTS / Qwen3-TTSCPU สำหรับทดสอบ ช้าGPU NVIDIA 6 GB ขึ้นไป และ RAM 16 GB
MisoTTS 8B6 GB ไม่พอGPU 24 GB หรือโฮสต์ระยะไกล

นำเสียงเข้า OBS

OBS Browser Source (แนะนำ)

ใช้ได้กับเสียงในตัวและเซิร์ฟเวอร์ของคุณ

  1. เพิ่ม แหล่งเบราว์เซอร์ (Browser Source) ด้วย dock.html ลิงก์ TTS
  2. เปิด ควบคุมเสียงผ่าน OBS (Control audio via OBS).
  3. คลิก ตกลง (OK) TTS จะแสดงในมิกเซอร์ OBS

แอป SSN เดสก์ท็อป

แอปเดสก์ท็อปใช้ตัวเลือกลิงก์เดียวกัน แต่เสียงออกจากแอป ไม่ใช่ OBS จับเสียงด้วย เสียงเดสก์ท็อป หรือ เก็บเสียงขาเข้า (Audio Input Capture) หากต้องการแยก TTS จากเสียงอื่น ส่งแอปผ่านสายเสียงเสมือน: ขั้นตอนจัดเส้นทางเสียง.

อย่าสับสนการทดสอบในแอปกับ OBS การกด Test ในแอปทดสอบจากแอป หากใส่ลิงก์ใน OBS ตัว OBS ต้องเข้าถึงเซิร์ฟเวอร์และเล่นเสียงเอง
รายละเอียดแอปเดสก์ท็อปเพิ่มเติม

หน้าต่างแอปเข้มงวดเรื่องสิทธิ์เบราว์เซอร์ CORS น้อยกว่า Chrome บริดจ์ยังเป็นทางเลือกที่แน่นอนที่สุดสำหรับเซิร์ฟเวอร์ที่ปฏิเสธคำขอเบราว์เซอร์ หากใช้ Kokoro ในตัว แอปใช้ ninjafy.tts แทนการโหลดโมเดลในเบราว์เซอร์

TTS ของระบบ (&speech=en-US โดยไม่มีผู้ให้บริการ) ขึ้นกับเสียงที่ OBS มี มักไม่มีหรือเป็นเสียงที่จับไม่ได้ ใช้ผู้ให้บริการด้านบนแทน

เปรียบเทียบ

ตัวเลือกการตั้งค่าคุณภาพส่วนตัวใช้ได้ใน OBSค่าใช้จ่าย
Kokoro แบบในตัวไม่มี5/5ใช่ใช่ฟรี
Piper แบบในตัวไม่มี4/5ใช่ใช่ฟรี
Kitten แบบในตัวไม่มี3/5ใช่ใช่ฟรี
eSpeak แบบในตัวไม่มี2/5ใช่ใช่ฟรี
Kokoro-FastAPIDocker5/5ใช่ใช่ฟรี
openedai-speechDocker4/5ใช่ใช่ฟรี
ElevenLabsคีย์ API5/5ไม่มีใช่แพ็กเกจแบบชำระเงิน
TTS ของระบบไม่มี2/5ใช่ต้องจัดเส้นทางเสียงฟรี

แก้ปัญหา

รายการตรวจสอบรูปแบบภาพหน้าจอสำหรับแก้ปัญหา TTS ภายในเครื่อง
ใช้ได้ที่หนึ่งแต่อีกที่ไม่ได้? ตรวจตามลำดับ: เครื่อง ที่อยู่ เสียง สิทธิ์เบราว์เซอร์ และเสียง OBS
ปัญหาลองวิธีนี้
ทดสอบในแอปได้ แต่ OBS เงียบOBS ต้องเข้าถึงเซิร์ฟเวอร์เอง เซิร์ฟเวอร์อยู่อีกเครื่อง? แทนที่ 127.0.0.1 ด้วย IP ภายใน ตรวจ ควบคุมเสียงผ่าน OBS (Control audio via OBS) ยังถูกบล็อก? รันบริดจ์บนคอมพิวเตอร์ OBS
อ่านเฉพาะตัวอักษรหรือคำแรกนำออก ttsquick ออกจากลิงก์ OBS (เช่น &ttsquick=14) แล้วรีเฟรช ระหว่างทดสอบให้ลบ typewriter= เพื่อแยกปัญหาเรื่องเวลา
เซิร์ฟเวอร์ไม่ตอบตรวจว่า Docker และคอนเทนเนอร์ทำงาน บนเครื่องเซิร์ฟเวอร์เปิด http://127.0.0.1:8880/web/ (Kokoro-FastAPI หรือพอร์ตเซิร์ฟเวอร์ของคุณ) จากคอมพิวเตอร์ OBS เปิด http://SERVER_LAN_IP:8880/web/ หากเปิดไม่ได้ OBS ก็เข้าถึงไม่ได้เช่นกัน ตรวจไฟร์วอลล์เซิร์ฟเวอร์
“Blocked by CORS”, “private network” หรือ “failed fetch”เบราว์เซอร์บล็อกก่อนเซิร์ฟเวอร์เห็น รัน node scripts/local-tts-bridge.cjs บนเครื่อง OBS แล้วใช้ http://127.0.0.1:8124/v1/audio/speech หน้า Dock beta ที่โฮสต์มีโอกาสถูกบล็อกมากกว่า ใช้บริดจ์หรือหน้าต่างแอปในเครื่องง่ายกว่า
เสียงผิด หรือไม่พบเสียงKokoro-FastAPI: af_bella, af_sarah, am_adam หรือเสียงจากหน้าเว็บของเซิร์ฟเวอร์ openedai-speech: nova, echo, alloy บางเซิร์ฟเวอร์แยกตัวพิมพ์เล็กใหญ่
เล่นเสียงได้ แต่ OBS จับไม่ได้เปิด ควบคุมเสียงผ่าน OBS (Control audio via OBS) ดูมิเตอร์มิกเซอร์ OBS ระหว่างทดสอบ ตรวจว่าตั้ง &ttsprovider=; System TTS อาจต้องใช้ Desktop Audio หรือสายเสียงเสมือน
ไม่พบอิมเมจ Dockerแท็กอิมเมจเปลี่ยนได้ ตรวจแท็กปัจจุบันที่ Kokoro-FastAPI หรือ openedai-speech.

สำหรับผู้สร้างเซิร์ฟเวอร์

วิธีที่ SSN คุยกับเซิร์ฟเวอร์กำหนดเอง ใช้ส่วนนี้เฉพาะเมื่อสร้างหรือดีบักเซิร์ฟเวอร์

chat text -> SSN -> your endpoint (or the bridge) -> TTS server -> audio -> SSN plays it
สิ่งที่ SSN ส่ง

พร้อม ttsprovider=customtts, localtts หรือ openai SSN ส่ง JSON POST:

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

หากไม่ตั้งคีย์ API SSN จะไม่ส่งเฮดเดอร์ Authorization

สิ่งที่ SSN เล่นได้
การตอบกลับใช้ได้?หมายเหตุ
ไฟล์เสียงใช่ดีที่สุด audio/mpeg, audio/wav, audio/ogg, audio/aac หรือชนิดที่เบราว์เซอร์เล่นได้
JSON ที่มี URL เสียงใช่การตรวจ url, audio_url, output_url, data.url และรายการแรกใน data[] ด้วย
JSON ที่มีเสียงแบบ base64ใช่การตรวจ audio, audio_data, audioContent, b64_json และฟิลด์ซ้อน เช่น data และ data URL
PCM ดิบเฉพาะเมื่อมีตัวครอบส่งเป็นไฟล์ WAV หรือ base64 WAV

รูปแบบ: mp3 เล็กและรองรับแพร่หลาย wav เหมาะกับเซิร์ฟเวอร์โคลนและทดสอบบริดจ์ ใช้ opus เฉพาะเมื่อทั้งเซิร์ฟเวอร์และเบราว์เซอร์รองรับ

ยังไม่รองรับสตรีมเสียง SSN รอคำตอบทั้งหมดแล้วจึงเล่น ใช้ข้อความแชตสั้น

ตัวเลือกลิงก์สำหรับเซิร์ฟเวอร์ของคุณ
การตั้งค่าตัวอย่างทำอะไร
ttsprovidercustomttsใช้เซิร์ฟเวอร์ของคุณ (openai ก็ใช้ได้)
openaiendpointhttp://localhost:8880/v1/audio/speechที่อยู่เซิร์ฟเวอร์ เปลี่ยนพอร์ตให้ตรง
speechen-USเปิด TTS ภาษาอังกฤษ
voiceopenaiaf_bellaชื่อเสียง ขึ้นกับเซิร์ฟเวอร์
openaimodeltts-1-hdชื่อโมเดล ค่าเริ่มต้น tts-1.
openaiformatmp3mp3, wav, opus หรือ flac
openaispeed1.0ความเร็วพูด (0.5–2.0)

รองรับด้วย: customttsendpoint, localttsendpoint, customttsvoice, localttsvoice, customttsmodel, localttsmodel, customttsformat, localttsformat ตัวเลือกการอ่าน เช่น simpletts, skipmessages และ ttsquick ใช้กับผู้ให้บริการใดก็ได้: ตัวเลือกลิงก์ทั้งหมด.

ลิงก์ตัวอย่าง:

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