2 กันยายน 2569 · อ่าน 3 นาที
วิธีเขียนสคริปต์ให้เสียง AI ภาษาไทยอ่านได้เป็นธรรมชาติ
สิบกฎการเขียนสคริปต์สำหรับ text to speech ภาษาไทย เว้นวรรคตรงไหน เขียนตัวเลข วันที่ ตัวย่อ และคำอังกฤษอย่างไร ให้เสียง AI อ่านถูก
เสียง AI อ่านตามที่สคริปต์เขียน แต่สคริปต์ภาษาไทยบอกน้อยกว่าที่เห็น ภาษาไทยเขียนติดกันโดยไม่มีเส้นแบ่งคำ สระบางตัวไม่ปรากฏบนหน้ากระดาษ และปล่อยให้ผู้อ่านตัดสินเองว่าตัวเลขหรือตัวย่ออ่านว่าอะไร กฎสิบข้อด้านล่างปิดช่องว่างเหล่านั้นก่อนถึงมือโมเดล ทุกประโยคตัวอย่างยาวไม่เกิน 50 ตัวอักษร ซึ่งเป็นขีดจำกัดของช่องบน /tts จึงวางแล้วกดฟังได้ทันที
กฎเหล่านี้ใช้ได้กับเสียงภาษาไทยทุกตัว และเขียนขึ้นสำหรับ Paxa TTS Flash ข้อเท็จจริงเรื่องการอ่านที่อยู่เบื้องหลังคือชุดเดียวกับที่เผยแพร่บนหน้าผลิตภัณฑ์
เว้นวรรคคือหยุดหายใจ#
ภาษาไทยใช้ช่องว่างแบ่งวลี ซึ่งเป็นหน้าที่ของจุลภาคในภาษาอังกฤษ เสียงจะหยุดตรงช่องว่าง และอ่านทุกอย่างระหว่างช่องว่างสองช่องเป็นลมหายใจเดียว ผู้เขียนจึงควบคุมจังหวะได้โดยตรง และช่องว่างที่วางผิดที่ก็ผ่าคำออกเป็นสองท่อนได้เช่นกัน
ก่อน วันนี้ฝนตกหนักมากรถติดทั้งเมือง หลัง วันนี้ฝนตกหนักมาก รถติดทั้งเมือง ลมหายใจเดียวกลายเป็นสองวลี ผิด วันนี้ฝนตกหนักมาก รถติดทั้งเมื อง ช่องว่างกลางคำว่า เมือง ผ่าคำออกเป็นสองท่อน
ชื่อคนในประโยคอ่านชัดที่สุดเมื่อมีช่องว่างสองข้าง คุณ สมชาย ลงน้ำหนักที่ชื่อ ส่วน คุณสมชาย อ่านรวบกับคำนำหน้า สถานที่และชื่อสินค้าที่ผู้ฟังต้องจับให้ได้ตั้งแต่ครั้งแรกก็ใช้หลักเดียวกัน
วางช่องว่างตรงที่คนอ่านจะหายใจ คือหลังจบอนุประโยค หน้าคำเชื่อมอย่าง แต่ หรือ แล้ว และรอบชื่อเฉพาะที่มีน้ำหนักเสียงของตัวเอง ส่วนคำประสมให้ปล่อยติดกัน ร้านอาหาร โทรศัพท์มือถือ และ กรุงเทพมหานคร อ่านเป็นคำเดียวทั้งหมด
จุดและเครื่องหมายคำถามกำหนดเสียงตก#
ร้อยแก้วภาษาไทยมักจบประโยคด้วยช่องว่างเพียงอย่างเดียว แต่เสียงต้องการมากกว่านั้น จุดบอกให้เสียงตกและเริ่มประโยคถัดไปใหม่ เครื่องหมายคำถามบอกให้เสียงยกขึ้น สคริปต์สำหรับพูดจึงใส่เครื่องหมายวรรคตอนได้ในจุดที่หน้ากระดาษไม่ใส่
ก่อน ร้านเปิดกี่โมง พรุ่งนี้หยุดไหม หลัง ร้านเปิดกี่โมง? พรุ่งนี้หยุดไหม? ก่อน ขอบคุณที่โทรมา เราจะติดต่อกลับ หลัง ขอบคุณที่โทรมา. เราจะติดต่อกลับ.
เครื่องหมายอัศเจรีย์ยกเสียงขึ้น เหมาะกับงานโปรโมต จุดไข่ปลาสามจุดดึงเสียงค้างที่พยางค์สุดท้าย ใช้ครั้งเดียวในนิทานก่อนนอนได้ดี แต่ในเมนูจะน่ารำคาญเร็ว จุลภาคกลางประโยคไทยไม่ได้ทำอะไรที่ช่องว่างไม่ได้ทำอยู่แล้ว และจุลภาคที่หลุดมาอาจกลายเป็นการหยุดผิดที่ ใช้ช่องว่างสำหรับหยุด และเก็บจุลภาคไว้ให้ตัวเลข
ตัวเลข วันที่ และราคา#
ตัวเลขหนึ่งชุดอ่านได้มากกว่าหนึ่งแบบ และสคริปต์เป็นผู้เลือกว่าเสียงจะได้แบบไหน ปีอ่านเป็นจำนวน เบอร์โทรอ่านทีละหลัก และจำนวนที่ลงท้ายด้วยหนึ่งใช้ เอ็ด เลขไทยกับเลขอารบิกอ่านเหมือนกัน เลือกแบบที่ผู้ฟังคุ้น และใช้แบบเดียวตลอดทั้งสคริปต์
| ที่เขียน | ที่อ่าน | ควรเขียนอย่างไร |
|---|---|---|
| พ.ศ. 2569 | พอ-สอ สองพันห้าร้อยหกสิบเก้า | คงไว้ได้ ปีอ่านเป็นจำนวน |
| 1,250 บาท | หนึ่งพันสองร้อยห้าสิบบาท | คงจุลภาคไว้ หน่วยตามหลังตัวเลข |
| ๑๐๑ | ร้อยเอ็ด | หนึ่งท้ายจำนวนอ่านว่า เอ็ด ไม่ต้องเพิ่มอะไร |
| 02 000 0000 | ศูนย์สอง ศูนย์ศูนย์ศูนย์ ศูนย์ศูนย์ศูนย์ศูนย์ | เว้นวรรคเป็นกลุ่ม เบอร์โทรอ่านทีละหลัก |
| 10150 | หนึ่งศูนย์หนึ่งห้าศูนย์ | รหัสไปรษณีย์เขียนติดกัน อ่านทีละหลัก |
| ๑๖.๓๐ น. | สิบหกนาฬิกาสามสิบนาที | คง น. ไว้ เครื่องหมายนี้ทำให้จุดกลายเป็นเวลา |
| 3/4 | สามส่วนสี่ หรือ สาม ทับ สี่ | เขียนคำอ่านออกมาเมื่อสำคัญ เช่น สามในสี่ หรือ บ้านเลขที่ 3 ทับ 4 |
เมื่อสองแบบอ่านได้ทั้งคู่ ให้เขียนแบบที่ต้องการเป็นตัวหนังสือ เศษส่วน บ้านเลขที่ที่มีทับ และคะแนนการแข่งขัน หน้าตาเหมือนกันเมื่อเป็นตัวเลข แต่อ่านออกเสียงต่างกัน การเขียนคำอ่านเปลืองตัวอักษรไม่กี่ตัว และตัดการเดาออกไปทั้งหมด
วันที่อ่านเรียงวัน เดือน ปี และเครื่องหมายศักราชบอกเสียงว่าอยู่ศตวรรษไหน 15 กรกฎาคม 2569 อ่านปีเต็มจำนวน ปีคริสต์ศักราชให้ใส่ ค.ศ. นำหน้า เพราะ 2026 เปล่า ๆ ฟังเหมือนปีพุทธศักราชในอดีต เปอร์เซ็นต์อ่านว่า เปอร์เซ็นต์ และทศนิยมอ่านว่า จุด 7% กับ 3.5 จึงไม่ต้องเขียนใหม่
ตัวย่อ และเมื่อไรควรเขียนเต็ม#
ภาษาไทยย่อคำด้วยจุด ฯ หรือ ฯลฯ และแต่ละเครื่องหมายมีกฎการอ่านของตัวเอง กรุงเทพฯ คืนพยางค์กลับมาหกพยางค์ ฯลฯ อ่านว่า และอื่น ๆ เมื่ออยู่ท้ายรายการ และอ่านว่า ละถึง เมื่ออยู่ระหว่างสองรายการ ก.พ. มีคำอ่านที่ยอมรับสองแบบ คือ กุมภาพันธ์ เต็มคำ และ กอ-พอ ตามชื่อตัวอักษร ผู้ฟังรับได้ทั้งคู่
เขียนตัวย่อเป็นคำเต็มเมื่อมีคำอ่านเดียวเท่านั้นที่ถูกสำหรับผู้ฟังของคุณ ข้อความเตือนนัดจากคลินิกต้องการ กุมภาพันธ์ เต็มคำ ส่วนข่าวคง กทม. ไว้ได้ เพราะ กรุงเทพมหานคร เป็นคำอ่านเดียวที่มี
ก่อน นัดครั้งถัดไป 14 ก.พ. ที่ รพ. เดิม หลัง นัดครั้งถัดไป 14 กุมภาพันธ์ ที่โรงพยาบาลเดิม
คำอังกฤษในประโยคไทย#
ข้อความธุรกิจภาษาไทยมีภาษาอังกฤษปนอยู่เสมอ ทั้งชื่อสินค้า ตำแหน่งงาน และตัวย่อ ให้คงไว้เป็นอักษรละติน เสียงอ่านคำละตินเป็นภาษาอังกฤษ และอ่านคำที่ถอดเป็นไทยแบบไทย ซึ่งมักฟังแย่กว่า ตัวย่ออ่านทีละตัวอักษรอยู่แล้ว AI และ HR จึงไม่ต้องช่วยอะไร
ก่อน ส่งอีเมลหาเอชอาร์ก่อนประชุม หลัง ส่ง email หา HR ก่อน meeting ก่อน เปิดแอปเวอร์ชันใหม่ได้แล้ว หลัง เปิด app เวอร์ชันใหม่ได้แล้ว
คำที่ภาษาไทยรับมาใช้จนกลายเป็นคำไทยแล้วให้คงเป็นไทย แท็กซี่ คอมพิวเตอร์ และ เวอร์ชัน อ่านได้ดีในอักษรไทย เพราะคนไทยพูดแบบนั้นจริง ส่วนชื่อแบรนด์ให้สะกดตามที่แบรนด์สะกดเอง
ตัวย่อบางคำออกเสียงเป็นคำ NASA และ UNESCO อ่านคำละสองพยางค์ การอ่านทีละตัวอักษรฟังแปลกหูสำหรับคนไทย ให้เขียนเป็นอักษรไทยว่า นาซา และ ยูเนสโก เสียงจะอ่านเป็นคำ ชื่อที่ผสมสองภาษาให้คงแต่ละส่วนไว้ในอักษรของตัวเอง บริษัท Paxa Labs จำกัด อ่านกรอบภาษาไทยเป็นไทย และอ่านชื่อเป็นอังกฤษ
ไม้ยมก ซ้ำอะไร#
ไม้ยมก ๆ ซ้ำได้ทั้งคำ สองพยางค์ หรือทั้งวลี และความหมายเป็นตัวกำหนดช่วง เด็กเล็ก ๆ ซ้ำหนึ่งคำ ในวันหนึ่ง ๆ ซ้ำสองพยางค์ แต่ละวัน ๆ ซ้ำทั้งวลี เขียนไม้ยมกโดยเว้นวรรคข้างหน้าตามอักขรวิธีมาตรฐาน และเขียนคำซ้ำออกมาเต็มเมื่อช่วงที่ซ้ำอาจถูกอ่านผิด
ก่อน ค่อย ๆ เดิน ช้า ๆ นะ หลัง ค่อยค่อยเดิน ช้าช้านะ สองแบบอ่านเหมือนกันในที่นี้ แบบหลังไม่เหลืออะไรให้เสียงต้องตัดสิน
คำลงท้ายและสรรพนามกำหนดระดับภาษาและเพศของผู้พูด#
ประโยคภาษาไทยเก็บความสุภาพไว้ที่คำสุดท้าย และเก็บเพศของผู้พูดไว้ที่สรรพนาม ค่ะ กับ ดิฉัน เป็นของผู้พูดหญิง ครับ กับ ผม เป็นของผู้พูดชาย สคริปต์ที่เขียนด้วย ครับ แล้วให้เสียงหญิงอ่านจะฟังผิดตั้งแต่ประโยคแรกยังไม่จบ จับคู่ประโยคให้ตรงกับเสียงที่เลือกในหน้ารวมเสียง
| ระดับภาษา | ประโยค | เสียง |
|---|---|---|
| สุภาพ หญิง | ยินดีต้อนรับค่ะ ดิฉันขอแนะนำบริการของเรา | นมเย็น |
| สุภาพ ชาย | สวัสดีครับ ผมขอแจ้งข่าวประจำวันนี้ | ทองเอก |
| กันเอง ชาย | เดี๋ยวผมส่งไฟล์ให้นะ | ขนมครก |
คำลงท้ายทำหน้าที่เดียวกับปุ่มปรับสไตล์ในระบบอื่น เขียน นะคะ เสียงอ่านจะนุ่มลง เขียน ครับผม เสียงอ่านจะหนักแน่นขึ้น ตัดคำลงท้ายออก ประโยคจะกลายเป็นการบรรยายที่ไม่มีผู้ฟังอยู่ในห้อง
สะกดคำลงท้ายของผู้หญิงตามเสียงวรรณยุกต์ ค่ะ ปิดประโยคบอกเล่าด้วยเสียงต่ำ คะ ปิดประโยคคำถามและตามหลัง นะ ด้วยเสียงตรี ขอบคุณค่ะ และ ใช่ไหมคะ ถูกทั้งคู่ สะกดสลับกันแล้วเสียงจะอ่านวรรณยุกต์ผิด และคนไทยได้ยินทันที
ประโยคควรยาวแค่ไหน#
ประโยคสั้นเหมาะกับโฆษณาและข้อความนำทาง เพราะแต่ละประโยคลงน้ำหนักของตัวเอง งานบรรยายอ่านได้ดีกว่าเมื่อเป็นย่อหน้าเต็มสามถึงห้าประโยค ซึ่งเสียงได้จังหวะที่นิ่ง คำขอหนึ่งครั้งรับได้ถึง 5,000 ตัวอักษร บทที่ยาวกว่านั้นให้แบ่งที่หัวข้อหรือย่อหน้า ไม่แบ่งกลางประโยค
- ประโยคโฆษณา หนึ่งอนุประโยค หนึ่งความคิด คำลงท้ายปิดท้าย
- ข้อความเมนู ตัวเลือกมาก่อน คำสั่งตามหลัง
- งานบรรยาย เขียนเป็นย่อหน้า เว้นวรรคทุกวลี ใส่จุดทุกประโยค
- รายการที่อ่านออกเสียง หนึ่งรายการต่อบรรทัด และบอกจำนวนรายการก่อนเริ่ม
ประโยคอังกฤษเป็นงานของเสียงอังกฤษ#
เสียงไทยอ่านประโยคอังกฤษทั้งประโยคด้วยสำเนียงไทย แบบเดียวกับที่คนไทยพูด แบบนั้นถูกสำหรับคำอังกฤษหนึ่งคำในประโยคไทย และผิดสำหรับสคริปต์บริการลูกค้าที่เขียนเป็นอังกฤษล้วน ชุดเสียงมีเสียงอังกฤษสำหรับงานแบบนั้น คุกกี้ และ โทสต์ อ่านคำทักทายฝ่ายบริการในระดับภาษาที่เจ้าของภาษาคาดหวัง
หมายเหตุ
ประโยคเดียวที่สลับภาษากลางทางคือประโยคไทย ให้เสียงไทยอ่าน และคงคำอังกฤษไว้ในอักษรละติน
ความเร็วและเวลา#
ความเร็วเป็นตัวเลือกในคำขอ สคริปต์จึงไม่ต้องใช้เครื่องหมายวรรคตอนหลอกจังหวะ ฟิลด์ speed รับค่าตั้งแต่ 0.5 ถึง 1.5 เทียบกับอัตราของเสียงนั้นเอง และไม่เปลี่ยนค่าใช้จ่าย บทสมาธิอยู่ต่ำกว่า 1 ข่าวอยู่สูงกว่า ส่วนเวลาระดับคำบอกว่าแต่ละคำเริ่มและจบตรงไหน ซึ่งเป็นสิ่งที่แทร็กซับไตเติลต้องการในภาษาที่ไม่เขียนช่องว่าง คู่มือ timestamps อธิบายความละเอียดทั้งสามระดับ
เวลาระดับคำเหมาะกับซับไตเติลและการไฮไลต์แบบคาราโอเกะ เวลาระดับประโยคเหมาะกับเครื่องเล่นที่กระโดดข้ามบรรทัด เวลาระดับคำขอครอบทั้งคำขอและใช้ความสนใจน้อยที่สุด เลือกระดับหยาบที่สุดที่ทำงานได้
ข้อผิดพลาดที่พบบ่อย#
| ที่เขียน | ที่ได้ยิน | วิธีแก้ |
|---|---|---|
| รถติดทั้งเมื อง | คำเดียวแตกเป็นสองท่อน | ลบช่องว่างกลางคำ |
| โทร 020000000 | จำนวนหลักร้อยล้าน | เว้นวรรคตัวเลขเป็นกลุ่ม |
| ประชุม 14 ก.พ. | ชื่อตัวอักษร ทั้งที่ตั้งใจให้เป็นชื่อเดือน | เขียน กุมภาพันธ์ |
| ส่งเมล์หาเอชอาร์ | คำถอดเสียงที่ฟังไม่เป็นทั้งสองภาษา | เขียน email และ HR เป็นอักษรละติน |
| สวัสดีครับ ในเสียงผู้หญิง | คำลงท้ายชายในเสียงหญิง | เขียน ค่ะ หรือเลือกเสียงชาย |
| ข้อความ 2,000 ตัวอักษรไม่มีจุด | เสียงตกยาวหนึ่งครั้งโดยไม่มีจุดเริ่มใหม่ | ใส่จุดปิดทุกประโยค |
ก่อนกดฟัง#
- อ่านออกเสียงหนึ่งรอบ ตรงไหนหายใจ ตรงนั้นเว้นวรรค
- จบทุกประโยคด้วยจุดหรือเครื่องหมายคำถาม
- เขียนตัวเลขที่กำกวมเป็นคำ และเว้นวรรคเบอร์โทรเป็นกลุ่ม
- เขียนตัวย่อเต็มเมื่อมีคำอ่านเดียวที่ถูก
- คงคำอังกฤษไว้ในอักษรละติน
- จับคู่ ครับ หรือ ค่ะ ให้ตรงกับเสียงที่เลือก
- ลองทีละประโยคในช่องบน /tts แล้วย้ายสคริปต์ยาวไปที่ playground ซึ่งรับ 5,000 ตัวอักษร และดาวน์โหลดไฟล์เสียงได้
- นักพัฒนาที่ต่อระบบดูฟิลด์ของคำขอได้ที่คู่มือ text to speech และเอกสารอ้างอิง API