ถอดเสียงภาษาไทยเป็นคำบรรยายวิดีโอ
ทำคำบรรยายวิดีโอภาษาไทยจากเสียงในวิดีโอเอง เวลาระดับคำบอกจุดเริ่มและจบของแต่ละคิว ในตัวอักษรที่ไม่มีช่องว่างให้ตัด
บทถอดเสียงเขียนว่าอย่างไร
บทบรรยายเรื่องดอกเบี้ย
spokenถ้าฝากเงิน หนึ่งแสนบาท ที่ดอกเบี้ย สองจุดห้าเปอร์เซ็นต์ ต่อปี ครบปีได้ดอกเบี้ย สองพันห้าร้อยบาท
writtenถ้าฝากเงิน 100,000 บาท ที่ดอกเบี้ย 2.5% ต่อปี ครบปีได้ดอกเบี้ย 2,500 บาท
แบบเขียนทำให้ตัวเลขอยู่ในคำบรรยายบรรทัดเดียว แบบพูดตรงกับผู้บรรยายคำต่อคำ
คำตอบในบทสัมภาษณ์
spokenเราเริ่มจาก ทีมสามคน ตอนนี้มี สี่สิบคน แล้ว ส่วนใหญ่เป็น engineer ค่ะ
writtenเราเริ่มจาก ทีม 3 คน ตอนนี้มี 40 คน แล้ว ส่วนใหญ่เป็น engineer ค่ะ
คำอังกฤษยังคงเป็นอังกฤษในคำบรรยาย และมีเวลาเหมือนคำอื่นทุกคำ
วิดีโอสาธิตสินค้า
spokenกดปุ่มด้านล่างขวา แล้วเลือกแผน สามร้อยเก้าสิบเก้าบาท ต่อเดือน
writtenกดปุ่มด้านล่างขวา แล้วเลือกแผน 399 บาท ต่อเดือน
ราคาบนจอควรอ่านเป็นราคา แบบเขียนเขียนแบบนั้นให้โดยไม่ต้องแก้ทีหลัง
บทถอดทุกคู่บนหน้านี้เป็นตัวอย่างที่เขียนขึ้นเพื่อแสดงว่าตัวเลือกรูปแบบเปลี่ยนอะไร และตรวจกับผลลัพธ์จริงก่อนเผยแพร่ หน้า Speech-to-Text มีบทถอดจริงของโมเดลจากไฟล์เสียงจริง พร้อมวันที่บันทึก
เชื่อมกับงานวิดีโออย่างไร
คำบรรยายคือบทถอดที่ตัดเป็นคิว แต่ละคิวอยู่บนจอเท่ากับวินาทีที่พูดคำเหล่านั้น ภาษาอังกฤษตัดตรงระหว่างคำ ภาษาไทยเขียนโดยไม่เว้นวรรค เครื่องมือทำคำบรรยายจึงไม่มีจุดให้ตัดเว้นแต่จะรู้ว่าแต่ละคำเริ่มตรงไหน เวลาระดับคำคือความรู้นั้น ส่งแทร็กเสียงของบทบรรยาย บทสัมภาษณ์ หรือวิดีโอสินค้า แล้วทุกคำกลับมาพร้อมเวลาเริ่มและจบ จัดกลุ่มคำเป็นบรรทัดยาวพอดีอ่าน แล้วเวลาของคิวก็อยู่ตรงนั้นแล้ว แบบพูดทำให้คำบรรยายตรงกับเสียง แบบเขียนทำให้ตัวเลขอ่านง่ายบนจอโทรศัพท์
แยกแทร็กเสียง
คอนเทนเนอร์ใดที่โมเดลอ่านได้ก็ใช้ได้ ทั้ง M4A หรือ AAC จากวิดีโอ หรือไฟล์ WAV หรือ MP3 ที่ส่งออกมา ยาวได้ถึง 60 นาทีต่อคำขอ
ถอดเสียงพร้อมเวลาระดับคำ
ตั้ง timestamps เป็น word เลือกแบบพูดสำหรับคำบรรยายที่ตามเสียง และแบบเขียนสำหรับตัวเลขที่ผู้ชมอ่าน
ตัดคิวแล้วเขียนไฟล์
จัดกลุ่มช่วงเวลาเป็นบรรทัดตามสไตล์ของคุณ ปิดคิวเมื่อเจอช่วงหยุดยาว แล้วบันทึกเป็น SRT หรือ WebVTT
คำบรรยายถูกตัดอย่างไร
1 คำ
หนึ่งช่วงเวลา
≈ 32
ตัวอักษรต่อบรรทัด
ช่วงหยุด
รูปแบบไฟล์
ความยาวบรรทัดคือสไตล์ของคุณ กำหนดในโค้ดของคุณ เวลาคือของโมเดล
หนึ่งเดือนของวิดีโอคิดเท่าไร
| ปริมาณงาน | เสียง | ค่าใช้จ่าย |
|---|---|---|
| หนึ่งวิดีโอ 12 นาที | 12 นาที | $0.10 |
| หนึ่งบทบรรยาย 60 นาที | 60 นาที | $0.50 |
| หนึ่งเดือน 30 วิดีโอ | ประมาณ $3 | |
8.33 เครดิตต่อเสียงหนึ่งนาที คิดถึงระดับมิลลิวินาที เวลาระดับคำไม่มีค่าใช้จ่ายเพิ่ม
วิดีโอ 12 นาที ทีละคิว
ไตเติล
ความเงียบ คิวแรกรอเวลาเริ่มของคำแรก จึงไม่มีอะไรบนจอทับโลโก้
คิวแรก
คำทักทายของผู้นำเสนอ เจ็ดคำ หนึ่งบรรทัด จบเมื่อคำสุดท้ายจบ
ตัวเลข
บรรทัดราคาด้านบน แบบเขียนอยู่ในคิวเดียว แบบพูดจะล้นบรรทัด
คิวสุดท้าย
ประโยคปิด แล้วจึงเป็นการ์ดท้าย รายการคิวจบตรงที่คำจบ
เวลาที่แสดงเป็นตัวอย่าง ช่วงเวลาบนไฟล์จริงเป็นของโมเดล
สำหรับนักพัฒนา
ตัวอย่างโค้ดส่งไฟล์บันทึกหนึ่งไฟล์พร้อมเวลาระดับคำ แล้วอ่านบทถอด ช่วงเวลา และเครดิตที่คิดจากคำตอบ
เอกสารอ้างอิง API ฉบับเต็มAUDIO=$(base64 < meeting.m4a | tr -d '\n') curl -X POST https://api.paxalabs.com/v1/stt \ --max-time 300 \ -H "Authorization: Bearer $PAXA_API_KEY" \ -H "Content-Type: application/json" \ -d "{\"audio\": \"$AUDIO\", \"model\": \"paxa-stt-lite-v1-preview\", \"timestamps\": \"word\"}"
import { readFile } from "node:fs/promises"; const audio = (await readFile("meeting.m4a")).toString("base64"); const response = await fetch("https://api.paxalabs.com/v1/stt", { method: "POST", headers: { Authorization: `Bearer ${process.env.PAXA_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ audio, model: "paxa-stt-lite-v1-preview" }), // A long recording can run for minutes; give it room. signal: AbortSignal.timeout(300_000), }); if (!response.ok) throw new Error(`Transcription failed: ${response.status}`); const { text, usage } = await response.json(); console.log(text, `${usage.credits} credits`);
import base64 import os import requests with open("meeting.m4a", "rb") as file: audio = base64.b64encode(file.read()).decode() response = requests.post( "https://api.paxalabs.com/v1/stt", headers={"Authorization": f"Bearer {os.environ['PAXA_API_KEY']}"}, json={"audio": audio, "model": "paxa-stt-lite-v1-preview"}, # A long recording can run for minutes; give it room. timeout=300, ) response.raise_for_status() body = response.json() print(body["text"], body["usage"]["credits"], "credits")
โมเดลถูกสร้างมาให้ฟังอะไร
Paxa STT Lite ถอดเสียงภาษาไทยเป็นหลัก และภาษาอื่นตามที่พูด รวมประโยคที่สลับภาษากลางทาง ช่วงเวลาระดับคำคือการตัดคำของตัวอักษรที่ไม่มีช่องว่าง และจะไม่เผยแพร่ตัวเลขความแม่นยำจนกว่าจะเผยแพร่วิธีประเมินไว้ข้างกัน
คำถามที่พบบ่อย
ส่งออกเป็น SRT หรือ WebVTT ได้ไหม
ส่งออกบทถอดและช่วงเวลาระดับคำเป็น JSON การตัดคิวและเขียนไฟล์คำบรรยายคือโค้ดไม่กี่บรรทัดของคุณ และความยาวบรรทัดยังเป็นของคุณ
ทำคำบรรยายวิดีโอภาษาอังกฤษได้ไหม
ตั้งคำใบ้ภาษาเป็น en สำหรับไฟล์ภาษาอังกฤษ คำไทยข้างในยังถูกถอดตามที่พูด
แปลคำบรรยายให้ไหม
บทถอดอยู่ในภาษาที่พูด หากต้องการแทร็กคำบรรยายภาษาอังกฤษจากเสียงไทย ส่งบทถอดไปยัง API แปลภาษา
บทบรรยายสองชั่วโมงทำอย่างไร
ตัดเสียงตรงช่วงหยุดเป็นส่วนละไม่เกิน 60 นาที ส่งพร้อมกัน แล้วเลื่อนช่วงเวลาของแต่ละส่วนตามเวลาเริ่มของส่วนนั้น
เริ่มต้นด้วยเครดิตฟรี
เข้าสู่ระบบด้วย Google, GitHub หรือ Hugging Face แล้วใช้เครดิตฟรี 100 เครดิตกับข้อความของคุณเอง
บทความที่เกี่ยวข้อง
- แบบพูดหรือแบบเขียน: บทถอดเสียงภาษาไทยเขียนตัวเลขอย่างไร
- วัดความแม่นยำของการถอดเสียงภาษาไทย: ทำไม WER จึงหลอกตา
- ช่วงผู้พูดในบทถอดเสียงสายโทรศัพท์ภาษาไทย
- ทำคำบรรยายภาษาไทยจากเวลาระดับคำ
- เลือกเอนจินถอดเสียงภาษาไทยอย่างไร
- ถอดเสียงภาษาไทยที่สลับไปเป็นอังกฤษ
- Paxa STT Lite Realtime ถอดเสียงภาษาไทยทีละรอบพูด ตั้งแต่ยังพูดไม่จบ
- ถอดเสียงสดภาษาไทย กับคำถามว่ารอบพูดจบตรงไหน
- วิธีถอดเทป แปลงไฟล์เสียงเป็นข้อความ สำหรับประชุม สัมภาษณ์ และงานบรรยาย
- ถอดเสียงภาษาไทยที่ดีที่สุด สำหรับงานประชุม ซับไตเติล และ Voice Agent