นิยายโต้ตอบและวิชวลโนเวลภาษาไทย
ทำเสียงให้นิยายแบบแตกกิ่งภาษาไทย ทั้งนิยายแชท วิชวลโนเวล และเกมที่ผู้อ่านเลือกทางเดินเอง จะเรนเดอร์ทั้งต้นไม้ไว้ล่วงหน้า หรือพูดสดตามเส้นทางที่ผู้อ่านเลือกก็ได้
ไอเดียให้ลองเล่น
จะเดินเข้าไปถามเขาตรง ๆ หรือจะรอดูเงียบ ๆ อยู่ตรงนี้ก่อนดี
เธอเลือกจะเดินเข้าไป และนั่นคือจุดที่ทุกอย่างเปลี่ยนไปตลอดกาล
ไม่ต้องมาทำเป็นห่วงตอนนี้หรอก ตอนที่ฉันต้องการเธอ เธออยู่ไหน
ถ้าวันนั้นเธอเลือกอีกทาง เรื่องทั้งหมดนี้คงไม่มีวันเกิดขึ้นเลย
ทุกการ์ดเล่นคลิปจริงที่สร้างจากสคริปต์นั้น ๆ ด้วยเสียงนมเย็น เปิดในหน้าเสียงพูดเพื่อให้พูดข้อความของคุณเองได้
บทแบบแตกกิ่งกลายเป็นเสียงได้อย่างไร
นิยายแบบแตกกิ่งเป็นงานเขียนประเภทเดียว ที่ยังไม่รู้ว่าบรรทัดถัดไปคืออะไรจนกว่าผู้อ่านจะลงมือเลือก จอยลดาเผยแพร่นิยายไทยในรูปแบบแชทที่อ่านทีละข้อความ ส่วนวิชวลโนเวลที่สร้างบนเอนจินอย่าง Ren'Py เขียนบทพูดบรรทัดละหนึ่งผู้พูดและมีจุดให้เลือกคั่นระหว่างฉาก ทั้งสองรูปแบบทิ้งคำถามเดียวกันไว้ให้สตูดิโอ ถ้าเรนเดอร์ทั้งต้นไม้ไว้ล่วงหน้า ทุกกิ่งจะกลายเป็นไฟล์ที่พร้อมอยู่ก่อนใครจะเปิดแอป และจ่ายไปแล้วไม่ว่าจะมีผู้อ่านเดินไปทางนั้นหรือไม่ ถ้าพูดสดตอนเล่น ผู้อ่านจะจ่ายตามเส้นทางที่เดินจริงเท่านั้น แลกกับการเปิดการเชื่อมต่อค้างไว้ตลอดที่อ่านอยู่ แบบไหนถูกกว่าขึ้นอยู่กับว่าผู้อ่านทั่วไปเห็นต้นไม้นั้นมากแค่ไหน และตารางข้างล่างใส่ตัวเลขจริงลงไปให้แล้ว
แผ่ต้นไม้ออกเป็นช่วงคำพูด
ทุกโหนดกลายเป็นช่วงคำพูดที่มีผู้พูดและรหัสเสียงกำกับ ช่วงที่ยาวไม่เกิน 5,000 ตัวอักษรใช้คำขอเดียว ที่ยาวกว่านั้นแบ่งตรงรอยต่อประโยค
เลือกเรนเดอร์ล่วงหน้าหรือพูดสด เป็นรายฉาก
บทเปิดที่ผู้อ่านทุกคนต้องผ่านคุ้มที่จะเรนเดอร์ไว้ครั้งเดียว ส่วนกิ่งที่แทบไม่มีใครเดินไปคุ้มกว่าที่จะพูดสด ตัดสินใจแยกรายฉากได้ และเปลี่ยนใจหลังเปิดตัวได้โดยไม่ต้องแก้สคริปต์
เก็บสิ่งที่ผู้อ่านเคยได้ยินไว้
บรรทัดที่พูดสดออกมาก็เป็นไฟล์ MP3 ธรรมดา การเก็บไว้ทำให้เส้นทางที่เล่นซ้ำกลายเป็นการอ่านจากแคช และการย้อนอ่านเส้นทางเดิมไม่มีค่าใช้จ่ายในรอบที่สอง
เรนเดอร์ทั้งต้นไม้ หรือพูดเฉพาะเส้นทาง
| วิธีส่งเสียง | ตัวอักษร | เครดิต | ค่าใช้จ่าย |
|---|---|---|---|
| เส้นทางของผู้อ่านหนึ่งคน 120 บรรทัด | 10,800 | 108 | $0.11 |
| ผู้อ่าน 10,000 คน พูดสดตอนเล่น | 108,000,000 | 1,080,000 | $1,080 |
| ทั้งต้นไม้ ทำเสียงครั้งเดียว ใช้ได้กับผู้อ่านทุกคนที่จะมีต่อจากนี้ | ประมาณ $1.44 | ||
คำนวณที่ 10 เครดิตต่อ 1,000 ตัวอักษร จากบรรทัดยาว 90 ตัวอักษร การเรนเดอร์ล่วงหน้าจ่ายครั้งเดียวสำหรับผู้อ่านทั้งหมด ส่วนการพูดสดจ่ายต่อผู้อ่านหนึ่งคน จุดคุ้มทุนจึงอยู่ราว ๆ ผู้อ่าน 13 คน
หนึ่งบท สี่ตอนจบ
scene_07a ณิชา nomyen 96 chars scene_07a ธาวิน massaman 82 chars choice_1 -> scene_07b choice_2 -> scene_07c scene_07b ณิชา nomyen 88 chars [pre-rendered] scene_07c ณิชา nomyen 94 chars [pre-rendered] scene_07c คุณยาย miangkham 90 chars [pre-rendered] # 4 กิ่ง x ~400 บรรทัด = ต้นไม้ทั้งต้นด้านบน # ผู้อ่านหนึ่งคนได้ยินราว 120 บรรทัด
ต้นไม้คือหน่วยที่สตูดิโอตั้งงบ ส่วนเส้นทางคือหน่วยที่ผู้อ่านได้ยิน ทั้งสองแบบใช้รหัสเสียงหนึ่งตัวต่อหนึ่งผู้พูดเหมือนกัน
จากวันเปิดตัวจนเข้าที่
เรนเดอร์บทเปิดไว้ก่อน
ผู้อ่านทุกคนต้องผ่านบทเปิด จึงทำเสียงไว้ครั้งเดียวแล้วเสิร์ฟเป็นไฟล์ ไม่มีอะไรในส่วนนี้ต้องตัดสินใจตอนเล่น
กิ่งที่คนไปน้อยใช้พูดสด
เส้นทางลึกที่แทบไม่มีใครเดินไปยังไม่ต้องเรนเดอร์ ผู้อ่านที่ไปถึงจะได้ยินเสียงที่พูดสดผ่านการเชื่อมต่อ บรรทัดที่ถูกกดข้ามจะหยุดด้วยคำสั่งยกเลิก และส่วนที่ค้างในคิวไม่มีค่าใช้จ่าย
เส้นทางยอดนิยมอยู่ในแคชแล้ว
บรรทัดที่พูดไปแล้วหนึ่งครั้งก็เป็นไฟล์ MP3 ธรรมดา การเก็บเฉพาะบรรทัดที่ผู้อ่านไปถึงจริงทำให้ต้นไม้ส่วนใหญ่กลายเป็นไฟล์ไปเอง โดยไม่ต้องตัดสินใจเรนเดอร์เลยสักครั้ง
ต้นไม้หยุดมีค่าใช้จ่าย
ส่วนที่ผู้อ่านเดินผ่านถูกทำเสียงไว้หมดแล้ว การย้อนอ่านคือการอ่านจากแคช ค่าใช้จ่ายใหม่จะเริ่มอีกครั้งก็ต่อเมื่อคุณเขียนบทถัดไป
การเชื่อมต่อสดที่เปิดอยู่หนึ่งเส้นถือหนึ่งช่องคำขอพร้อมกันของแพ็กเกจ การติดตั้งแบบพูดสดจึงวัดขนาดจากจำนวนผู้อ่านพร้อมกัน และจำนวนบรรทัดต่อวันไม่มีผลต่อการคำนวณนี้
สำหรับนักพัฒนา
ตัวอย่าง TypeScript เปิดซ็อกเก็ตสดแบบที่เซสชันพูดสดใช้ ส่วนตัวอย่าง Python ส่งหนึ่งช่วงแบบเดียวกับที่ชุดงานเรนเดอร์ล่วงหน้าทำ และตัวอย่างออปชันแสดงฟิลด์เสียง โมเดล และรูปแบบไฟล์ที่แต่ละฉากตั้งไว้
เอกสารอ้างอิง API ฉบับเต็ม// Runs on Bun as-is; on Node, `import WebSocket from "ws"` accepts // the same constructor options. Browsers cannot send this header, and // API keys never ship to browsers anyway. const socket = new WebSocket("wss://api.paxalabs.com/v1/tts/live", { headers: { Authorization: `Bearer ${process.env.PAXA_API_KEY}` }, }); socket.binaryType = "arraybuffer"; socket.onopen = () => { socket.send(JSON.stringify({ type: "start", model: "paxa-tts-flash-v2", voice: "khanomkrok", timestamps: "word", })); // Send text whenever it becomes available, token by token if you like. socket.send(JSON.stringify({ type: "text", text: "สวัสดีครับ ยินดีต้อนรับสู่ Paxa Labs" })); socket.send(JSON.stringify({ type: "flush" })); socket.send(JSON.stringify({ type: "end" })); }; socket.onmessage = (event) => { if (typeof event.data === "string") { const message = JSON.parse(event.data); if (message.type === "done") socket.close(); return; } player.feed(new Uint8Array(event.data)); // binary frames are audio };
import os import requests response = requests.post( "https://api.paxalabs.com/v1/tts", headers={"Authorization": f"Bearer {os.environ['PAXA_API_KEY']}"}, json={"text": "สวัสดีครับ ยินดีต้อนรับสู่ Paxa Labs", "voice": "khanomkrok", "model": "paxa-tts-flash-v2"}, ) response.raise_for_status() with open("speech.mp3", "wb") as f: f.write(response.content)
curl -X POST https://api.paxalabs.com/v1/tts \ -H "Authorization: Bearer $PAXA_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "สวัสดีครับ ยินดีต้อนรับสู่ Paxa Labs", "voice": "khanomkrok", "model": "paxa-tts-flash-v2", "format": "mp3", "stream": false }' \ --output speech.mp3
ฟังเสียงจริง
เสียงบางส่วนจากทั้งหมด 50 เสียง สร้างจาก API ด้วยรหัสเสียงที่เปิดให้ใช้งานจริง ฟังครบทุกเสียงได้ที่หน้า Text-to-Speech
- ลูกชุบv1 + v2เปิดในหน้าเสียงพูด
- ขนมครกv1 + v2เสียงชายหลัก
- นมเย็นv1 + v2เสียงหญิงหลัก
- ฝอยทองv1 + v2เสียงเล่าเรื่อง
บรรทัดสั้นเป็นโจทย์ของมันเอง
นิยายแบบแตกกิ่งเขียนเป็นชิ้นสั้น ๆ ทั้งข้อความแชทหนึ่งบรรทัด คำโต้กลับประโยคเดียว หรือข้อความบนปุ่มให้เลือก ภาษาไทยเขียนติดกันโดยไม่มีช่องว่างระหว่างคำ ชิ้นที่มีแค่สี่คำจึงให้บริบทน้อยมากสำหรับการตัดคำ Paxa TTS Flash v2 อ่านวรรณยุกต์จากตัวสะกดโดยไม่ต้องเปิดพจนานุกรม นี่คือสิ่งที่ทำให้บรรทัดสั้นที่อยู่โดด ๆ ยังฟังรู้เรื่อง
คำถามที่พบบ่อย
ควรเรนเดอร์ทั้งต้นไม้ หรือพูดสดดี
การเรนเดอร์ล่วงหน้ามีค่าใช้จ่ายราว $1.44 ครั้งเดียวสำหรับผู้อ่านทั้งหมด ส่วนการพูดสดราว $0.11 ต่อผู้อ่านหนึ่งคน ถ้ามีผู้อ่านน้อยกว่าราว 13 คน การพูดสดถูกกว่า มากกว่านั้นการเรนเดอร์ล่วงหน้าถูกกว่า
ให้ตัวละครแต่ละตัวมีเสียงต่างกันได้ไหม
ได้ ถึง 50 เสียงตามแคตตาล็อก รหัสเสียงหนึ่งตัวต่อหนึ่งผู้พูดถูกเก็บไว้ในสคริปต์ และรหัสเดิมให้เสียงเดิมทุกครั้งที่รัน
ถ้าผู้อ่านกดข้ามบรรทัดจะเกิดอะไรขึ้น
ส่งเฟรม cancel บนซ็อกเก็ตสด บรรทัดนั้นจะหยุด ส่วนที่ค้างในคิวถูกทิ้งโดยไม่คิดเงิน และการเชื่อมต่อเดิมรับบรรทัดถัดไปต่อได้เลย
ผู้อ่านหนึ่งคนใช้กำลังของแพ็กเกจไปเท่าไร
การเชื่อมต่อสดที่เปิดอยู่หนึ่งเส้นถือหนึ่งช่องคำขอพร้อมกันตลอดเวลาที่เปิด การติดตั้งแบบพูดสดจึงวัดขนาดจากจำนวนผู้อ่านพร้อมกัน และจำนวนบรรทัดต่อวันไม่มีผลต่อการคำนวณนี้
เอาไฟล์เสียงใส่ในเกมที่ขายได้ไหม
ผลลัพธ์ที่สร้างด้วยเครดิตฟรีใช้เพื่อการส่วนตัวและการทดลองใช้เท่านั้น เมื่อซื้อแพ็กเกจหรือเครดิตแล้ว ผลลัพธ์ที่สร้างขึ้นเป็นของคุณและใช้ได้ทุกวัตถุประสงค์ รวมถึงการนำไปใส่ในเกมเชิงพาณิชย์ และครอบคลุมถึงผลลัพธ์ที่สร้างไว้ก่อนการซื้อด้วย
เริ่มต้นด้วยเครดิตฟรี
เข้าสู่ระบบด้วย Google, GitHub หรือ Hugging Face แล้วใช้เครดิตฟรี 100 เครดิตกับข้อความของคุณเอง
บทความที่เกี่ยวข้อง
- ค่าพากย์เสียงภาษาไทยปี 2569: สตูดิโอ ฟรีแลนซ์ และ AI
- เลือกเสียง AI ภาษาไทยให้เหมาะกับงาน: คู่มือครบทั้ง 34 เสียง
- วิธีเขียนสคริปต์ให้เสียง AI ภาษาไทยอ่านได้เป็นธรรมชาติ
- ภาษาไทยไม่มีจุดจบประโยค: เสียงพูดแบบสตรีมควรตัดตรงไหน
- วัดคุณภาพเสียง AI ภาษาไทยด้วยสิบประโยค
- Paxa TTS Flash อ่านภาษาจีนกลางได้แล้ว พร้อมเสียงใหม่หกเสียง
- Paxa TTS Flash อ่านแท็กอารมณ์ได้แล้ว บนเสียงใหม่สองเสียง
- Paxa TTS Flash เริ่มส่งเสียงแรกใน 104 มิลลิวินาที
- Text to Speech คืออะไร เสียง AI ทำงานอย่างไร และใช้ทำอะไรได้บ้าง
- วิธีทำเสียงพากย์ AI ใส่คลิป TikTok Reels และ Shorts
- แปลงข้อความเป็นเสียงภาษาไทยที่ดีที่สุด สำหรับแอป วิดีโอ และสายโทรศัพท์
- โปรแกรมสร้างเสียง AI ที่ดีที่สุดสำหรับ YouTube ทั้งเสียงบรรยาย ช่องไม่เปิดหน้า และ Shorts
- Text to Speech ฟรีที่ดีที่สุด สำหรับงานส่วนตัวและการลองเสียงก่อนจ่ายเงิน
- Text to Speech ที่ดีที่สุดสำหรับทำหนังสือเสียงและงานอ่านเรื่องยาว
- วิธีเจนเสียง AI ภาษาไทย ตั้งแต่เลือกเสียงจนได้ไฟล์
- ให้ AI อ่านนิยายให้ฟัง ด้วยเสียงผู้บรรยายและเสียงตัวละคร
- วิธีเขียนคำบรรยายเสียงสำหรับออกแบบเสียง AI พร้อมตัวอย่าง
- ออกแบบเสียงกับโคลนเสียงต่างกันอย่างไร สองวิธีสร้างเสียง AI ของตัวเอง
- เครื่องมือออกแบบเสียง AI ที่ดีที่สุดสำหรับเสียงภาษาไทย เสียงที่บันทึกไว้ใช้ซ้ำ และ Voice Agent
- Paxa TTS Flash v2 เปิดให้ใช้งานแล้ว
- เครื่องมือออกแบบเสียง AI เปิดให้ใช้งานแล้ว
- Temperature และแท็กช่วงหยุดบน Paxa TTS Flash v2