ระบบสังเคราะห์เสียงพูดของโครงข่ายประสาทเทียม 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