เสียง AI ภาษาไทยสำหรับพอดแคสต์
ผลิตพอดแคสต์ภาษาไทยจากสคริปต์ จะโฮสต์เดียวหรือสองคนก็ได้ ลงได้ทุกวัน ทำแชปเตอร์จาก timestamp และคิดเงินตามตัวอักษร
ไอเดียให้ลองเล่น
ยินดีต้อนรับสู่ตอนที่ 118 คืนนี้เราจะคุยกันเรื่องที่คนถามเข้ามามากที่สุดในเดือนนี้
สรุปข่าวเช้านี้ สามเรื่องที่ควรรู้ก่อนออกจากบ้าน เริ่มจากเรื่องแรก
มีข้อความจากผู้ฟังส่งเข้ามา เขาถามว่าถ้าเริ่มต้นใหม่ตอนอายุสามสิบ จะสายเกินไปไหม
วันนี้ขอจบไว้เท่านี้ ฝากกดติดตามรายการไว้ แล้วเจอกันใหม่ตอนหน้า
ทุกการ์ดเล่นคลิปจริงที่สร้างจากสคริปต์นั้น ๆ ด้วยเสียงนมเย็น เปิดในหน้าเสียงพูดเพื่อให้พูดข้อความของคุณเองได้
คนทำพอดแคสต์ใช้ API อย่างไร
พอดแคสต์ไทยส่วนใหญ่คือคนหนึ่งหรือสองคนคุยกัน และคนที่พูดก็คือกระบวนการผลิตทั้งหมด รายการออกอากาศเมื่อโฮสต์อัดเสียง ด้วยพลังเท่าที่โฮสต์มีในวันนั้น และรายการที่ลงทุกวันก็หมายถึงต้องอัดทุกวัน ไม่ว่าจะเหลือเสียงพอหรือไม่ Text-to-Speech API ทำให้โฮสต์กลายเป็นคุณสมบัติหนึ่งของสคริปต์ รหัสเสียงหนึ่งตัวอ่านทั้งรายการ รหัสเสียงตัวที่สองคือโฮสต์คนที่สอง และทั้งคู่ฟังเหมือนเดิมในตอนที่ 118 เท่ากับตอนที่ 1 ช่วงที่เขียนใหม่คิดเงินตามตัวอักษรของช่วงนั้น ส่วนที่เหลือของตอนยังอยู่เหมือนเดิม ชื่อภาษาอังกฤษและศัพท์เฉพาะที่อยู่ในประโยคไทยอ่านด้วยเสียงเดียวกัน ช่วงเวลาระดับประโยคที่ส่งกลับมาพร้อมเสียงกลายเป็นแชปเตอร์และทรานสคริปต์สำหรับโน้ตของรายการ และไฟล์ที่ได้กลับมาก็คือไฟล์ที่ฟีดชี้ไป
แบ่งสคริปต์ตามผู้พูด
บทพูดต่อเนื่องของโฮสต์แต่ละคนคือหนึ่งช่วง และแต่ละช่วงคือหนึ่งคำขอที่ส่งรหัสเสียงของโฮสต์คนนั้น ช่วงที่ยาวเกินเพดานต่อคำขอแบ่งอีกครั้งที่ย่อหน้า รายการโฮสต์เดียวใช้รหัสเสียงเดียวตลอดทั้งตอน
สร้างเสียงแล้วต่อไฟล์
แต่ละช่วงกลับมาเป็นไฟล์ MP3 ที่ต่อกันตามลำดับได้ใน ffmpeg หรือโปรแกรมตัดต่อที่รายการใช้อยู่ วางเพลงประกอบและเสียงคั่นเหมือนเดิม หากรายการต้องการแชปเตอร์หรือทรานสคริปต์ ให้ขอช่วงเวลาระดับประโยคในคำขอเดียวกัน
เผยแพร่ตามปกติ
ไฟล์ที่ต่อเสร็จส่งขึ้นบริการโฮสต์เป็น enclosure ของตอนนั้น รายการรายวันทำสามขั้นตอนนี้ซ้ำจากสคริปต์ทุกเช้า การแก้ไขสร้างใหม่เพียงช่วงเดียว ส่วนที่เหลือของตอนยังอยู่เหมือนเดิม
ความยาวตอนกับค่าใช้จ่าย
| รายการ | ตัวอักษร | คำขอ | ค่าใช้จ่าย |
|---|---|---|---|
| หนึ่งตอน 20 นาที | 12,120 | 3 | $0.12 |
| รายการรายสัปดาห์ ต่อเดือน | 48,480 | 12 | $0.48 |
| รายการรายวันตอนละ 20 นาที ต่อเดือน | ประมาณ $3.64 | ||
คำนวณจาก 606 ตัวอักษรต่อเสียงหนึ่งนาที ที่อัตรา $10 ต่อหนึ่งล้านตัวอักษร นับ 30 ตอนต่อเดือน เพลงประกอบ อินโทร และการตัดต่ออยู่นอกตัวเลขนี้ ช่วงที่เขียนใหม่คิดเงินตามตัวอักษรของช่วงนั้นเท่านั้น
สองโฮสต์จากสคริปต์เดียว
script.txt 12,120 ตัวอักษร (ราว 20 นาที) 01 โฮสต์ A oliang เปิดรายการ สรุปข่าว 02 โฮสต์ B sanaechan ช่วงคำถามจากผู้ฟัง 03 โฮสต์ A oliang ปิดรายการ → POST /v1/tts หนึ่งคำขอต่อหนึ่งช่วง ใช้รหัสเสียงของช่วงนั้น → part-01.mp3 part-02.mp3 part-03.mp3 → episode-118.mp3 (ต่อไฟล์ตามลำดับ วางเพลงประกอบไว้ข้างใต้)
หนึ่งช่วงคือบทพูดต่อเนื่องของโฮสต์คนเดียว แต่ละช่วงเป็นหนึ่งคำขอที่ส่งรหัสเสียงของโฮสต์คนนั้น แล้วนำทุกช่วงมาต่อกันตามลำดับ โฮสต์ A ใช้รหัสเสียงเดิมทุกตอน นั่นคือสิ่งที่ทำให้รายการฟังเป็นรายการเดิม
สิ่งที่ฟีดชี้ไป
<item> <title>ตอนที่ 118</title> <enclosure url="https://cdn.example.com/ep118.mp3" type="audio/mpeg"/> <itunes:duration>20:00</itunes:duration> <podcast:chapters url="https://cdn.example.com/ep118.chapters.json"/> </item>
enclosure คือไฟล์ MP3 ที่ต่อเสร็จแล้ว ไฟล์แชปเตอร์เขียนจากช่วงเวลาระดับประโยคที่ API ส่งกลับมาพร้อมแต่ละช่วง โดยเลื่อนตามตำแหน่งที่ช่วงนั้นเริ่มในตอน บริการโฮสต์พอดแคสต์ที่ใช้อยู่ยังเป็นผู้เผยแพร่ฟีดเหมือนเดิม ไม่มีอะไรเปลี่ยน
สำหรับนักพัฒนา
ส่งแต่ละช่วงพร้อมรหัสเสียงของโฮสต์ และขอช่วงเวลาระดับประโยคในคำขอเดียวกันเมื่อรายการต้องการแชปเตอร์หรือทรานสคริปต์
เอกสารอ้างอิง API ฉบับเต็ม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", "timestamps": "word" }' \ -o response.json jq -r .audio response.json | base64 -d > speech.mp3 jq .timing.spans response.json
import { writeFile } from "node:fs/promises"; const response = await fetch("https://api.paxalabs.com/v1/tts", { method: "POST", headers: { Authorization: `Bearer ${process.env.PAXA_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ text: "สวัสดีครับ ยินดีต้อนรับสู่ Paxa Labs", voice: "khanomkrok", model: "paxa-tts-flash-v2", timestamps: "word", }), }); if (!response.ok) throw new Error(`TTS failed: ${response.status}`); const { audio, timing } = await response.json(); await writeFile("speech.mp3", Buffer.from(audio, "base64")); for (const span of timing.spans) { console.log(`${span.start.toFixed(2)}s ${span.text}`); }
{ "audio": "SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjYy...", "timing": { "granularity": "word", "spans": [ { "text": "สวัสดี", "start": 0, "end": 0.51 }, { "text": "ครับ", "start": 0.51, "end": 0.85 }, { "text": "ยินดี", "start": 0.85, "end": 1.27 }, { "text": "ต้อนรับ", "start": 1.27, "end": 1.87 }, { "text": "สู่", "start": 1.87, "end": 2.12 }, { "text": "Paxa", "start": 2.12, "end": 2.46 }, { "text": "Labs", "start": 2.46, "end": 2.8 } ] } }
ฟังเสียงจริง
เสียงบางส่วนจากทั้งหมด 50 เสียง สร้างจาก API ด้วยรหัสเสียงที่เปิดให้ใช้งานจริง ฟังครบทุกเสียงได้ที่หน้า Text-to-Speech
- โอเลี้ยงv1 + v2เปิดในหน้าเสียงพูด
- อู่หลงv1 + v2นิยายเสียง
- ขนมครกv1 + v2เสียงชายหลัก
- นมเย็นv1 + v2เสียงหญิงหลัก
สองโฮสต์ คนละหนึ่งคำขอ
Paxa TTS Flash v2 อ่านหนึ่งเสียงต่อหนึ่งคำขอ รายการสองโฮสต์จึงเป็นรหัสเสียงสองตัวสลับกันไปตามสคริปต์ และโฮสต์แต่ละคนฟังเหมือนเดิมทุกตอน โมเดลอ่านบทสนทนายาวตามที่เขียน รวมถึงคำลงท้ายประโยค และอ่านชื่อภาษาอังกฤษในประโยคไทยโดยไม่เปลี่ยนผู้พูด
คำถามที่พบบ่อย
ให้โฮสต์สองคนคุยกันในตอนเดียวได้ไหม
ได้ หนึ่งคำขอใช้หนึ่งเสียง สคริปต์สองโฮสต์จึงสลับรหัสเสียงสองตัว หนึ่งคำขอต่อหนึ่งรอบพูดหรือหลายรอบต่อเนื่อง แล้วนำช่วงมาต่อกันตามลำดับ โฮสต์แต่ละคนใช้รหัสเสียงเดิมทุกตอน
ตอนหนึ่งยาวได้แค่ไหน
หนึ่งคำขอรับได้ถึง 5,000 ตัวอักษร ตอนความยาว 20 นาทีจึงสร้างด้วย 3 คำขอ ตัวรายการไม่มีขีดจำกัดความยาว ส่วนขีดจำกัดอัตราต่อแพลนอยู่ในหน้าราคา
ทำแชปเตอร์และทรานสคริปต์ได้ไหม
ได้ ขอช่วงเวลาระดับประโยคหรือระดับคำในคำขอเดียวกัน ระบบจะส่งเสียงพร้อมเวลาของทุกช่วงกลับมา ด้วยตัวคูณที่ระบุไว้บนอัตราต่อตัวอักษร เลื่อนเวลาของแต่ละช่วงตามตำแหน่งที่ช่วงนั้นเริ่มในไฟล์ที่ต่อแล้ว ก็จะได้แชปเตอร์และทรานสคริปต์
อ่านชื่อและศัพท์ภาษาอังกฤษในประโยคไทยได้ไหม
ได้ ข้อความไทยปนอังกฤษในคำขอเดียวอ่านด้วยเสียงเดียว ชื่อสินค้า ชื่อแขกรับเชิญ และวลีภาษาอังกฤษในประโยคไทยจึงฟังเป็นโฮสต์คนเดิม
รายการที่ทำแบบนี้หารายได้ได้ไหม
หากใช้เครดิตฟรีเพียงอย่างเดียว เสียงที่สร้างใช้ได้เฉพาะส่วนตัวและเพื่อทดลอง เมื่อซื้อแพลนหรือเครดิตแล้ว เสียงนั้นเป็นของคุณสำหรับทุกการใช้งาน รวมถึงรายการที่มีสปอนเซอร์หรือโฆษณา และครอบคลุมตอนที่สร้างก่อนการซื้อครั้งแรกด้วย
เริ่มต้นด้วยเครดิตฟรี
เข้าสู่ระบบด้วย 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
ตัวอย่างการใช้งานอื่น