KittenTTS ได้กลายเป็นโมเดล text-to-speech แบบโอเพนซอร์สที่น่าสนใจ โดยอ้างว่าสามารถสังเคราะห์เสียงคุณภาพสูงได้ในขนาดเพียง 25MB พร้อมการทำงานแบบ CPU-only เท่านั้น อย่างไรก็ตาม การตอบสนองจากชุมชนเผยให้เห็นช่องว่างที่สำคัญระหว่างคำสัญญาเรื่องความเบาของโปรเจกต์กับความท้าทายในการนำไปใช้งานจริง
ข้อมูลจำเพาะของโมเดล
- พารามิเตอร์: 15 ล้าน
- ขนาดโมเดล: <25MB
- การทำงานแบบ CPU เท่านั้น (ไม่จำเป็นต้องใช้ GPU)
- อัตราการสุ่มตัวอย่าง: 24kHz
- เสียงที่มีให้เลือก: 6 ตัวเลือก (expr-voice-2/3/4-m/f)
- ใบอนุญาต: Apache-2.0 (มีปัญหาการพึ่งพา GPL)
ปัญหาการติดตั้งที่ขัดแย้งกับคำอ้าง Works Literally Everywhere
โปรเจกต์นี้อ้างอย่างกล้าหาญว่า Works literally everywhere ในข้อกำหนดระบบ แต่ผู้ใช้รายงานปัญหาการติดตั้งที่ล้มเหลวอย่างแพร่หลาย ปัญหาหลักเกิดจากปัญหาความเข้ากันได้ของเวอร์ชัน Python และเครือข่าย dependency ที่ซับซ้อนซึ่งสามารถขยายขนาดได้หลายกิกะไบต์ ผู้ใช้พบปัญหาการล้มเหลวทั้งในเวอร์ชัน Python เก่าและใหม่ โดยบางการติดตั้งต้องใช้พื้นที่ virtual environment ถึง 6GB - ซึ่งห่างไกลจากขนาด 25MB ที่โฆษณาไว้
สถานการณ์กลายเป็นปัญหามากจนสมาชิกชุมชนแนะนำให้ใช้วิธีการติดตั้งทางเลือกอย่าง uvx
และ uv
เพื่อหลีกเลี่ยง dependency hell เครื่องมือเหล่านี้แม้จะช่วยได้ แต่ก็เพิ่มความซับซ้อนอีกชั้นหนึ่งสำหรับผู้ใช้ที่ต้องการเพียงแค่ทดลองใช้โมเดล
สรุปปัญหาการติดตั้ง
- ขนาด Virtual environment: สูงถึง 6GB (เทียบกับที่โฆษณาไว้ 25MB)
- ปัญหาความเข้ากันได้ของเวอร์ชัน Python
- การพึ่งพาคอมโพเนนต์ที่มีใบอนุญาต GPL-3.0
- ข้อผิดพลาดในการคอมไพล์บนระบบบางตัว
- วิธีแก้ไขที่แนะนำ: ใช้เครื่องมือ uvx/uv
ข้อกังวลเรื่องใบอนุญาต GPL คุกคามการใช้งานเชิงพาณิชย์
ปัญหาใบอนุญาตที่สำคัญได้เกิดขึ้นซึ่งอาจจำกัดการนำ KittenTTS ไปใช้ในแอปพลิเคชันเชิงพาณิชย์ แม้จะโฆษณาว่าใช้ใบอนุญาต Apache-2.0 แต่โมเดลต้องพึ่งพา phonemizer
ซึ่งใช้ espeak-ng
ที่มีใบอนุญาต GPL-3.0 ห่วงโซ่ dependency นี้ทำให้โปรเจกต์ทั้งหมดกลายเป็น GPL-licensed ในทางปฏิบัติ ซึ่งอาจขัดขวางการใช้งานเชิงพาณิชย์
การใช้ไลบรารีนี้ใช้เพียงสี่บรรทัด สามบรรทัดสำหรับตั้งค่าไลบรารี อีกบรรทัดหนึ่งเรียกใช้งาน รวมทั้งคำสั่ง import ด้วย แม้จะไม่พิจารณาคดี Google vs Oracle ฉันไม่คิดว่าบรรทัดเหล่านั้นจะมีความเป็นต้นฉบับเพียงพอ
ความขัดแย้งเรื่องใบอนุญาตนี้ได้จุดประกายการอภิปรายเกี่ยวกับแนวทางแก้ไขที่เป็นไปได้ รวมถึงการลบ GPL dependency หรือการใช้แนวทาง dual-licensing
รีวิวคุณภาพและประสิทธิภาพแบบผสมผสาน
การทดสอบจากชุมชนเผยผลลัพธ์ที่หลากหลายสำหรับคุณภาพ TTS จริง ในขณะที่ผู้ใช้บางคนชื่นชมความสำเร็จทางเทคนิคในการบรรจุโมเดล neural TTS ลงในขนาด 25MB ผู้อื่นอธิบายเอาต์พุตว่ามีเสียงโลหะและเทียม การวัดประสิทธิภาพแสดงให้เห็นว่าโมเดลสร้างเสียงได้ประมาณ 5 เท่าของเวลาจริงบนฮาร์ดแวร์สมัยใหม่ โดยมี latency เริ่มต้นประมาณ 315ms สำหรับข้อความสั้น
คุณภาพดูเหมือนจะแตกต่างกันอย่างมากระหว่างตัวเลือกเสียงต่างๆ โดยเสียงบางตัวฟังดูเหมือนวัยรุ่นที่ยังเปลี่ยนเสียงไม่เสร็จ ในขณะที่เสียงอื่นๆ ถูกอธิบายว่าตื่นเต้นเกินไปหรือเทียม ผู้ใช้หลายคนสังเกตปัญหาการออกเสียงตัวเลขและการรวมคำบางอย่าง
เกณฑ์มาตรฐานประสิทธิภาพ ( Intel Core i9-14900HX )
- เวลาการโหลดโมเดล: ประมาณ 710 มิลลิวินาที
- ความหน่วงเริ่มต้น: ประมาณ 315 มิลลิวินาทีสำหรับข้อความสั้น
- ความเร็วการสร้างเสียง: เร็วกว่าเวลาจริง 5.46 เท่า สำหรับข้อความยาว
- ประสิทธิภาพคงที่ในเสียงต่างๆ (เร็วกว่าเวลาจริง 4.63-5.28 เท่า)
การตอบสนองของนักพัฒนาและแผนอนาคต
ทีมพัฒนาได้รับทราบปัญหาเหล่านี้และระบุว่าการเผยแพร่ครั้งนี้เป็นเพียง preview checkpoint จากการฝึกอบรมในช่วงแรก พวกเขาสัญญาว่าจะเผยแพร่โมเดลเต็มรูปแบบพร้อมเวอร์ชัน 15M และ 80M parameter ที่ควรให้คุณภาพสูงกว่าอย่างมีนัยสำคัญ ทีมยังกำลังทำงานเพื่อแก้ไขปัญหา dependency และข้อกังวลเรื่องใบอนุญาต
แม้จะมีความท้าทายในปัจจุบัน โปรเจกต์นี้แสดงถึงก้าวสำคัญไปสู่โมเดล AI ที่พกพาได้จริงซึ่งสามารถทำงานบนอุปกรณ์ edge โดยไม่ต้องใช้ GPU แนวคิดของโมเดล TTS ที่เบาเป็นพิเศษได้สร้างความสนใจอย่างมากในชุมชน โดยเฉพาะสำหรับแอปพลิเคชันแบบฝังตัวและการใช้งานแบบออฟไลน์
อ้างอิง: Kitten TTS