3 คะแนน โดย GN⁺ 2025-06-12 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Chatterbox คือโมเดล TTS (สังเคราะห์เสียงพูด) แบบโอเพนซอร์สล่าสุด ที่ Resemble AI เปิดตัว
  • ในการประเมินเปรียบเทียบกับคู่แข่งอย่าง ElevenLabs พบว่าได้ผลลัพธ์ที่ ได้รับความนิยมอย่างต่อเนื่อง
  • มาพร้อมความสามารถเฉพาะอย่าง การควบคุมระดับการแสดงอารมณ์เกินจริง ทำให้สร้างการแสดงออกทางเสียงได้หลากหลาย
  • ฝึกด้วยแบ็กโบน Llama ขนาด 500 ล้านพารามิเตอร์ และข้อมูลที่ผ่านการคัดกรองจำนวน 500,000 ชั่วโมง
  • เสียงที่สร้างทั้งหมดมี ลายน้ำ Perth ฝังมาในตัว เพื่อช่วยป้องกันการใช้งานโดยไม่ได้รับอนุญาตและการปลอมแปลง

แนะนำ Chatterbox TTS และความสำคัญ

  • Chatterbox เป็นโมเดล TTS (แปลงข้อความเป็นเสียงพูด) แบบโอเพนซอร์สระดับพร้อมใช้งานจริงในโปรดักชัน ที่พัฒนาโดย Resemble AI
  • ใช้ไลเซนส์ MIT จึงนำไปใช้ได้อย่างอิสระ และมีการเปิดเผยผลที่พิสูจน์แล้วว่าคุณภาพยอดเยี่ยม แม้เทียบกับโมเดลเชิงพาณิชย์แบบปิดซอร์ส เช่น ElevenLabs
  • นำไปใช้ได้กับงานสร้างคอนเทนต์หลากหลาย ทั้งวิดีโอ มีม เกม และ AI agent อีกทั้งยังเป็นโอเพนซอร์ส TTS ตัวแรกที่มีฟีเจอร์ ควบคุมระดับการแสดงอารมณ์เกินจริง
  • สามารถทดลองและใช้งานจริงได้ผ่านแอป Hugging Face Gradio หรือ API ของตนเอง และหากต้องการรองรับงานขนาดใหญ่หรือความแม่นยำสูง ก็มี Commercial API (ultra-low latency ต่ำกว่า 200ms) ให้บริการ

คุณสมบัติหลัก

  • Zero-shot TTS ล้ำสมัย: ถ่ายทอดสไตล์ผู้พูดได้หลากหลายโดยไม่ต้องมีข้อมูลเพิ่มเติม
  • แบ็กโบน Llama 0.5B: นำโครงสร้าง large language model มาประยุกต์ใช้กับการสังเคราะห์เสียงพูด
  • ปรับระดับการแสดงอารมณ์เกินจริง/ความเข้มข้นได้: ควบคุมเอกลักษณ์และระดับอารมณ์ของผู้พูดแต่ละคนได้อย่างละเอียด
  • Alignment-informed inference: ใช้ข้อมูลการจัดแนวระหว่างหน่วยเสียงกับเสียงจริง เพื่อให้ได้คุณภาพการสร้างที่เสถียรสูงมาก
  • ข้อมูลคัดกรอง 0.5M ชั่วโมง: ฝึกด้วยชุดข้อมูลเสียงขนาดใหญ่และคุณภาพสูง
  • ลายน้ำในตัว: ใช้ Perth (Perceptual Threshold) watermarking ของ Resemble AI เพื่อติดตามผลงานที่สร้างและป้องกันการใช้งานโดยไม่ได้รับอนุญาต
  • สคริปต์แปลงเสียง: มีฟังก์ชัน voice conversion ในตัวที่ใช้งานได้สะดวก
  • การยืนยันประสิทธิภาพ: มีผลการประเมินว่า ดีกว่า ElevenLabs

เคล็ดลับการใช้งาน

  • TTS ทั่วไป/voice agent: ใช้ค่าเริ่มต้น (Exaggeration=0.5, cfg_weight=0.5) จะให้คุณภาพที่สมดุลในสถานการณ์ส่วนใหญ่
    • หากเป็นสไตล์ผู้พูดที่เร็ว การปรับค่า cfg_weight ลงมาแถว 0.3 จะช่วยให้ความเร็วฟังดูเป็นธรรมชาติมากขึ้น
  • การสังเคราะห์เสียงที่ใช้อารมณ์หรือดราม่ามากขึ้น: เพิ่ม Exaggeration เป็น 0.7 ขึ้นไป และลด cfg_weight เพื่อเสริมเอฟเฟกต์การพูดที่ดราม่ามากขึ้น
    • ยิ่งความเข้มของอารมณ์ (exaggeration) สูง ความเร็วการพูดก็จะยิ่งเร็วขึ้น และหากลด cfg_weight ลง ก็สามารถปรับให้พูดช้าลงและชัดเจนขึ้นได้

ภาษาที่รองรับ

  • ขณะนี้รองรับเฉพาะภาษาอังกฤษ

โอเพนซอร์สที่ใช้อ้างอิง/พึ่งพา

  • สะท้อนเทคโนโลยีโมเดลเสียงและภาษาใหม่ ๆ มากมาย เช่น Cosyvoice, Real-Time-Voice-Cloning, HiFT-GAN, Llama 3, S3Tokenizer

ลายน้ำ Perth ในตัว

  • Perth (Perceptual Threshold) watermarking: ฝัง neural watermark ลงในเสียงที่สร้างทั้งหมดโดยไม่ลดทอนคุณภาพเสียง
  • ลายน้ำยังคงอยู่แม้ผ่าน การบีบอัด MP3, การตัดต่อเสียง, การแปรรูปเสียง
  • ตรวจจับอัตโนมัติได้ด้วยความแม่นยำใกล้ 100% ช่วยรองรับการติดตามต้นทาง ป้องกันการปลอมแปลง และส่งเสริมการใช้งาน AI อย่างรับผิดชอบ

ตัวอย่างการดึงลายน้ำ

  • สามารถตรวจสอบได้ด้วยสคริปต์แยกว่ามีลายน้ำดังกล่าวอยู่หรือไม่
  • ใช้แพ็กเกจ Python ชื่อ perth และ librosa เพื่อดึงค่าลายน้ำ (0 หรือ 1) จากไฟล์เสียงได้

ชุมชน

  • มีการเปิด ชุมชน Discord อย่างเป็นทางการ ทุกคนสามารถเข้าร่วมและร่วมมือกันได้

ข้อสงวนสิทธิ์

  • โมเดลนี้ห้ามใช้ในทางที่เป็นอันตราย และพรอมป์ต์ใช้เฉพาะข้อมูลที่เผยแพร่สู่สาธารณะบนอินเทอร์เน็ต

1 ความคิดเห็น

 
GN⁺ 2025-06-12
ความเห็นจาก Hacker News
  • เห็นคำชี้แจงว่าไฟล์เสียงทั้งหมดที่สร้างด้วย Chatterbox จะมีลายน้ำ Perth (Perceptual Threshold) ของ Resemble AI ฝังอยู่
    เขาโฆษณาว่าเป็น imperceptible neural watermarks ที่ยังคงอยู่ได้แม้ผ่านการบีบอัด MP3 การตัดต่อเสียง และการดัดแปลงสารพัดรูปแบบ พร้อมความแม่นยำในการตรวจจับที่เกือบ 100%
    แต่ก็เลยสงสัยว่า ถ้าแค่คอมเมนต์การเรียกใช้ฟังก์ชัน apply_watermark ใน tts.py ออก ก็เท่ากับปิดการใส่ลายน้ำได้ง่าย ๆ ไม่ใช่หรือ
    สำหรับลายน้ำแบบนี้ เดิมทีคิดว่าจุดประสงค์คือต้องซ่อนไว้ในตัวโมเดลเองเพื่อไม่ให้ถูกถอดออกได้ง่าย
    แต่พอมาเพิ่มลายน้ำเป็นขั้นตอน post-processing แยกต่างหากในโมเดลโอเพนซอร์ส ก็เลยอดสงสัยไม่ได้ว่าตกลงจะใส่ลายน้ำไปเพื่ออะไร
  • เดาว่านี่เป็นท่าทีแบบ CYA (Cover Your Ass, ป้องกันตัวเอง) มากกว่า
    คล้ายกับที่ Stable Diffusion เวอร์ชันดั้งเดิมก็มี content filter
    และอาจตั้งใจป้องกันไม่ให้ข้อมูลฝึกปนเปื้อนด้วย
  • ถึงขั้นมีแฟลก --no-watermark อยู่ใน parser เลย
    สุดท้ายแล้วดูเหมือนเขาทำให้มันเป็น “ฟีเจอร์” อย่างหนึ่ง สำหรับคนที่จะเอาไปใส่ในผลิตภัณฑ์ที่ใหญ่กว่า
  • ถ้าไม่ใช่ OpenAI, Google หรือ ElevenLabs บริษัทอื่น ๆ จะหมดความเกี่ยวข้องไปเลยถ้าไม่โอเพนซอร์สอย่างจริงจัง
    ผู้นำตลาด TTS ตอนนี้ชัดเจนอยู่แล้ว และบริษัทอย่าง Resemble, PlayHT ฯลฯ ต้องปล่อยน้ำหนักโมเดลและซอร์สโค้ดให้เหล่านักพัฒนา ถึงจะพอมีส่วนแบ่งตลาดได้บ้าง
    การใส่ลายน้ำก็ดูเป็น CYA สำหรับรับมือเสียงวิจารณ์เรื่องการนำสื่อไปใช้ในทางที่ผิด
    ถ้าไม่มีอะไรแบบนี้ สื่อกับฝั่งต่อต้าน AI อย่าง 404Media ก็คงหยิบประเด็นการใช้งานผิดวัตถุประสงค์ขึ้นมาโจมตี
    แนวทางที่ถูกควรเป็นการเปิดซอร์ส เปิดเวต และมี API/ตัวเลือก fine-tuning แยกให้
    อ้างอิง บทความของ 404Media
  • หน้าเดโมอยู่ที่นี่
    ถ้าไฟล์เสียงเดโมไม่ได้คัดมาเฉพาะตัวอย่างที่ดีที่สุดเกินไป ก็คิดว่านี่เป็นรีลีสที่ดีมาก
    พูดอยู่เสมอว่าจากที่ลองมาจริง ๆ ข้อจำกัดของเสียง AI ทุกวันนี้ไม่ได้อยู่ที่คุณภาพ TTS เท่าไร แต่อยู่ที่การรู้จำเสียงพูด (transcription) มากกว่า
    ถ้าไม่นับว่าช่วงหลังมีอะไรเปลี่ยนไป ก็ยังเป็นข้อจำกัดเดิมอยู่
  • จากประสบการณ์ล่าสุด LLM เก่งพอจะอ่านและใช้งานข้อความถอดเสียงที่ผิดพลาดได้ด้วย
    ยังไม่เคยลองส่ง transcription หลายเวอร์ชันหรือ confidence level ให้ LLM แต่คิดว่าน่าจะเอาไปใช้ประโยชน์ได้ดี
  • เคยใช้ Speechmatics จริง ๆ แล้วรู้สึกว่าคุณภาพ transcription ใช้งานได้ค่อนข้างดี
  • ถ้าลองเองผ่านเดโมบน Huggingface จะพบว่าการแสดงอารมณ์ไม่ได้เป็นธรรมชาติถึงขนาดในหน้าเดโม และให้ความรู้สึกเหมือนเป็นตัวอย่างที่คัดมาแล้ว
  • สงสัยว่าจะแก้ปัญหา transcription ด้วยข้อมูลสังเคราะห์ได้หรือไม่
  • ชอบมากที่เดโมใส่คำหยาบตรง ๆ
    แถมยังเป็นประโยคที่ยกมาจาก Pulp Fiction ด้วย ซึ่งก็น่าสนุกดี
    เดโมทั่วไปก่อนหน้านี้มักจืดและปลอดภัยเกินไปจนเบื่อแล้ว
    ในคอมมูนิตี้ TTS สายอินดี้มักใช้ Navy Seals copypasta กัน แต่การที่บริษัทบริการอย่าง Resemble กล้าใส่ประโยคแบบนี้เข้ามาถือว่าแปลกใหม่
    Copypasta Wiki, ตัวอย่าง Navy Seal copypasta
  • ลองใช้งานฟรีได้ที่นี่
  • ได้ลองเล่นแล้วรู้สึกว่าสนุกดี
    พอใส่สำเนียงออสเตรเลียของตัวเองเข้าไป มันกลับออกมาเป็นสำเนียงอังกฤษแบบ RP ที่นุ่มมาก
    ฟังดูเป็นธรรมชาติมาก แต่ชัดเจนว่าไม่ใช่การถอดสำเนียงของฉันจริง ๆ
    สำหรับงานใช้งานจริง หลายกรณีให้ความสำคัญกับเสียงที่ชัดและเป็นธรรมชาติมากกว่า ดังนั้นในงานแบบนั้นมันเหมาะอย่างยิ่ง
  • น่าเสียดายที่ยังไม่เปิดโค้ดสำหรับการเทรนหรือ fine-tuning จึงยังไม่ “เปิดเต็มรูปแบบ” แบบ Flux หรือ Stable Diffusion
    โมเดล “open” ที่ดีกว่าสำหรับงานนี้ เช่น
    • Zeroshot TTS: MaskGCT, MegaTTS3
    • Zeroshot VC: Seed-VC, MegaTTS3
      ในทางปฏิบัติมีเพียง Seed-VC ที่ปล่อยโค้ดเทรน/fine-tuning แต่ทั้งหมดทำ zero-shot ได้ดีกว่า Chatterbox
      โดยเฉพาะ MegaTTS3 ของ ByteDance ที่แทบไม่มีใครตามทันนอกจาก ElevenLabs
      ByteDance เหนือกว่าทั้งเงิน คน และข้อมูล
      ถ้าเป้าหมายคือการโคลนเสียงแบบ zero-shot โดยไม่ต้อง fine-tuning โมเดลเหล่านี้น่าจะเป็นตัวเลือกที่ดีกว่า
  • มีตัวอย่างการนำ TTS API ไปดีพลอยใน production แบบโอเพนซอร์สออกมาด้วย
    พร้อมแนบลิงก์โมเดลที่พร้อมนำไป deploy
  • มีลิงก์โค้ดตัวอย่างสำหรับ inference และตัวอย่าง voice cloning
    และแจ้งว่ายังอยู่ระหว่างทำรองรับการสตรีมมิง
  • คิดว่ามันทำงานได้ยอดเยี่ยมกับสำเนียงที่พบบ่อยมาก ๆ
    แต่แม้แต่สำเนียงที่จริง ๆ ก็พบได้ค่อนข้างบ่อย มันก็ยังปนสำเนียงอื่นออกมาได้เหมือนกัน เช่น อัดเสียงสก็อตแลนด์แต่ได้กลิ่นอายออสเตรเลีย
    สำเนียงยอร์กเชียร์ก็จับผิดเหมือนกัน
  • พอลองใส่สำเนียงสก็อตแลนด์เข้าไป แม้แต่สำเนียงออสเตรเลียของฉันเองก็ยังถูกแปลงเป็นอังกฤษแบบ RP ไปหมด
  • มีความเห็นว่านี่เป็นปัญหาที่ลักษณะของสำเนียงสก็อตแลนด์มากกว่าปัญหาของโมเดล
  • ฟังแล้วให้อารมณ์เหมือนนักแสดงที่เรียนสำเนียงอังกฤษมา
  • มีคนถามเรื่องสเปกฮาร์ดแวร์ ว่ารันบนเครื่องขั้นต่ำได้ไหม
  • ตามหน้า GitHub issues ตอนนี้ยังปรับจูนประสิทธิภาพได้ไม่ดีนัก
    เพราะอย่างนั้นในสภาพพื้นฐานจึงยังต้องใช้ฮาร์ดแวร์ผู้บริโภคที่สเปกค่อนข้างสูง
    แต่ก็มองว่ายังมีโอกาสให้ปรับแต่งให้ดีขึ้นได้อีกมากในอนาคต
    ลิงก์ issue
  • ตามissue นี้ ต้องการ VRAM 6~7GB
    ถ้าโมเดลมีคุณค่ามากพอ ก็น่าจะมีใครสักคนหาวิธีให้รันด้วย VRAM น้อยกว่านี้ได้
    มีคนลองจริงบน Nvidia 2060 รุ่นเก่าแล้วพบว่า VRAM พีคประมาณ 5GB
  • คำถามแบบนี้ไม่ใช่คำถามเล็กน้อยเลย ตรงกันข้ามมันเป็นหนึ่งในคำถามที่ดีที่สุด
    ถึงจะมีให้ลองใช้ฟรี แต่ค่าใช้จ่ายจริงอาจทำให้การ self-host ไม่มีความหมายก็ได้
  • ฉันก็เคยสงสัยเหมือนกันเลยไปหาข้อมูลมา
    อยากรู้ว่าต้องใช้ GPU ราคาแพงไหม หรือรันบนโน้ตบุ๊กอายุ 12 ปีได้หรือเปล่า
  • มีคนตั้งใจจะแชร์ประสบการณ์รันบน CPU รุ่นเก่า แต่สุดท้ายเสียเวลาเกิน 30 นาทีไปกับการติดตั้งและแก้เออร์เรอร์อย่างเดียว
    ปัญหาที่เจอมีดังนี้:
    • ยังไม่รองรับ Python 3.13 เลยต้องรีเซ็ต virtual environment เป็น 3.12 ด้วย uv
    • มองไม่เห็น numpy 1.26.4 เพราะ uv pip ไปค้นเฉพาะคลังของ pytorch
    • เวอร์ชัน pip install chatterbox-tts มีบั๊กในโหมด CPU only
    • เวอร์ชัน main ปัจจุบันต้องใช้ protobuf-compiler บน Debian
    • เจอ CMake error ที่ไม่ชัดเจน และมันบ่นว่าไม่มี Python dev headers
      ทุกครั้งที่ต้องมารันโปรเจกต์ Python ของคนอื่นแล้วต้องเจองานจุกจิกแบบนี้ซ้ำ ๆ ก็รู้สึกหมดแรง
  • การแสดงอารมณ์แบบเกินจริงนั้นน่าสนใจ แต่ก็ยังไม่เจอบริการที่ทำได้แบบ ElevenLabs ซึ่งสามารถ “ปั้น” โทนเสียงที่ต้องการได้เพียงแค่บรรยายด้วยข้อความ
    SparkTTS มีพารามิเตอร์ให้มากกว่า และจากโค้ดบน GitHub ก็ดูเหมือนจะเปิดทางให้ควบคุมอารมณ์ได้ละเอียดขึ้น
    สำหรับฉัน เคยได้ผลใกล้เคียงกับคอนเซปต์ที่ต้องการจากบางโมเดลโดยใส่คำสั่งเรื่อง prosody และ tonality แบบจัดเต็มในข้อความ
    แต่ก็ยังยุ่งยากกว่าแนวทางการออกแบบอารมณ์ที่ใช้งานง่ายของ ElevenLabs มาก
  • ความเห็นหลังทดลองเดโมด้วยส่วนหนึ่งของเสียงตัวเอง
    • เอาต์พุตตามโทนเสียงของฉันได้ในระดับหนึ่ง แต่ยังไม่เหมือนมาก
      ถึงอย่างนั้นการที่มันตามได้ขนาดนี้จากตัวอย่างสั้นมากก็ถือว่าน่าทึ่งทีเดียว
    • แค่เพิ่มค่า CFG/pace ขึ้นเล็กน้อย เสียงก็พังจนฟังไม่รู้เรื่องทันที
    • สำเนียงของฉันเป็นออสเตรเลีย แต่ผลลัพธ์ออกมาสลับกันไปเป็นอังกฤษบ้าง อเมริกันบ้าง
    • เอฟเฟกต์อารมณ์เวอร์ ๆ สนุกดี แต่แต่ละครั้งจะออกมาเป็นอารมณ์ไหนก็คาดเดาไม่ได้
  • สงสัยว่าโมเดล TTS แบบนี้จะสามารถอ่านหนังสือได้อย่างน่าเชื่อถือไหม หรือพอผ่านไปไม่กี่ย่อหน้าความสม่ำเสมอของเสียงจะเริ่มพัง
  • ระบบ TTS ส่วนใหญ่มักคุณภาพตกเมื่อเจอข้อความยาว ๆ ดังนั้นในทางปฏิบัติจึงควรแบ่งอ่านเป็นย่อหน้าแล้วค่อยนำมาต่อกันทีหลัง
    อีกอย่าง ถ้าคลื่นเสียงตัวอย่างแบบ one-shot มี noise ปะปนอยู่ บางครั้ง Chatterbox ก็แถมเสียงประหลาดไม่ทราบที่มาช่วงท้ายให้ด้วย
    โดยเฉพาะเวลาให้อ่านอะไรอย่าง Divine Comedy ของดันเต้ ก็เหมือนได้สัมผัส “เสียงจากนรก” ไปในตัว
  • สักวันหนึ่งถ้าคุณภาพดีพอ ก็น่าจะได้เห็น Audible เต็มไปด้วยออดิโอบุ๊กที่ใช้ AI พากย์
    (เหลือแค่ว่า Amazon จะเปิดเผยข้อเท็จจริงนั้นหรือไม่)
  • มีคนลองสร้างออดิโอบุ๊กจากหนังสือ epub ทั้งเล่มด้วยตัวเอง และได้ผลลัพธ์จากเครื่องมือนี้ออกมาไม่เลวเลย
    เครื่องมือแปลงเป็น audiobook ชื่อ audiblez
  • มีคนกำลังให้คำปรึกษาบริษัทในสายนี้ และยืนยันอย่างชัดเจนว่าเทคโนโลยีปัจจุบันสามารถใช้กับการอ่านหนังสือได้ไม่มีปัญหา
  • เมื่อ 1 ปีก่อน เคยทำออดิโอบุ๊กแนวบำบัดของ Carl Rogers ให้เพื่อนฟังเล่น ๆ โดยสังเคราะห์เป็นสไตล์ Attenbrough และตอนนั้นคุณภาพก็ดีมากอยู่แล้ว
    พอผ่านไปอีก 1 ปี ตอนนี้ก็น่าจะดีขึ้นอีกอย่างแน่นอน