StyleTTS2 – เทคโนโลยีแปลงข้อความเป็นเสียงแบบโอเพนซอร์ส คุณภาพระดับ Eleven-Labs
(github.com/yl4579)โมเดล text-to-speech ระดับมนุษย์, StyleTTS 2
- StyleTTS 2 บรรลุการสังเคราะห์ text-to-speech (TTS) ระดับมนุษย์ผ่านการเรียนรู้แบบ adversarial โดยใช้ style diffusion และโมเดลภาษาด้านเสียงขนาดใหญ่
- โมเดลนี้ทำ latent diffusion ได้อย่างมีประสิทธิภาพ โดยสร้างแบบจำลองสไตล์เป็นตัวแปรสุ่มแฝงผ่าน diffusion model เพื่อสร้างสไตล์ที่เหมาะกับข้อความมากที่สุดโดยไม่ต้องมีเสียงอ้างอิง
- ใช้โมเดลภาษาด้านเสียงที่ผ่านการพรีเทรนขนาดใหญ่เป็นตัวแยกแยะ และดำเนินการฝึกแบบ end-to-end ด้วยการสร้างแบบจำลองระยะเวลาแบบใหม่ที่แยกความต่างได้ เพื่อเพิ่มความเป็นธรรมชาติของเสียง
สิ่งที่ต้องเตรียม
- ต้องใช้ Python เวอร์ชัน 3.7 ขึ้นไป
- โคลนที่เก็บ StyleTTS 2 และติดตั้ง Python requirements ที่จำเป็น
- ดาวน์โหลดชุดข้อมูล LJSpeech, ทำ upsample เป็น 24 kHz แล้วแตกไฟล์ลงในโฟลเดอร์ข้อมูล
- หากใช้ชุดข้อมูล LibriTTS ต้องรวม train-clean-360 และ train-clean-100 แล้วเปลี่ยนชื่อโฟลเดอร์เป็น train-clean-460
การฝึก
- สามารถรันการฝึกขั้นแรกและขั้นที่สองตามลำดับได้ และโมเดลจะถูกบันทึกในรูปแบบที่กำหนด
- รูปแบบรายการข้อมูลต้องเป็น
filename.wav|transcription|speakerและสำหรับโมเดลหลายผู้พูด จำเป็นต้องสุ่มตัวอย่างเสียงอ้างอิงเพื่อฝึก style diffusion model
การตั้งค่าที่สำคัญ
- ไฟล์
config.ymlมีการตั้งค่าที่สำคัญ เช่น พาธข้อความ OOD (out-of-distribution) สำหรับการเรียนรู้แบบ SLM adversarial, ความยาวต่ำสุดและสูงสุดสำหรับการฝึก, การเปิดใช้การฝึกโมเดลหลายผู้พูด, และเปอร์เซ็นต์แบตช์เพื่อหลีกเลี่ยงปัญหา OOM (out-of-memory)
โมดูลที่พรีเทรนไว้ล่วงหน้า
- โฟลเดอร์ ASR มีตัวจัดแนวข้อความที่พรีเทรนไว้ล่วงหน้า, โฟลเดอร์ JDC มีตัวดึง pitch ที่พรีเทรนไว้ล่วงหน้า, และโฟลเดอร์ PLBERT มีโมเดล PL-BERT ที่พรีเทรนไว้ล่วงหน้า
ปัญหาที่พบบ่อย
- มีการเสนอวิธีแก้สำหรับปัญหา loss กลายเป็น NaN และปัญหาหน่วยความจำไม่พอ เช่น การปรับ batch size หรือการลดค่า
max_len
การฟाइनจูน
- มีสคริปต์ฟाइनจูนที่ใช้ DP โดยแก้ไขสคริปต์
train_second.pyและปัจจุบัน DDP ยังไม่ทำงาน
การอนุมาน
- อ้างอิงไฟล์โน้ตบุ๊กสำหรับการอนุมานกับชุดข้อมูล LJSpeech และ LibriTTS โดยสำหรับ LibriTTS จำเป็นต้องมีไฟล์เสียงอ้างอิง
- สามารถดาวน์โหลดโมเดล StyleTTS 2 ที่พรีเทรนไว้ล่วงหน้าได้ และก่อนใช้งานควรแจ้งผู้ฟังว่าเสียงสังเคราะห์ถูกสร้างโดยโมเดล StyleTTS 2 หรือใช้เสียงที่ได้รับอนุญาตให้ใช้งานแล้ว
ความเห็นของ GN⁺
ประเด็นสำคัญที่สุดของบทความนี้คือ StyleTTS 2 บรรลุการสังเคราะห์ TTS ระดับมนุษย์ ซึ่งแสดงให้เห็นถึงศักยภาพของการเรียนรู้แบบ adversarial ที่ใช้ style diffusion และโมเดลภาษาด้านเสียงขนาดใหญ่ เทคโนโลยีนี้สามารถยกระดับความเป็นธรรมชาติของการสังเคราะห์เสียงได้อย่างมาก และยังมอบความสามารถในการสร้างสไตล์ที่หลากหลายได้โดยไม่ต้องใช้เสียงอ้างอิง ซึ่งอาจส่งผลอย่างมากต่อการพัฒนาอินเทอร์เฟซที่ใช้เสียงและผู้ช่วยดิจิทัล
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ประสบการณ์พัฒนาแชตบอตเสียงแบบโลคัล 100% ด้วย StyleTTS2
ความเห็นส่วนตัวต่อคุณภาพเสียงของ StyleTTS2
แชร์ประสบการณ์ติดตั้งและใช้งาน StyleTTS2
ประสบการณ์การติดตั้งและการทำงานของ StyleTTS2
การเปรียบเทียบตัวอย่างเสียงของ StyleTTS2 กับเสียงจริง
การประเมินคุณภาพเสียงของ StyleTTS2
ความเห็นต่อชื่อและเนื้อหาของ StyleTTS2
คำถามเกี่ยวกับเวลา inference ของ StyleTTS2
คำถามเกี่ยวกับไลเซนส์ของ StyleTTS2
มุมมองต่อตลาดของโมเดล text-to-speech