IndexTTS2-Thai Finetune v1

TTS ภาษาไทยที่โคลนเสียง เพิ่มอารมณ์ได้ เหมาะกับการทำ dub (พากย์ทับ)


⚖️ เปรียบเทียบกับโมเดลอื่นๆ

เทียบกับ Local Model ที่คุณภาพพอๆ กัน และสามารถพูดไทยได้ในตอนนี้คือ F5-TTS และ Vibevoice

🆚 เทียบกับ F5-TTS THAI

  • ดีกว่า: ในแง่การแสดงอารมณ์ตาม Ref Audio มีโหมดกำหนดอารมณ์ได้มากกว่าผ่าน Vector และอื่นๆ ไม่จำเป็นต้องใส่ Ref Prompt เหมือน F5-TTS
  • ความเร็ว: ช้ากว่า F5-TTS ประมาณหนึ่ง เนื่องจากเป็น Autoregressive model (แต่ก็เร็วกว่า Vibevoice 7b มาก)

🆚 เทียบกับ Vibevoice

  • จุดเด่น: รุ่นนี้แยกสำเนียงกับภาษาออกจาก Ref Audio ได้ดีกว่า (ในขณะที่ Vibevoice ถ้า Ref Audio เป็นภาษาอังกฤษ เสียงที่ Generate ได้ก็จะกลายเป็นภาษาไทยสำเนียงอังกฤษแทน)
  • จุดด้อย: ความถูกต้องและความเป็นธรรมชาติในการ Gen ปกติ Vibevoice ยังเหนือกว่า

🛠️ ข้อมูลทางเทคนิค (Technical Details)

  • Dataset: Finetune จาก Base Model ด้วย Porjai Dataset ที่คัดออกจาก 700 ชั่วโมง เหลือ 500 ชั่วโมง
  • Duration: Segments อยู่ที่ 1-15 วินาที (เพราะรู้สึกที่มากกว่านั้นคือติด Noise มาทั้งนั้น)
  • Data Size: หลังทำ GPT Pairing Total Line ในไฟล์ jsonl อยู่ประมาณ 500,000+
  • Training Method: ทำ Finetune โดยอ้างอิงจาก Repo คุณ Jarod Mica มีดัดแปลงวิธีการแยกเสียงผู้พูดโดยใช้ Pyannote ผสม Condition Vector ที่แยกมาได้จากตอน Preprocess แทนการแยกเสียงผู้พูดตอน Transcribe

🚀 การใช้งาน

สามารถใช้กับ Repo หลัก หรือ Fork ของ Jarod Mica ก็ได้ (เดี๋ยวมาเขียนเพิ่มอีกที ถ้ามีเวลา)


📊 ผลลัพธ์ที่ได้ (Pros & Cons)

✅ ข้อดี

  • เวลาการ Generate พอๆ กับ F5-TTS
  • การให้อารมณ์ดีกว่ามาก

❌ ข้อเสีย

Dataset ที่ใช้เทรนค่อนข้างสะเปะสะปะ (เข้าข่ายรำไม่ดีโทษปี่โทษกลอง lol)

  1. ความซ้ำซ้อน: มีข้อความซ้ำแต่คนละผู้พูด หรือบางทีก็ผู้พูดคนเดิมซ้ำไปมา 10-30 รอบต่อประโยคได้
  2. เรื่อง Spacebar และตัวอักษร:
    • ข้อความทุกข้อความติด Spacebar ผมเลยลบ Spacebar ออกหมดเลย ผลปรากฏว่าโมเดลเจอ Spacebar แล้วจะซ้ำคำแทน หรือบางทีก็มึน
    • ⚠️ คำแนะนำ: ให้เขียนข้อความแบบ ไม่มี Spacebar, เครื่องหมาย, เลข และภาษาอื่นๆ นอกจากไทย (เพราะ Dataset มีแต่ภาษาไทยล้วน เลขก็ไม่มี เขียนแทนเป็น หนึ่ง สอง เป็นต้น)
    • หรือสร้าง Script ที่ Preprocess Prompt ก่อน Gen บน WebUI ก็ได้
  3. อารมณ์: Dataset อารมณ์ทื่อ ความสามารถด้านอารมณ์น่าจะมาจาก Base Model ซะส่วนใหญ่ ทำให้ผลลัพธ์ส่วนมากค่อนข้างแปลกถ้าใส่อารมณ์เข้าไป (ที่โชว์ใน Demo คือหยิบเอาผลลัพธ์ดีๆ มาเท่านั้น)
  4. ความยาว (Length): เนื่องจาก Length per segment อยู่ที่ประมาณ 1-15 วินาทีเท่านั้น ทำให้เมื่อเจนมากกว่านั้นจะเริ่มเพี้ยน ต้องกำหนด Chunk ให้เก็บ Token ไม่ถึง 40 ไม่งั้นจะเจอปัญหาเสียงหายช่วงแรกอีก (เนื่องจาก Dataset เป็นการรวบรวมแบบคลิกแล้วพูด)

🔮 การพัฒนาต่อ

ตัวโมเดลเทรนเพิ่มได้ แต่ผมว่าจะใช้ Dataset ใหม่ในการเทรนเวอร์ชั่นต่อไป ใครอยากเอาเวอร์ชั่นนี้ไปเทรนเพิ่มเติมทำได้เต็มที่ สอบถามเพิ่มเติมที่ผมได้


📜 License

ตาม Repo หลัก เท่าที่อ่านคือเอาไปใช้ได้ถ้าคุณไม่ใช่บริษัทพันล้าน

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for williampike/indextts2-thai_finetune_v1

Finetuned
(5)
this model