21 คะแนน โดย GN⁺ 2025-08-07 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • Kitten TTS คือ โมเดล TTS (text-to-speech) โอเพนซอร์ส ที่มุ่งเน้นทั้ง ความเบาและคุณภาพเสียงสูง
  • ใช้พารามิเตอร์เพียง 15 ล้านตัว ทำให้ ขนาดโมเดลต่ำกว่า 25MB
    • จุดเด่นสำคัญคือแตกต่างจาก TTS ขนาดใหญ่รุ่นอื่น ๆ ตรงที่สามารถรันได้ในทุกสภาพแวดล้อม เช่น มือถือและอุปกรณ์ฝังตัว
  • สามารถประมวลผล การสังเคราะห์เสียงคุณภาพสูงบนทุกอุปกรณ์ ได้โดยไม่ต้องใช้ GPU
  • มีตัวเลือก เสียงพรีเมียม ที่หลากหลาย รองรับ การสังเคราะห์เสียงคุณภาพสูง ที่ใกล้เคียงเสียงจริง
  • ทำ inference เสียงได้รวดเร็ว จึงเหมาะกับ การสังเคราะห์แบบเรียลไทม์
  • ขณะนี้เปิดเผยโมเดลเวอร์ชัน developer preview แล้ว และมีแผนจะทยอยเปิดเผยน้ำหนักโมเดลที่ฝึกเสร็จสมบูรณ์, mobile SDK, เวอร์ชันเว็บ และอื่น ๆ ในอนาคต

2 ความคิดเห็น

 
hybridego 2025-08-07

ถ้ามีโมเดลภาษาเกาหลีด้วยก็คงดีนะครับ..

 
GN⁺ 2025-08-07
ความเห็นจาก Hacker News
  • ลองรันเบนช์มาร์กแบบง่ายบน Ubuntu 24 ด้วย Razer Blade 16 และ Intel Core i9-14900HX
    ค่า latency เริ่มต้นสำหรับข้อความสั้นอยู่ที่ราว 315ms และความเร็วในการสร้างเสียงอยู่ที่ประมาณ 3.35~5.5 เท่าของความเร็วแบบเรียลไทม์ ขึ้นอยู่กับความยาวของข้อความ
    โมเดลโหลดเสร็จในเวลาประมาณ 710ms
    แม้จะใช้เสียงที่ต่างกัน 4 แบบ ก็แทบไม่มีความต่างด้านประสิทธิภาพ และยังคงทำความเร็วได้ราว 5 เท่าของเรียลไทม์

    • บน CPU Intel Celeron N4020 (1.10GHz) ของฉัน ใช้เวลาโหลด 6 วินาที และทำงานได้เกือบเท่าเรียลไทม์ไม่ว่าความยาวข้อความจะเป็นเท่าไร

    • ขอบคุณที่ช่วยรันเบนช์มาร์ก
      ตอนนี้โมเดลยังไม่ได้ผ่านการปรับแต่งให้เหมาะที่สุด
      พอ SDK สำหรับ production ออกมา ก็มีแผนจะปรับปรุงเรื่องการโหลดและส่วนอื่น ๆ ด้วย

  • มีคนเอาตัวอย่างเสียงที่ KittenTTS สร้างไปโพสต์ไว้บน Reddit
    ตัวอย่างเสียงบน Reddit

    • มีวิดีโอสั้นที่รวมเสียงหลายแบบไว้ด้วย
      วิดีโอบน YouTube

    • วิดีโอบน Reddit เจ๋งมาก
      น่าทึ่งที่ใช้แค่ CPU และมีขนาดไม่ถึง 25MB แต่ได้คุณภาพระดับนี้
      ไม่เข้าใจจริง ๆ ว่าทำไมบางคนถึงบอกว่าเป็นแค่ “โมเดลธรรมดา ๆ”

    • เสียงคมชัดและชัดเจนมาก
      ต่อให้ฉันไม่ใช่เจ้าของภาษาอังกฤษก็ยังฟังเข้าใจได้ง่าย

    • ฟังดูช้าไปนิด และเสียงให้อารมณ์เหมือนหลุดมาจากแอนิเมชัน

    • หรือว่าฝึกแบบ cross-training ด้วยเสียงตัวละครจาก Futurama?

  • อยากให้โมเดลแบบนี้กลายเป็นอนาคต
    ยุคที่โมเดล ML ขนาดเล็กแบบออฟไลน์สามารถ inference บนฮาร์ดแวร์ราคาถูกที่หาได้ทั่วไป
    รวมเข้ากับอุปกรณ์หรือแอปอื่นได้ง่าย และอาจเอาไปทำงานร่วมกับโมเดลอื่นได้ด้วย

    • นี่แหละคือภาพที่ Apple วาดไว้กับ SLM (small language model)
      ถ้ามีโมเดลที่มีหน้าที่แค่จัดการอีเวนต์ในปฏิทิน ก็ไม่จำเป็นต้องบรรจุความรู้ทั้งหมดของมนุษยชาติไว้ในนั้น
      แค่โฟกัสสิ่งที่จำเป็นกับงานจัดการปฏิทินก็พอ

    • ถ้ารันโมเดลบนฮาร์ดแวร์เฉพาะทางสำหรับงานเดียว ประสิทธิภาพด้านพลังงานจะสูงมาก
      ถึงขั้นว่ารันโครงข่ายประสาทด้วยตัวต้านทานล้วน ๆ ก็ยังได้ (ไม่ต้องใช้ทรานซิสเตอร์)
      แน่นอนว่าฮาร์ดแวร์แบบนี้ไม่ใช่แบบอเนกประสงค์ และอัปเกรดโมเดลได้ยาก
      แต่สำหรับหลายกรณี แค่นี้ก็เพียงพอแล้ว

    • ระหว่างโมเดลที่ซื้อครั้งเดียวแล้วเอาไปรันอะไรก็ได้
      กับโมเดลที่ถูกผูกกับระบบสมาชิก และต้องใช้ฮาร์ดแวร์ที่มีแต่บริษัทยักษ์ใหญ่ที่รวยที่สุดเท่านั้นที่ซื้อได้
      สุดท้ายแล้วแบบไหนจะประสบความสำเร็จกว่ากันก็น่าคิด

    • จริง ๆ แล้วนี่แหละคือเป้าหมายที่เรากำลังพยายามทำ

    • วิสัยทัศน์ของเราก็เป็นแบบนี้เหมือนกัน

  • ขนาด 25MB ก็น่าทึ่งอยู่แล้ว แต่จุดที่ล้ำจริง ๆ คือ KittenTTS ถูกเผยแพร่ภายใต้ Apache-2.0
    การจับคู่กันแบบนี้ทำให้สามารถฝังเอนจินเสียงที่รันออฟไลน์เต็มรูปแบบลงบนฮาร์ดแวร์ระดับ Pi Zero หรือของเล่นที่ใช้แบตเตอรี่ได้ทันที
    ไม่ต้องกังวลเรื่อง GPU, การเรียกใช้คลาวด์, หรือไลเซนส์ที่มีข้อจำกัด
    มันเปลี่ยนปัญหาฮาร์ดแวร์กับไลเซนส์ให้กลายเป็นแค่ “ปัญหาด้านการแพ็กเกจ” ในทีเดียว
    คุณภาพจะดีขึ้นอีกหรือไม่ค่อยว่ากันทีหลัง แต่การทำให้กระจายใช้งานได้ในระดับนี้ต่างหากที่เป็น game changer ตัวจริง

    • พวกเราตื่นเต้นมากกับการสร้างโมเดล AI จิ๋วคุณภาพสูงต่อจากนี้
      เราเชื่อว่า local voice interface เป็นสิ่งที่เลี่ยงไม่ได้ และอยากเป็นแกนหลักของวงการนี้ในอนาคต
      โมเดลนี้เป็นเพียงพรีวิว และราวสัปดาห์หน้าจะมีเวอร์ชันที่สมบูรณ์กว่านี้มากออกมาเพิ่ม
      นอกจากนี้ยังมีแผนจะปล่อยโมเดลขนาดประมาณ 80M ด้วย

    • มีคนพูดว่า KittenTTS เป็น Apache-2.0
      แต่ถ้าดู ซอร์สโค้ด บน GitHub จะเห็นว่าใช้ phonemizer
      ซึ่ง phonemizer อยู่ภายใต้ ไลเซนส์ GPL-3.0
      ดังนั้นตอนนี้ในทางปฏิบัติมันก็คือ GPL
      (มีการเสริมด้วยว่า คอมเมนต์นี้ดูเหมือนเขียนโดย LLM)

    • โมเดล festvox-kallpc16k ของ Festival มีขนาดราว 6MB และ festvox-kallpc8k ราว 3.5MB
      ข้อมูลหลายภาษาของ eSpeak NG อยู่ที่ประมาณ 12MB
      โมเดลนี้น่าจะให้เสียงที่เป็นธรรมชาติกว่า
      แต่ในอดีตหรือบนคอมสเปกต่ำก็มี TTS ที่ทำได้ดีพอสมควรอยู่แล้วเหมือนกัน

    • ถ้า KittenTTS เป็น Apache-2.0 จริง
      ก็สงสัยว่าข้อมูลสำหรับฝึกโมเดลเป็นอย่างไร
      ต่อให้ผลลัพธ์ของโมเดลออกมาเหมือนข้อมูลฝึกจนแทบกู้คืนอินพุตเดิมได้
      เรามั่นใจได้ทางกฎหมายจริงหรือว่ามันไม่ใช่งานดัดแปลงโดยสมบูรณ์?

    • มันพึ่งพา espeak-ng อยู่ จึงเป็น GPLv3

  • มีเวอร์ชันเว็บด้วย
    ลองเดโม
    เสียงถือว่าโอเค และเมื่อดูจากขนาดแล้วก็น่าประทับใจมาก

    • ไม่ตลกดีเหรอที่ในหนังไซไฟ เวลาอยากทำเสียงหุ่นยนต์ให้ “ดูเป็นหุ่นยนต์จริง ๆ” กลับจงใจบิดเสียงให้ประหลาดขึ้น
      ทั้งที่ในความเป็นจริง เสียงหุ่นยนต์ที่ชัดเจนว่าไม่ใช่มนุษย์อาจน่าดึงดูดและเหมาะสมกว่าในหลายสถานการณ์
      อย่างเช่นเครื่องปิ้งขนมปังอัจฉริยะก็ไม่จำเป็นต้องพูดเหมือนผู้ประกาศข่าว BBC
      ขอแค่ออกเสียงฟังรู้เรื่องก็พอ

    • ฉันลองให้มันอ่านข้อความเดโมตามที่มี แต่ฟังแล้วไม่ดีเท่าตัวอย่าง
      เผื่อใครอยากลอง นี่คือตัวอย่างข้อความ

      Kitten TTS is an open-source series of tiny and expressive text-to-speech models for on-device applications. Our smallest model is less than 25 megabytes.

    • ลองเดโมด้วย 6 ประโยคแล้วเกิดข้อผิดพลาด
      พอลดเหลือ 3 ประโยคก็ทำงานได้ปกติ
      เลยสงสัยว่าข้อจำกัดความยาวข้อความมาจากตัวโมเดลเอง หรือเป็นข้อจำกัดของเดโม

    • ในเครื่องของฉันมันไม่ทำงานเลย
      โมดูลฝั่งแบ็กเอนด์ขึ้นข้อผิดพลาด 404
      ตัวอย่างลิงก์ error 404

    • ฉันกำลังหาลิงก์นี้อยู่พอดี
      เดโมบน Reddit ก็ถือว่าใช้ได้ประมาณหนึ่ง ให้ความรู้สึกเหมือนระดับเมื่อหลายปีก่อน
      แต่พอลองเล่นเองกลับพบว่าตัวอย่างทั้งหมดแทบฟังไม่รู้เรื่องเลย

  • ขำตรงที่ system requirements เขียนว่า “ใช้งานได้แทบทุกที่”
    บนบางเครื่องเวอร์ชัน Python ต่ำเกินไป
    ส่วนอีกบางเครื่องเวอร์ชัน Python สูงเกินไปจนติดปัญหา dependency ติดตั้งไม่ผ่าน

    • ฉันส่ง PR ไปแก้เรื่องนี้ไว้หลายอันแล้ว
      PR 21, PR 24, PR 25
      ถ้าติดตั้ง uv ไว้แล้ว ก็สามารถรันจาก reference branch ที่ฉัน merge ได้ด้วย

      uvx --from git+https://github.com/akx/KittenTTS.git@pr-21-22-24-25 kittentts --output output.wav --text "This high quality TTS model works without a GPU"
      

      แบบนี้ได้เลย

    • ถ้าติดตั้งผ่าน uvx จะช่วยแก้ปัญหา environment ของ Python ได้เกือบทั้งหมด
      คู่มือติดตั้ง uv

    • พอเลือกใช้ Python ก็เหมือนแก้ปัญหาไปหนึ่งอย่าง แต่พร้อมกันนั้นก็สร้างปัญหาใหม่ขึ้นมาอีกหลายสิบอย่าง

    • บน Fedora มันใช้ไม่ได้เพราะไม่มี g++ เวอร์ชันที่เหมาะสม

    • ต้นตอคือ Python

  • ฉันลองใช้เองแล้ว ขนาดโมเดลกับความเร็วถือว่าใช้ได้ทีเดียว
    แต่การติดตั้งต้องใช้ไลบรารีและของแถมจำนวนมาก
    สุดท้ายแล้วก็ห่างไกลจาก 25MB ไปมาก
    ถึงอย่างนั้นก็ยังเป็นโปรเจ็กต์ที่เจ๋งมาก

    • เป็นข้อสังเกตเรื่อง dependency ที่ดีมาก
      เพื่อให้ติดตั้งและใช้งานได้ง่ายขึ้น รวมถึงเพิ่มการรองรับ GPU และข้อความยาวตามที่หลายคนต้องการ
      ฉันเลยทำเซิร์ฟเวอร์ self-hosted สำหรับโมเดลนี้ขึ้นมา
      Kitten-TTS-Server
      รันได้ทันทีบน Python venv มาตรฐาน โดยไม่ต้องกังวลเรื่องชนกันของ environment
      แค่ git clone, pip install, และ python server.py ก็จบ

    • พอเห็นว่ามีการพูดถึง ONNX ก็เดาว่าน่าจะมี ONNX model อยู่แล้วหรือจะเพิ่มมาในไม่ช้า
      ONNX runtime เป็นไลบรารีตัวเดียว ซึ่งในฝั่ง C# บีบอัดแล้วอยู่ราว 115MB
      ไม่ได้เล็กมาก แต่โค้ดที่ต้องใช้ในการรันจริงมีแค่ไม่กี่บรรทัด จึงมี dependency น้อย

    • การดึงไลบรารีหลายตัวมาใช้พร้อมกันช่วยให้พัฒนาและทำซ้ำได้เร็วขึ้น
      พอฟีเจอร์เริ่มนิ่งแล้วค่อยเก็บกวาดไลบรารีที่ไม่จำเป็นออกทีหลัง

  • สิ่งที่สำคัญกว่าขนาดโมเดล (หน่วย MB) คือการรันบน CPU และคุณภาพ และสิ่งเดียวที่ฉันกังวลจริง ๆ คือ latency
    อยากรู้ว่ามีโมเดล speech-to-text ที่ทำงานออฟไลน์ได้โดยไม่ต้องฝึกเพิ่มหรือไม่
    ถ้าวันหนึ่งเราคุยกับ AI ได้ในจังหวะที่เป็นธรรมชาติ เหมือนคนคุยกันจริง ๆ ก็คงน่าทึ่งมาก

    • โมเดล parakeet ของ Nvidia ถือว่าทันสมัยมากสำหรับภาษาอังกฤษ
      เร็วกว่า Whisper 10 เท่า และบน CPU AMD ระดับกลางของฉันก็ยังทำงานได้เร็วกว่าระดับเรียลไทม์มาก

    • สามารถทำ speech recognition แบบออฟไลน์ด้วย Whisper ได้
      บางแอปรองรับการพิมพ์ตามเสียงหรือถอดเสียงแบบออฟไลน์เต็มรูปแบบอยู่แล้ว

    • ยกตัวอย่างข้อความ "The brown fox jumps over the lazy dog.."
      ใช้เวลาสร้างเฉลี่ย 1.28 วินาที และได้ประมาณ 30.35 ตัวอักษรต่อวินาที
      ทดสอบบน AMD Ryzen 7 5800H

    • สำหรับโมเดลรู้จำเสียงพูดแบบออฟไลน์ OpenAI whisper น่าจะเป็นตัวหลักที่คนรู้จักกันมากที่สุด
      ที่เก็บโค้ดอย่างเป็นทางการของ Whisper

    • มีใครรู้บ้างว่าปัจจัยอะไรส่งผลกับ latency ของโมเดล TTS?

  • ค่อนข้างน่าประทับใจ
    ในบางสายงาน เช่น ด้าน embedded ก็น่าจะมีที่ให้ใช้ได้จริง
    แต่คุณภาพคงยังไม่ถึงขั้นแทนที่โมเดลขนาดใหญ่ได้
    สำหรับ open TTS ที่รันออฟไลน์และคุณภาพสูงที่สุด ฉันมองว่า fish-speech กับ f5-tts เด่นสุด
    ฉันเคยรัน F5-TTS บน NVidia 1660 รุ่นเก่า (VRAM 6GB) แล้วก็ใช้งานได้โอเค
    ถ้าเป็นฮาร์ดแวร์ใหม่กว่านี้ ก็จะได้คุณภาพที่สูงกว่า รองรับหลายภาษา และทำ zero-shot ได้โดยไม่ต้องจ่ายแพง
    บน Android นั้น SherpaTTS รองรับได้ดี

    • โมเดลนี้เป็นเวอร์ชันพรีวิว และตั้งใจจะปรับปรุงคุณภาพอีกมากในอนาคต

    • Fish Speech ใช้น้ำหนักโมเดลที่ห้ามใช้งานเชิงพาณิชย์
      ฉันสงสัยเรื่องความต้องการ VRAM เพราะ KittenTTS มีแค่ 15 ล้านพารามิเตอร์ จึงอาจรันได้แม้บนคอมพิวเตอร์ประหยัดพลังงานราคาต่ำกว่า 100 ดอลลาร์
      GPU 6GB ที่คุณยกมานั้นก็ถือว่าเก่าแล้ว

  • คุณภาพยังไม่น่าประทับใจเท่าที่หวังไว้
    เป้าหมายคืออยากได้เสียงที่เป็นธรรมชาติ
    piper กับ kokoro ก็ยังไม่ค่อยถูกใจ และ XTTS ก็ติดตั้งยุ่งยากนิดหน่อย
    ฝั่ง speech recognition (STT) นั้น whisper ยอดเยี่ยมจริง ๆ
    เลยอยากได้ TTS ดี ๆ บ้าง
    ต่อให้กิน GPU เยอะก็ไม่เป็นไร ขอแค่คุณภาพดี
    สำหรับโมเดลนี้ ตอนนี้ฉันว่าแย่กว่า kokoro อีก

    • ส่วนตัวฉันคิดว่าคุณภาพระดับ SOTA ของโอเพนเวตตอนนี้ chatterbox ดีที่สุด

    • TTS โอเพนซอร์สที่ดีที่สุดเท่าที่ฉันเคยเห็นคือ Dia
      แม้จะมีข้อจำกัดอยู่บ้าง แต่บนโน้ตบุ๊กก็ยังรันได้ดี

    • Pinokio ก็น่าลองใช้ดูเหมือนกัน

    • Chatterbox ก็น่าลองเช่นกัน

    • ถ้ามีทรัพยากร GPU เหลือเฟือ ก็ไม่จำเป็นต้องซีเรียสเรื่องคุณภาพของตัวนี้มากนัก
      ประเด็นสำคัญคือโมเดลนี้รันได้โดยไม่ต้องใช้ GPU
      สมัยก่อน ก่อนยุค Tacotron2 ก็มี TTS ขนาดเล็กอย่าง GlowTTS, MelGAN และ vocoder ที่รันบนคลาวด์ Digital Ocean ได้ในราคาถูก
      หลังจากนั้นกระแสก็ค่อย ๆ ขยับไปสู่โมเดลขนาดใหญ่
      แต่ต่อไปฉันคิดว่าเราจะเข้าสู่ยุคที่โมเดลขนาดเล็กถูกฝังลงในอุปกรณ์โดยตรง
      ใช้กับ Raspberry Pi, ของเล่น และอุปกรณ์ขนาดเล็กต่าง ๆ ที่ไม่ต้องพึ่งเครือข่าย
      Edge AI จะทำให้เกิดการขยายตัวครั้งใหญ่ในด้านหุ่นยนต์ ของเล่น อุปกรณ์ผู้บริโภค และเกม