Kokoro โผล่มาให้เห็นอยู่เรื่อยๆ — ทั้งขึ้นอันดับบน Hacker News ติดอันดับบนลีดเดอร์บอร์ดแปลงข้อความเป็นเสียงพูดแบบโอเพน และครีเอเตอร์ก็ถามกันไม่หยุดว่าโมเดล 82 ล้านพารามิเตอร์ที่รันบน CPU ธรรมดาๆ จะมาแทน voice API แบบเสียเงินได้จริงไหม ดังนั้นเราจึงติดตั้ง รันบนแล็ปท็อป และสร้างตัวอย่างที่คุณกดฟังได้ด้านล่าง นี่คือการแกะให้เห็นของจริงแบบลงมือทำ: Kokoro คืออะไร เสียงจริงดีแค่ไหน กับดักการตั้งค่า 2 จุดที่กินเวลาของเรา และเมื่อไหร่ที่ใช้เครื่องมือแบบโฮสต์จะคุ้มกว่า แหล่งที่มา: github.com/hexgrad/kokoro (Apache-2.0).
Kokoro คืออะไร และใครเป็นคนทำ?
Kokoro คือโมเดลแปลงข้อความเป็นเสียงพูดแบบ open-weight ที่เผยแพร่โดย hexgrad ในชื่อ Kokoro-82M จุดขายอยู่ในชื่อเลย: 82 ล้านพารามิเตอร์ — เล็กมากตามมาตรฐานปี 2026 เล็กพอจะรันบนโทรศัพท์ได้ — แต่กลับให้เสียงบรรยายที่เป็นธรรมชาติและมีอารมณ์ สร้างบนสายตระกูล StyleTTS 2 และปล่อยภายใต้ไลเซนส์ Apache-2.0 แบบอนุญาตกว้าง จึงฟรีสำหรับใช้งานเชิงพาณิชย์อย่างแท้จริง
ณ วันที่ 2026-07-11 รีโปหลัก hexgrad/kokoro มีประมาณ 7,900 ดาวบน GitHub เรารันผ่าน ONNX runtime ของคอมมูนิตี้ thewh1teagle/kokoro-onnx (ประมาณ 2,600 ดาว, MIT) ซึ่งเป็นวิธีที่ง่ายที่สุดในการรันบน CPU โดยไม่ต้องติดตั้ง PyTorch
พอไปไล่ดูไฟล์ weights จริง เรานับได้ว่า มีเสียงในตัว 54 เสียง ครอบคลุม 9 กลุ่มภาษาและสำเนียง — อังกฤษสำเนียงอเมริกันและอังกฤษ สเปน ฝรั่งเศส ฮินดี อิตาลี ญี่ปุ่น โปรตุเกสบราซิล และจีนกลาง โดยเสียงอังกฤษแบบอเมริกันจะดูปรับจูนมาดีที่สุดอย่างชัดเจน
เรารันจริง (Apple M3 Pro, ใช้ CPU ล้วน)
ไม่ใช้ GPU ไม่ใช้คลาวด์ — แค่ MacBook Pro ที่มี M3 Pro และ RAM 18 GB นี่คือรายงานแบบซื่อๆ ทีละขั้น
ติดตั้งและ weights
แพ็กเกจ Python ติดตั้งได้ในไม่กี่วินาที: pip install kokoro-onnx soundfile แต่มี กับดักแรก — แพ็กเกจ pip จะมีแค่โค้ด ไม่รวมโมเดล คุณต้องดาวน์โหลดไฟล์ 2 ไฟล์ด้วยตัวเองจากหน้า releases ของ kokoro-onnx บน GitHub: kokoro-v1.0.onnx (310 MB) และ voices-v1.0.bin (27 MB) คู่มือ quickstart เขียนผ่านๆ ทำให้รันครั้งแรกจะเจอ error ไฟล์หาย จนกว่าจะไปโหลด weights มา
บั๊กพาธ espeak-ng (ตัวที่ทำเราเสียเวลาจริง)
Kokoro แปลงข้อความเป็นโฟนีมด้วย espeak-ng ตอนสังเคราะห์ครั้งแรก เราเจอแบบนี้:
Error processing file '/Users/runner/work/espeakng-loader/.../espeak-ng-data/phontab': No such file or directoryพาธ /Users/runner/work/ นี่ชัดมาก: wheel ของ pip ชื่อ espeakng-loader ฝัง libespeak-ng ที่คอมไพล์ใน CI พร้อมพาธข้อมูลแบบฮาร์ดโค้ด ซึ่งไม่มีอยู่บนเครื่องของคุณ ส่วนที่น่าหงุดหงิดคือ ต่อให้ตั้ง environment variable ESPEAK_DATA_PATH ก็ไม่ช่วยอะไร เพราะ kokoro-onnx ไม่เคยอ่านมัน — มันดึง data path มาจาก loader ที่ฝังมาโดยตรง
วิธีแก้ที่ใช้ได้ผล: ติดตั้ง espeak-ng แบบระบบจริง แล้วชี้ให้ Kokoro ใช้งานแบบระบุชัดผ่าน EspeakConfig:
brew install espeak-ng # macOS; apt install espeak-ng on Linux
from kokoro_onnx import Kokoro, EspeakConfig
cfg = EspeakConfig(
lib_path="/opt/homebrew/lib/libespeak-ng.dylib",
data_path="/opt/homebrew/share/espeak-ng-data",
)
k = Kokoro("kokoro-v1.0.onnx", "voices-v1.0.bin", espeak_config=cfg)หลังจากนั้นก็สร้างเสียงได้ปกติ หากคุณเคยเจอ error แบบเดียวกันเป๊ะๆ คือ phontab: No such file นี่แหละคือวิธีแก้
ความเร็ว (วัดจริง, ตอนวอร์ม)
บน CPU อย่างเดียว โมเดลโหลดได้ประมาณ 1.7 วินาที และการสังเคราะห์เร็วกว่าเวลาจริงแบบสบายๆ ย่อหน้าคำบรรยายความยาว 22 วินาที เรนเดอร์เสร็จใน 3.5 วินาที — real-time factor ราว 0.16× หรือประมาณเร็วกว่าเสียงเล่นจริงราว 6 เท่า ประโยคสั้นๆ เดี่ยวๆ จะกลับมาใน 1-2 วินาที สำหรับโมเดลที่เล็กขนาดนี้บนแล็ปท็อป ถือว่าเป็น throughput ที่เอาไปใช้ทำงานโปรดักชันได้จริง นี่คือ waveform จริงของย่อหน้าที่เรนเดอร์นั้น:

ตัวอย่างที่เราสร้าง (ไม่ตัดต่อ)
ทุกคลิปด้านล่างเราสร้างเองด้วย Kokoro บน CPU M3 Pro ตามที่อธิบายไว้ข้างต้น — เอาต์พุตดิบจากโมเดล ไม่มีการทำความสะอาด ไม่มีโพสต์โปรเซส ลองกดฟังแล้วตัดสินคุณภาพด้วยตัวคุณเอง
สร้างโดย VisionStory ด้วย Kokoro-82M ผ่าน kokoro-onnx, 2026-07-11 สังเกตจุดบอกใบ้: นี่คือแทร็กเสียงที่ค่อนข้างสะอาด — แต่เป็นแค่เสียงเท่านั้น ไม่มีหน้า ไม่มีการขยับปาก ไม่มีพรีเซนเตอร์บนจอ ช่องว่างนั้นคือประเด็นทั้งหมดของหัวข้อถัดไป
สรุปแบบตรงไปตรงมา: จุดแข็งและข้อจำกัดจริง
สิ่งที่ทำให้เราประทับใจจริงๆ:
- คุณภาพต่อขนาดไฟล์น่าทึ่งมาก สำหรับ 82 ล้านพารามิเตอร์ เสียงอังกฤษสำเนียงอเมริกันฟังเป็นธรรมชาติและมีอารมณ์ — ใกล้พอๆ กับ TTS แบบเสียเงินจนผู้ฟังส่วนใหญ่ไม่น่าจะจับได้ในคลิปสั้น
- รันบน CPU ได้จริง และเร็ว ความเร็วประมาณ 6 เท่าของเวลาจริงบนแล็ปท็อปโดยไม่ใช้ GPU คือจุดเด่นที่สุด และทำได้จริง
- ฟรีจริง และเหมาะกับการใช้เชิงพาณิชย์ Apache-2.0 ไม่มีคิดเงินตามจำนวนตัวอักษร สำหรับงานพากย์ปริมาณมาก เศรษฐศาสตร์แบบนี้สู้ยาก
จุดที่มันสะดุด — และเป็นปัญหาจริง:
- ไม่มีการโคลนเสียง คุณได้ 54 เสียงพรีเซ็ตแบบตายตัว โคลนเสียงตัวเองหรือเสียงลูกค้าไม่ได้ — ถ้านี่คือยูสเคสของคุณ Kokoro ไปต่อไม่ได้
- คุณภาพภาษาอังกฤษพึ่ง espeak-ng ซึ่งหมายถึงบั๊กแพ็กเกจจิงด้านบน และการอ่านชื่อ/แบรนด์/ตัวย่อผิดเป็นครั้งคราว
- ข้อความยาวต้องแบ่งชิ้นเอง มีเพดานความยาวโฟนีมต่อหนึ่งครั้งเรียกใช้งาน คุณจึงต้องแยกสคริปต์ยาวๆ แล้วนำเสียงมาต่อเอง
- เสียงที่ไม่ใช่อังกฤษมีทั้งดีและไม่ดี — ความสม่ำเสมอแกว่งกว่าชุดเสียงอังกฤษอเมริกันที่เป็นตัวหลักอย่างเห็นได้ชัด
- เอาต์พุตเป็น WAV เปล่าๆ ไม่มีเวลาประทับคำ (word timestamps) ไม่มี visemes — ไม่มีอะไรไว้ขับ lip-sync ได้แบบพร้อมใช้
- มีแค่เสียงเท่านั้น ไม่มีหน้า ไม่มีวิดีโอ ถ้าต้องการพรีเซนเตอร์ที่พูดได้ คุณต้องจับ Kokoro ไปคู่กับระบบลิปซิงก์หรืออวาตาร์แยกต่างหาก และจัดการไทม์มิงเอง
โฮสต์ Kokoro เอง vs ใช้เครื่องมือแบบโฮสต์: ควรเลือกอะไร?
Kokoro และเครื่องมืออวาตาร์แบบโฮสต์แก้ปัญหาคนละ “ครึ่ง” กัน Kokoro ให้คุณได้ เสียง; ส่วนเครื่องมืออย่าง VisionStory ให้คุณได้ พรีเซนเตอร์พูดได้ — ได้ทั้งเสียง ใบหน้า และลิปซิงก์ในเอาต์พุตเดียว นี่คือข้อแลกเปลี่ยนแบบตรงไปตรงมา
| Kokoro (โฮสต์เอง) | VisionStory (โฮสต์) | |
|---|---|---|
| ค่าใช้จ่าย | ฟรี (ใช้ฮาร์ดแวร์ของคุณเอง) | สมัครสมาชิก / เครดิต |
| การตั้งค่า | pip + weights 330 MB + แก้ espeak-ng | ไม่มี — รันในเบราว์เซอร์ |
| สิ่งที่คุณได้ | แทร็กเสียงอย่างเดียว (WAV) | วิดีโออวาตาร์พูดได้ (เสียง + หน้า + ลิปซิงก์) |
| โคลนเสียง | ไม่ได้ — 54 พรีเซ็ต | ได้ — โคลนเสียงของคุณเอง |
| ความเร็วต่อคลิป | ~0.16× ของเวลาจริงบน CPU (วินาที) | ไม่กี่วินาที แบบโฮสต์ — ไม่ต้องใช้คอมพิวต์ในเครื่อง |
| ใช้เชิงพาณิชย์ | ได้ (Apache-2.0) | ได้ (ตามแผน) |
| การดูแลรักษา | คุณต้องแพตช์ espeak, deps, การแบ่งชิ้นข้อความเอง | ไม่มี |
| เหมาะที่สุดเมื่อ | คุณต้องการแค่แทร็กเสียงฟรีและเขียนโค้ดได้ | คุณต้องการวิดีโอคนพูดที่เสร็จเลย แบบเร็ว |
เลือก Kokoro ถ้า คุณต้องการแค่เสียงพากย์ฟรี ใช้ Python ได้คล่อง และคุณจะไปจัดการใบหน้ากับลิปซิงก์แยกเอง (หรือจริงๆ แล้วไม่ต้องมีหน้าก็ได้) เลือกเครื่องมือแบบโฮสต์ ถ้า คุณต้องการให้เสียงติดไปกับพรีเซนเตอร์ที่ลิปซิงก์ หรือคุณต้องโคลนเสียงของคนเฉพาะ — Kokoro ทำสองอย่างนี้ไม่ได้
Kokoro สอนอะไรเรา
บทเรียนจริงจากการรัน Kokoro คือ เสียงกำลังกลายเป็นคอมโมดิที โมเดล 82 MB บนแล็ปท็อปตอนนี้สร้างเสียงพากย์ที่ดีพอสำหรับงานจริงได้ฟรี ถ้าสินค้าของคุณเคยขายด้วยคำเคลมว่า “เราทำแปลงข้อความเป็นเสียงพูด” คูน้ำตรงนั้นหมดไปแล้ว
ส่วนที่ยังยากและยังไม่ถูกแก้จริงๆ คือทุกอย่างที่อยู่ หลัง เสียง: เปลี่ยนแทร็กเสียงให้เป็นใบหน้าคนพูดที่น่าเชื่อ — ลิปซิงก์ที่แม่นยำ การแสดงสีหน้า การขยับศีรษะ และไทม์มิงที่ลงตัวทั้งหมด นั่นแหละคือเลเยอร์ที่เราทำงานอยู่ ดังนั้นข้อสรุปของเราไม่ใช่ “อย่าใช้ Kokoro” — มันเป็นเอนจินเสียงที่ดีจริงๆ ประเด็นคือเสียงอย่างเดียวเป็นแค่วิดีโอ “ครึ่งเดียว” ถ้าคุณอยากได้อีกครึ่ง VisionStory จะเปลี่ยนรูปถ่ายกับสคริปต์ให้เป็น พรีเซนเตอร์พูดได้ ที่ลิปซิงก์ในขั้นตอนเดียว และถ้าคุณต้องการจับคู่เสียงเฉพาะ ก็สามารถ โคลนเสียงนั้น ได้ด้วย
