รุ่นใหม่ของระบบสังเคราะห์เสียง Silero

ระบบสังเคราะห์เสียงพูดของโครงข่ายประสาทเทียม Silero Text-to-Speech เวอร์ชันใหม่ออกสู่สาธารณะแล้ว โครงการนี้มีวัตถุประสงค์หลักเพื่อสร้างระบบสังเคราะห์เสียงพูดที่ทันสมัยและมีคุณภาพสูง ซึ่งไม่ด้อยกว่าโซลูชันเชิงพาณิชย์จากองค์กรต่างๆ และทุกคนสามารถเข้าถึงได้โดยไม่ต้องใช้อุปกรณ์เซิร์ฟเวอร์ราคาแพง

โมเดลดังกล่าวเผยแพร่ภายใต้ลิขสิทธิ์ GNU AGPL แต่บริษัทที่พัฒนาโครงการไม่เปิดเผยกลไกในการฝึกโมเดล หากต้องการรัน คุณสามารถใช้ PyTorch และเฟรมเวิร์กที่รองรับรูปแบบ ONNX การสังเคราะห์เสียงพูดใน Silero ขึ้นอยู่กับการใช้อัลกอริธึมโครงข่ายประสาทเทียมสมัยใหม่ที่ได้รับการดัดแปลงอย่างล้ำลึกและวิธีการประมวลผลสัญญาณดิจิทัล

มีข้อสังเกตว่าปัญหาหลักของโซลูชันโครงข่ายประสาทเทียมสมัยใหม่สำหรับการสังเคราะห์เสียงพูดคือ มักมีให้ใช้งานเฉพาะในโซลูชันคลาวด์แบบชำระเงินเท่านั้น และผลิตภัณฑ์สาธารณะมีความต้องการฮาร์ดแวร์สูง มีคุณภาพต่ำกว่า หรือไม่สมบูรณ์และพร้อมใช้งาน สินค้า. ตัวอย่างเช่น หากต้องการเรียกใช้หนึ่งในสถาปัตยกรรมการสังเคราะห์แบบ end-to-end ยอดนิยม VITS ได้อย่างราบรื่นในโหมดการสังเคราะห์ (นั่นคือ ไม่ใช่สำหรับการฝึกโมเดล) ต้องใช้การ์ดแสดงผลที่มี VRAM มากกว่า 16 กิกะไบต์

ตรงกันข้ามกับแนวโน้มปัจจุบัน โซลูชัน Silero ทำงานได้สำเร็จแม้บน 1 x86 เธรดของโปรเซสเซอร์ Intel พร้อมคำสั่ง AVX2 บนเธรดโปรเซสเซอร์ 4 ตัว การสังเคราะห์ช่วยให้คุณสามารถสังเคราะห์จาก 30 ถึง 60 วินาทีต่อวินาทีในโหมดการสังเคราะห์ 8 kHz ในโหมด 24 kHz - 15-20 วินาทีและในโหมด 48 kHz - ประมาณ 10 วินาที

คุณสมบัติที่สำคัญของ Silero ใหม่:

  • ขนาดโมเดลลดลง 2 เท่าเหลือ 50 เมกะไบต์
  • โมเดลรู้วิธีหยุดชั่วคราว
  • มีเสียงคุณภาพสูงในภาษารัสเซีย 4 เสียง (และเสียงสุ่มจำนวนไม่สิ้นสุด) ตัวอย่างการออกเสียง
  • โมเดลดังกล่าวเร็วขึ้น 10 เท่าและตัวอย่างเช่นในโหมด 24 kHz จะทำให้คุณสามารถสังเคราะห์เสียงได้สูงสุด 20 วินาทีต่อวินาทีบน 4 เธรดตัวประมวลผล
  • ตัวเลือกเสียงทั้งหมดสำหรับภาษาเดียวรวมอยู่ในรุ่นเดียว
  • โมเดลสามารถรับข้อความทั้งย่อหน้าเป็นอินพุตได้ รองรับแท็ก SSML
  • การสังเคราะห์จะทำงานพร้อมกันในความถี่สุ่มตัวอย่างสามความถี่ให้เลือก - 8, 24 และ 48 กิโลเฮิรตซ์;
  • “ปัญหาเด็ก” ได้รับการแก้ไขแล้ว: ความไม่มั่นคงและคำศัพท์ที่หายไป
  • เพิ่มธงเพื่อควบคุมการวางตำแหน่งสำเนียงอัตโนมัติและการวางตำแหน่งตัวอักษร "е"

ปัจจุบันสำหรับการสังเคราะห์เวอร์ชันใหม่ล่าสุด 4 เสียงในภาษารัสเซียนั้นเปิดเผยต่อสาธารณะ แต่ในอนาคตอันใกล้นี้เวอร์ชันถัดไปจะได้รับการเผยแพร่โดยมีการเปลี่ยนแปลงดังต่อไปนี้:

  • อัตราการสังเคราะห์จะเพิ่มขึ้นอีก 2-4 เท่า
  • แบบจำลองการสังเคราะห์สำหรับภาษา CIS จะได้รับการอัปเดต: Kalmyk, Tatar, Uzbek และยูเครน;
  • จะมีการเพิ่มโมเดลสำหรับภาษายุโรป
  • จะเพิ่มโมเดลสำหรับภาษาอินเดีย
  • จะมีการเพิ่มโมเดลสำหรับภาษาอังกฤษ

ความล้มเหลวของระบบบางส่วนที่มีอยู่ในการสังเคราะห์ Silero:

  • แตกต่างจากโซลูชันการสังเคราะห์แบบดั้งเดิมอื่นๆ เช่น RHVoice การสังเคราะห์ Silero ไม่มีการบูรณาการ SAPI ไคลเอนต์ที่ติดตั้งง่าย หรือการบูรณาการสำหรับ Windows และ Android
  • ความเร็วแม้ว่าจะสูงอย่างไม่เคยมีมาก่อนสำหรับโซลูชันดังกล่าว แต่อาจไม่เพียงพอสำหรับการสังเคราะห์แบบทันทีบนโปรเซสเซอร์ที่อ่อนแอและมีคุณภาพสูง
  • โซลูชันการเน้นเสียงอัตโนมัติไม่รองรับคำพ้องเสียง (คำเช่น ปราสาท และ ปราสาท) และยังคงทำผิดพลาด แต่จะได้รับการแก้ไขในรุ่นต่อๆ ไป
  • การสังเคราะห์เวอร์ชันปัจจุบันใช้ไม่ได้กับโปรเซสเซอร์ที่ไม่มีคำสั่ง AVX2 (หรือคุณต้องเปลี่ยนการตั้งค่า PyTorch โดยเฉพาะ) เนื่องจากโมดูลใดโมดูลหนึ่งภายในโมเดลนั้นมีการวัดปริมาณ
  • การสังเคราะห์เวอร์ชันปัจจุบันโดยพื้นฐานแล้วมีการพึ่งพา PyTorch เดียว การบรรจุทั้งหมดเป็นแบบ "เดินสาย" ภายในโมเดลและแพ็คเกจ JIT ซอร์สโค้ดของโมเดลไม่ได้รับการเผยแพร่ เช่นเดียวกับโค้ดสำหรับการรันโมเดลจากไคลเอนต์ PyTorch สำหรับภาษาอื่น
  • Libtorch ซึ่งพร้อมใช้งานสำหรับแพลตฟอร์มมือถือ มีขนาดใหญ่กว่ารันไทม์ ONNX มาก แต่โมเดลเวอร์ชัน ONNX ยังไม่มีให้บริการ

ที่มา: opennet.ru

เพิ่มความคิดเห็น