← บทความทั้งหมด

คู่มือเสียงพากย์ภาษาไทย

แปลงข้อความเป็นเสียงภาษาไทย: ทำไมเสียง AI สะดุดกลางคำ

ถ้าเคยใช้เครื่องมือแปลงข้อความเป็นเสียงกับสคริปต์ภาษาไทยยาว ๆ แล้วได้ยินเสียงหยุดกลางคำ หรือคำหนึ่งถูกอ่านแยกเป็นสองท่อน ปัญหาส่วนใหญ่ไม่ได้อยู่ที่เสียง แต่อยู่ที่วิธีที่ระบบตัดข้อความก่อนส่งไปสร้างเสียง

ภาษาไทยไม่มีช่องว่างระหว่างคำ

ภาษาอังกฤษเว้นวรรคทุกคำและจบประโยคด้วยจุด ระบบจึงรู้ทันทีว่าตัดตรงไหนได้ปลอดภัย แต่ภาษาไทยเขียนคำติดกันเป็นพืด และใช้การเว้นวรรคหรือการขึ้นบรรทัดใหม่แทนเครื่องหมายจบประโยค เครื่องมือที่ใช้กฎของภาษาอังกฤษจึงมองไม่เห็นว่าคำไทยเริ่มและจบตรงไหน

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

ทำไมต้องตัดสคริปต์เป็นท่อน

เอนจินสร้างเสียงทุกตัวรับข้อความได้จำกัดต่อการสร้างหนึ่งครั้ง ขีดจำกัดนี้มักนับเป็นไบต์ ไม่ใช่จำนวนตัวอักษร และตัวอักษรไทยหนึ่งตัวใช้พื้นที่ 3 ไบต์ ขณะที่ตัวอักษรอังกฤษใช้ 1 ไบต์ สคริปต์ไทยจึงชนขีดจำกัดเร็วกว่าภาษาอังกฤษประมาณสามเท่า

เครื่องมือทั่วไปแก้ปัญหานี้ด้วยการตัดทุก ๆ จำนวนตัวอักษรที่กำหนด ซึ่งกับภาษาไทยแทบจะแน่นอนว่าตัดกลางคำ ผลคือจังหวะหยุดแปลก ๆ ตรงรอยต่อ หรือคำที่ถูกแยกถูกอ่านเป็นคนละคำ

NarrateHQ ตัดสคริปต์ไทยอย่างไร

NarrateHQ แบ่งสคริปต์ภาษาไทยเป็นประโยคตามการขึ้นบรรทัดใหม่ก่อน เพราะคนเขียนสคริปต์ไทยมักขึ้นบรรทัดใหม่ทุกจังหวะพูดอยู่แล้ว ถ้าบรรทัดไหนยาวเกินกว่าที่สร้างได้ในครั้งเดียว ระบบจะใช้การตัดคำด้วยพจนานุกรมเพื่อหาขอบเขตคำจริง แล้วตัดตรงขอบเขตที่ใกล้ที่สุด จึงไม่ตัดกลางคำ และไม่ตัดกลางกลุ่มสระหรือวรรณยุกต์

เสียงบางเลนคุณภาพใช้ท่อนที่สั้นลงเป็นพิเศษสำหรับภาษาไทย เพื่อให้สคริปต์ยาวสร้างเสียงได้สำเร็จครบทุกท่อน ทุกท่อนใช้เสียงและการตั้งค่าเดียวกัน แล้วระบบรวมเป็นไฟล์เดียวพร้อมซับไตเติล SRT ที่ตรงกับเสียงจริง

เขียนสคริปต์ไทยให้เสียงลื่น

วิธีตัดของระบบจะได้ผลดีที่สุดเมื่อสคริปต์ช่วยบอกจังหวะ เคล็ดลับเหล่านี้ใช้ได้กับเครื่องมือแปลงข้อความเป็นเสียงเกือบทุกตัว

  • ขึ้นบรรทัดใหม่ทุกครั้งที่ต้องการให้ผู้พูดหยุดหายใจ หนึ่งบรรทัดควรเป็นหนึ่งความคิด
  • เว้นวรรคระหว่างวลีตามธรรมชาติของภาษาไทย ระบบใช้ช่องว่างเป็นจุดพักเมื่อบรรทัดยาวเกิน
  • เขียนตัวเลข วันที่ และคำย่อในรูปที่ต้องการให้อ่าน เช่น "สองพันห้าร้อยหกสิบเก้า" ถ้าต้องการให้อ่านปีแบบเต็ม
  • ชื่อเฉพาะหรือคำทับศัพท์ที่ถูกอ่านผิด ให้เพิ่มลงในพจนานุกรมการออกเสียงครั้งเดียว แล้วทุกการสร้างเสียงครั้งต่อไปจะอ่านแบบเดียวกัน (ฟีเจอร์นี้มีในแพ็กเกจ Starter ขึ้นไป)
  • ลองสร้างเสียงสัก 2–3 ย่อหน้าแรกก่อนสร้างทั้งคลิป เพื่อเช็คจังหวะและการออกเสียงก่อนใช้เครดิตทั้งหมด

แก้ทีละท่อน ไม่ต้องสร้างใหม่ทั้งคลิป

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