AI พูดภาษาไทย “ฟรี”
รันในเครื่องตัวเอง + โคลนเสียงได้
แปลงข้อความไทยเป็นเสียงพูดโดยไม่ต้องส่งข้อมูลขึ้นคลาวด์ และใช้ไฟล์เสียงตัวอย่างสั้น ๆ เพื่อเลียนเสียงของเราเอง — ใช้ GPU หรือ CPU ก็ได้ เหมาะกับงานพากย์เสียง ระบบอ่านข้อความ และ Voice Bot
พร้อมทางเลือกแบบคลาวด์ด้วย Node.js ที่ติดตั้งไม่ถึงนาที สำหรับงานที่ไม่ต้องโคลนเสียง
| F5-TTS-THAI | ThonburianTTS | |
|---|---|---|
| ผู้พัฒนา | VYNCX / VIZINTZOR (นักพัฒนาอิสระ) | Looloo Technology + WordSense + Biodatlab ม.มหิดล |
| หน้าเว็บใช้งาน | มี (ตัวในภาพหน้าจอ) | มี |
| งานวิจัย | ไม่มี | มี (iSAI-NLP 2025) |
| โค้ด | MIT | MIT |
| โมเดล | v1 = CC BY 4.0 · v2 = ไม่ระบุสัญญาอนุญาต | CC BY-NC-SA 4.0 (ห้ามพาณิชย์) |
🧬 ทั้งคู่ต่อยอดจาก F5-TTS ต้นทาง (โค้ด MIT) — จุดเด่นร่วมกันคือ zero-shot voice cloning คือใช้เสียงตัวอย่างสั้น ๆ ก็เลียนเสียงได้ ไม่ต้องเทรนใหม่
| สิ่งที่ใช้ | สัญญาอนุญาต | ใช้เชิงพาณิชย์ได้ไหม |
|---|---|---|
| โค้ด F5-TTS ต้นทาง + F5-TTS-THAI | MIT | ✅ ได้ |
| โมเดล F5-TTS-THAI v1 | CC BY 4.0 | ✅ ได้ ถ้าให้เครดิต |
| โมเดล F5-TTS-THAI v2 | ไม่ระบุ | ⚠️ เสี่ยงที่สุด — ไม่ระบุ = ไม่มีการอนุญาต |
| โมเดล ThonburianTTS | CC BY-NC-SA 4.0 | ❌ ไม่ได้ (NC = ห้ามพาณิชย์) |
- “โค้ด MIT” ไม่ได้แปลว่าโมเดลใช้ได้อิสระ — โค้ดกับไฟล์โมเดลคนละสัญญาอนุญาตกัน ต้องดูทั้งคู่
- NC ของ ThonburianTTS = ห้ามใช้เชิงพาณิชย์ · SA = งานที่ทำต่อต้องเปิดด้วยสัญญาเดียวกัน
- ชุดข้อมูลเสียงที่ใช้เทรน v1 ไม่ได้ระบุสัญญาอนุญาตไว้ — ต้นทางจึงยังไม่ชัดเจน แม้ตัวโมเดลจะเขียนว่า CC BY 4.0 · ถ้าจะใช้กับงานที่มีรายได้ ควรปรึกษาฝ่ายกฎหมายก่อน
💡 หน้าตาอาจต่างจากนี้เล็กน้อยตามเวอร์ชันที่โหลดมา — ปุ่มมาตรฐานของโปรเจกต์ต้นทางชื่อ 🚀สร้าง และกล่องตั้งค่าชื่อ ⚙️ตั้งค่า
ต้องมี Python 3.10 ขึ้นไป · เตรียมพื้นที่ว่างอย่างน้อย 5 GB (ตัวโมเดลไฟล์เดียว ~1.35 GB และยังมีไลบรารีอีกจำนวนมาก)
git clone https://github.com/VYNCX/F5-TTS-THAI.git cd F5-TTS-THAI
app-webui.bat
git clone https://github.com/VYNCX/F5-TTS-THAI.git cd F5-TTS-THAI python -m venv venv call venv/scripts/activate pip install git+https://github.com/VYNCX/F5-TTS-THAI.git pip install torch==2.3.0+cu118 torchaudio==2.3.0+cu118 --extra-index-url https://download.pytorch.org/whl/cu118
git clone https://github.com/VYNCX/F5-TTS-THAI.git cd F5-TTS-THAI python3 -m venv venv source venv/bin/activate pip install torch torchaudio pip install git+https://github.com/VYNCX/F5-TTS-THAI.git
source venv/bin/activate python src/f5_tts/f5_tts_webui.py
git clone https://github.com/VYNCX/F5-TTS-THAI.git cd F5-TTS-THAI python3 -m venv venv source venv/bin/activate pip install git+https://github.com/VYNCX/F5-TTS-THAI.git pip install torch==2.3.0+cu118 torchaudio==2.3.0+cu118 --extra-index-url https://download.pytorch.org/whl/cu118
pip install f5-tts-th
python src/f5_tts/f5_tts_webui.py # หรือแบบสั้น f5-tts_webui
ใส่ข้อความที่ต้องการให้พูด
พิมพ์ข้อความไทยลงช่องซ้ายบน · เว้นวรรคระหว่างประโยค เพื่อให้ระบบตัดท่อนได้ถูก จะอ่านลื่นกว่ามาก
อัปโหลดเสียงต้นแบบ (ไฟล์เสียงที่จะเลียนแบบ)
ใช้ความยาว 2–8 วินาที กำลังดี · ต้องไม่มีเสียงรบกวน ไม่มีเสียงดนตรี ไม่มีคนพูดซ้อน
ถ้าใส่ยาวกว่านี้ ระบบจะตัดให้เหลือไม่เกิน 15 วินาทีเอง
พิมพ์ข้อความที่อยู่ในไฟล์เสียงต้นแบบ
ต้องตรงกับที่พูดในไฟล์เป๊ะ ๆ ไม่งั้นเสียงจะเพี้ยน — เพราะระบบมองว่าเสียงที่สร้างใหม่คือ “การพูดต่อ” จากตัวอย่าง จึงต้องรู้ว่าตัวอย่างพูดว่าอะไร
ถ้าเว้นว่างไว้ โปรแกรมจะถอดเสียงให้อัตโนมัติ แต่แม่นน้อยกว่าพิมพ์เอง
เลือกโมเดล แล้วกดสร้างเสียง
ผลลัพธ์จะขึ้นทางซ้าย ฟังได้ทันทีและกดดาวน์โหลดเป็นไฟล์เสียงได้
| v1 | v2 | |
|---|---|---|
| จุดเด่น | ออกเสียงไทยเป็นธรรมชาติกว่า | อ่านข้ามคำ/ซ้ำคำน้อยลง |
| จุดอ่อน | อาจข้ามคำหรืออ่านซ้ำ | ความเป็นธรรมชาติลดลงบ้าง |
| เบื้องหลัง | เทรน 1,000,000 steps | ใช้ IPA (สัทอักษร) ช่วยอ่าน |
| ลิขสิทธิ์โมเดล | CC BY 4.0 | ไม่ระบุ |
👉 แนะนำเริ่มที่ v1 เพราะเสียงเป็นธรรมชาติกว่าและมีสัญญาอนุญาตชัดเจน · ถ้าเจอปัญหาอ่านข้ามคำบ่อยค่อยลอง v2 · การใช้ v2 ต้องตั้งค่าภาษาเป็น IPA ด้วย
| ค่า | ค่าเริ่มต้น | ทำอะไร |
|---|---|---|
| ความเร็ว | 1.0 | ปรับ 0.3–1.5 · ลดเหลือ 0.8–0.9 ช่วยลดอ่านผิด/ข้ามคำ แต่ถ้าช้าเกินไปเสียงต้นแบบจะแทรกออกมา |
| NFE Step | 32 | 7–64 · ยิ่งมากคุณภาพยิ่งดีแต่ช้าลง |
| CFG Strength | 2.0 | 1–4 · ความเข้มในการยึดตามเสียงต้นแบบ |
| Cross Fade | 0.15 | 0–1 · ความนุ่มของรอยต่อระหว่างท่อน |
| ตัวอักษรสูงสุดต่อส่วน | 300 | 50–1000 · ลดลงช่วยลดข้อผิดพลาด แต่ทำให้ช้าลง |
| Remove Silence | เปิด | ตัดช่วงเงียบยาว ๆ ออก |
| Seed | -1 | -1 = สุ่มทุกครั้ง · ใส่เลขเดิมเพื่อให้ได้เสียงเดิมซ้ำได้ |
| อาการ | วิธีแก้ |
|---|---|
| อ่านข้ามคำ / อ่านซ้ำ | ลดความเร็วเหลือ 0.7–0.8 · เปลี่ยน seed · ลดตัวอักษรต่อส่วน · ลองโมเดล v2 |
| ข้อความยาวแล้วเพี้ยน | เว้นวรรคระหว่างประโยค และลดตัวอักษรสูงสุดต่อส่วนลง |
| เสียงไม่เหมือนต้นแบบ | เช็กว่าข้อความในไฟล์เสียงต้นแบบตรงกับที่พูดจริง · ใช้ไฟล์ที่ไม่มีเสียงรบกวน |
| คำภาษาอังกฤษอ่านเพี้ยน | เขียนเป็นคำอ่านไทย เช่น Good Morning → กู้ดมอร์นิ่ง |
| ช้ามาก | ไม่มีการ์ดจอจะช้าเป็นปกติ · ลด NFE Step ลง · ใช้ข้อความสั้นลงต่อรอบ |
ไม่ใช่ทุกงานต้องรันโมเดลในเครื่อง · ถ้าไม่ต้องโคลนเสียงและข้อความไม่ใช่ความลับ การเรียก TTS จากคลาวด์ด้วย Node.js ง่ายกว่ามาก ติดตั้งไม่ถึงนาที ได้เสียงคุณภาพสูงทันที
| Google Translate TTS | Edge TTS | F5-TTS-THAI | |
|---|---|---|---|
| ประมวลผลที่ | เซิร์ฟเวอร์ Google | เซิร์ฟเวอร์ Microsoft | เครื่องเรา |
| โคลนเสียงเรา | ❌ | ❌ | ✅ |
| คุณภาพเสียงไทย | พอใช้ ออกแนวหุ่นยนต์ | ดีมาก (เสียง Neural) | เป็นธรรมชาติ แต่บางคำอ่านผิด |
| ติดตั้ง | วินาที | วินาที | หนัก ~5 GB |
| ต้องต่อเน็ต | ทุกครั้ง | ทุกครั้ง | เฉพาะครั้งแรก |
| ข้อความรั่วออกนอก | ⚠️ ใช่ | ⚠️ ใช่ | ✅ ไม่ |
| ปรับความเร็ว/โทนเสียง | เกือบไม่ได้ | ได้ (rate/pitch/volume) | ได้ละเอียดที่สุด |
- ไม่ใช่ API ทางการ — ทั้งคู่เป็นการเรียกช่องทางภายในของ Google Translate และ Edge Read Aloud ที่ผู้พัฒนาภายนอกทำห่อไว้ให้ · ผู้ให้บริการปิดหรือเปลี่ยนเมื่อไรก็ได้ โดยไม่แจ้งล่วงหน้า อย่าเอาไปวางในระบบที่ห้ามล่ม
- งานเชิงพาณิชย์ควรใช้ตัวทางการ — Azure AI Speech หรือ Google Cloud Text-to-Speech ซึ่งเสียภาษาไทยตัวเดียวกันแต่มีสัญญาบริการรองรับและใช้เชิงพาณิชย์ได้ถูกต้อง
- ข้อความถูกส่งออกนอกเครื่อง — ห้ามใช้กับเอกสารที่มีชื่อ เลขบัตรประชาชน เบอร์โทร หรือข้อมูลลับของหน่วยงาน
mkdir tts-cloud && cd tts-cloud npm init -y npm pkg set type=module npm install @andresaya/edge-tts google-tts-api
import fs from "fs";
import { EdgeTTS } from "@andresaya/edge-tts";
const script = `สวัสดีครับ นี่คือตัวอย่างเสียงพูดภาษาไทยที่สร้างด้วย Edge TTS
ระบบนี้ปรับความเร็ว ระดับเสียง และโทนเสียงได้`;
async function main() {
try {
const tts = new EdgeTTS();
await tts.synthesize(script, "th-TH-NiwatNeural", {
rate: "-5%", // ช้าลง 5% ฟังสบายขึ้น เหมาะกับผู้สูงอายุ
volume: "+0%",
pitch: "-2Hz" // โทนต่ำลงเล็กน้อย ฟังน่าเชื่อถือขึ้น
});
fs.writeFileSync("output.mp3", tts.toBuffer());
console.log("✅ สร้างไฟล์ output.mp3 เรียบร้อยแล้ว");
} catch (err) {
console.error("❌ สร้างเสียงไม่สำเร็จ:", err);
}
}
main();
import { EdgeTTS } from "@andresaya/edge-tts";
const tts = new EdgeTTS();
const voices = await tts.getVoices();
// กรองเฉพาะเสียงภาษาไทย
console.log(voices.filter(v => v.Locale === "th-TH"));
import fs from "fs";
import googleTTS from "google-tts-api";
const script = `สวัสดีครับ นี่คือตัวอย่างเสียงพูดภาษาไทย
ข้อความยาวจะถูกตัดเป็นท่อนให้อัตโนมัติ`;
(async () => {
try {
// getAllAudioUrls ตัดข้อความยาวเป็นท่อนให้เอง (จำกัดท่อนละ 200 ตัวอักษร)
const urls = await googleTTS.getAllAudioUrls(script, {
lang: "th",
slow: false,
host: "https://translate.google.com",
});
const writeStream = fs.createWriteStream("output.mp3");
for (const { url } of urls) {
const res = await fetch(url);
writeStream.write(Buffer.from(await res.arrayBuffer()));
}
writeStream.end();
console.log("✅ สร้างไฟล์ output.mp3 เรียบร้อยแล้ว");
} catch (err) {
console.error(err);
}
})();
# บันทึกแยกเป็น part-0.mp3, part-1.mp3 ... ก่อน แล้วต่อด้วย ffmpeg ls part-*.mp3 | sed "s/^/file '/;s/$/'/" > list.txt ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp3
| งาน | ใช้ตัวนี้ | เพราะ |
|---|---|---|
| พากย์คลิปสั้น อ่านข่าว บรรยายสไลด์ | Edge TTS | เสียงดี ติดตั้งเร็ว ปรับความเร็วได้ |
| ทดลองเล่นเร็ว ๆ ไม่ซีเรียสคุณภาพ | Google TTS | โค้ดสั้นที่สุด |
| ต้องใช้เสียงของเราเอง | F5-TTS-THAI | ตัวเดียวที่โคลนเสียงได้ |
| เอกสารมีข้อมูลส่วนบุคคล/ความลับ | F5-TTS-THAI | ข้อมูลไม่ออกจากเครื่อง |
| ระบบจริงที่ห้ามล่ม / มีรายได้ | Azure AI Speech หรือ Google Cloud TTS | เป็น API ทางการ มีสัญญาบริการรองรับ |
- ขออนุญาตเจ้าของเสียงก่อนเสมอ — เสียงเป็นข้อมูลส่วนบุคคลตาม PDPA การเอาเสียงคนอื่นมาโคลนโดยไม่ยินยอมมีความเสี่ยงทางกฎหมาย
- ห้ามโคลนเสียงบุคคลสาธารณะ เพื่อสร้างคำพูดที่เขาไม่ได้พูด แม้จะทำเป็นเรื่องตลก
- แจ้งผู้ฟังว่าเป็นเสียงสังเคราะห์ เมื่อใช้ในสื่อสาธารณะหรืองานราชการ
- สอนผู้อบรมเรื่องภัยเสียงปลอมด้วย — วิธีป้องกันคือ ตั้งคำถามยืนยันตัวตนที่รู้กันเฉพาะในครอบครัว และวางสายแล้วโทรกลับเบอร์เดิมที่บันทึกไว้
- เก็บไฟล์เสียงต้นแบบให้ดี — ไฟล์เสียงของผู้บริหารหรือเจ้าหน้าที่ ถือเป็นข้อมูลอ่อนไหวขององค์กร
- เสียงประกาศในหน่วยงาน — ประกาศเรียกคิว แจ้งเตือน อ่านข่าวประชาสัมพันธ์
- สื่อการสอน — อ่านบทเรียนให้ผู้เรียนที่มีปัญหาด้านการอ่านหรือสายตา
- พากย์คลิปสั้น — ใช้คู่กับบทเรียนทำวิดีโอด้วย AI ในเว็บนี้
- Voice Bot / ระบบตอบรับ — เพราะรันในเครื่อง จึงไม่ต้องส่งข้อความของผู้ใช้ออกไปข้างนอก
- งานที่มีข้อมูลอ่อนไหว — ข้อดีที่สุดของการรันในเครื่องคือ ข้อมูลไม่ออกจากองค์กร