ต้นขั้ว OpenVoice: การโคลนเสียงทันทีอเนกประสงค์ - Unite.AI
เชื่อมต่อกับเรา

ปัญญาประดิษฐ์

OpenVoice: การโคลนเสียงทันทีอเนกประสงค์

mm
วันที่อัพเดท on

ในการสังเคราะห์ข้อความเป็นคำพูด (TTS) การโคลนเสียงทันที (IVC) ช่วยให้โมเดล TTS สามารถโคลนเสียงของผู้พูดอ้างอิงใดๆ โดยใช้ตัวอย่างเสียงสั้นๆ โดยไม่ต้องมีการฝึกอบรมเพิ่มเติมสำหรับผู้พูดอ้างอิง เทคนิคนี้เรียกอีกอย่างว่าการสังเคราะห์ข้อความเป็นคำพูดแบบ Zero-Shot วิธีการโคลนเสียงทันทีช่วยให้สามารถปรับแต่งเสียงที่สร้างขึ้นได้อย่างยืดหยุ่น และแสดงให้เห็นถึงคุณค่าที่สำคัญในสถานการณ์ในโลกแห่งความเป็นจริงที่หลากหลาย รวมถึงแชทบอทที่ปรับแต่ง การสร้างเนื้อหา และการโต้ตอบระหว่างมนุษย์และโมเดลภาษาขนาดใหญ่ (LLM)

แม้ว่ากรอบงานการโคลนเสียงในปัจจุบันจะทำงานได้ดี แต่ก็มีความท้าทายบางประการในสาขานี้เช่นกัน การควบคุมสไตล์เสียงที่ยืดหยุ่น กล่าวคือ โมเดลขาดความสามารถในการจัดการรูปแบบเสียงอย่างยืดหยุ่นหลังจากการโคลนเสียง สิ่งกีดขวางบนถนนที่สำคัญอีกประการหนึ่งที่เฟรมเวิร์กการโคลนแบบทันทีพบในปัจจุบันคือ การโคลนเสียงข้ามภาษาแบบ Zero-Shot กล่าวคือ เพื่อวัตถุประสงค์ในการฝึกอบรม โมเดลปัจจุบันจำเป็นต้องเข้าถึงชุดข้อมูลที่มีลำโพงขนาดใหญ่หลายภาษาหรือ MSML โดยไม่คำนึงถึงภาษา 

เพื่อแก้ไขปัญหาเหล่านี้ และมีส่วนร่วมในการเพิ่มประสิทธิภาพของโมเดลการโคลนเสียงแบบทันที นักพัฒนาได้ทำงานกับ OpenVoice ซึ่งเป็นเฟรมเวิร์กการโคลนเสียงแบบทันทีอเนกประสงค์ที่จำลองเสียงของผู้ใช้ทุกคน และสร้างคำพูดในหลายภาษาโดยใช้คลิปเสียงสั้น ๆ จากผู้พูดอ้างอิง . OpenVoice สาธิตโมเดล Instant Voice Cloning สามารถจำลองโทนสีของลำโพงอ้างอิง และสามารถควบคุมรูปแบบเสียงได้อย่างละเอียด รวมถึงสำเนียง จังหวะ น้ำเสียง การหยุดชั่วคราว และแม้แต่อารมณ์ สิ่งที่น่าประทับใจยิ่งกว่าคือเฟรมเวิร์ก OpenVoice ยังแสดงให้เห็นถึงความสามารถที่โดดเด่นในการบรรลุการโคลนเสียงข้ามภาษาแบบ Zero-shot สำหรับภาษาภายนอกชุดข้อมูล MSML ทำให้ OpenVoice สามารถโคลนเสียงเป็นภาษาใหม่ได้โดยไม่ต้องมีการฝึกอบรมล่วงหน้าสำหรับภาษานั้น OpenVoice จัดการเพื่อมอบผลลัพธ์การโคลนเสียงทันทีที่เหนือกว่า ในขณะที่สามารถคำนวณได้โดยมีต้นทุนการดำเนินงานน้อยกว่า API ที่มีอยู่ในปัจจุบันถึง 10 เท่าซึ่งมีประสิทธิภาพต่ำกว่า 

ในบทความนี้ เราจะพูดถึงเฟรมเวิร์ก OpenVoice แบบเจาะลึก และเราจะเปิดเผยสถาปัตยกรรมที่ช่วยให้เฟรมเวิร์กมอบประสิทธิภาพที่เหนือกว่าในงานโคลนเสียงแบบทันที มาเริ่มกันเลย 

OpenVoice : เปิดใช้งานการโคลนเสียงทันทีอเนกประสงค์

ตามที่กล่าวไว้ก่อนหน้านี้ Instant Voice Cloning หรือเรียกอีกอย่างว่า การสังเคราะห์ข้อความเป็นคำพูดแบบ Zero-Shotช่วยให้โมเดล TTS โคลนเสียงของผู้พูดอ้างอิงโดยใช้ตัวอย่างเสียงสั้นๆ โดยไม่จำเป็นต้องฝึกอบรมเพิ่มเติมสำหรับผู้พูดอ้างอิง Instant Voice Cloning เป็นหัวข้อวิจัยที่ได้รับความนิยมมาโดยตลอดด้วยผลงานที่มีอยู่ รวมถึงเฟรมเวิร์ก XTTS และ VALLE ที่แยกการฝังลำโพงและ/หรือโทเค็นเสียงจากเสียงอ้างอิงที่ทำหน้าที่เป็นเงื่อนไขสำหรับโมเดลการถดถอยอัตโนมัติ จากนั้นโมเดลการถดถอยอัตโนมัติจะสร้างโทเค็นเสียงตามลำดับ จากนั้นถอดรหัสโทเค็นเหล่านี้ให้เป็นรูปแบบคลื่นเสียงดิบ 

แม้ว่าโมเดลการโคลนเสียงทันทีแบบถอยหลังอัตโนมัติจะโคลนโทนสีได้อย่างน่าทึ่ง แต่ก็ขาดการควบคุมพารามิเตอร์สไตล์อื่นๆ รวมถึงสำเนียง อารมณ์ การหยุดชั่วคราว และจังหวะ นอกจากนี้ โมเดลการถดถอยอัตโนมัติยังมีความเร็วในการอนุมานต่ำ และค่าใช้จ่ายในการดำเนินการก็ค่อนข้างสูง วิธีการที่มีอยู่ เช่น กรอบงาน YourTTS ใช้วิธีการที่ไม่ถดถอยอัตโนมัติซึ่งแสดงให้เห็นคำพูดอนุมานที่รวดเร็วกว่าอย่างมากเหนือกรอบงานวิธีการถดถอยอัตโนมัติ แต่ก็ยังไม่สามารถให้การควบคุมพารามิเตอร์สไตล์ที่ยืดหยุ่นแก่ผู้ใช้ได้ ยิ่งไปกว่านั้น ทั้งเฟรมเวิร์กการโคลนเสียงแบบทันทีที่ทำงานแบบ autoregressive และแบบ non-autoregressive จำเป็นต้องเข้าถึงชุดข้อมูล MSML ขนาดใหญ่หรือชุดข้อมูลหลายภาษาที่มีลำโพงขนาดใหญ่สำหรับการโคลนเสียงแบบข้ามภาษา 

เพื่อรับมือกับความท้าทายที่เฟรมเวิร์กการโคลนเสียงทันใจในปัจจุบันต้องเผชิญ นักพัฒนาได้ทำงานกับ OpenVoice ซึ่งเป็นไลบรารีการโคลนเสียงทันทีแบบโอเพ่นซอร์สที่มีจุดมุ่งหมายเพื่อแก้ไขปัญหาความท้าทายต่อไปนี้ที่เฟรมเวิร์ก IVC ในปัจจุบันต้องเผชิญ 

  1. ความท้าทายแรกคือการทำให้กรอบงาน IVC สามารถควบคุมพารามิเตอร์สไตล์ได้อย่างยืดหยุ่น นอกเหนือจากโทนสี รวมถึงสำเนียง จังหวะ น้ำเสียง และการหยุดชั่วคราว พารามิเตอร์รูปแบบมีความสำคัญอย่างยิ่งต่อการสร้างบทสนทนาและคำพูดที่เป็นธรรมชาติในบริบท แทนที่จะบรรยายข้อความที่ป้อนอย่างน่าเบื่อหน่าย 
  2. ความท้าทายประการที่สองคือการเปิดใช้กรอบงาน IVC เพื่อโคลนเสียงข้ามภาษาในการตั้งค่าแบบ Zero-Shot 
  3. ความท้าทายสุดท้ายคือการบรรลุความเร็วในการอนุมานแบบเรียลไทม์ที่สูงโดยไม่ทำให้คุณภาพลดลง 

เพื่อจัดการกับอุปสรรคสองประการแรก สถาปัตยกรรมของเฟรมเวิร์ก OpenVoice ได้รับการออกแบบในลักษณะที่จะแยกส่วนประกอบต่างๆ ในน้ำเสียงให้เต็มความสามารถ นอกจากนี้ OpenVoice ยังสร้างโทนสี ภาษา และฟีเจอร์เสียงอื่นๆ อย่างเป็นอิสระ ทำให้เฟรมเวิร์กสามารถจัดการประเภทภาษาและสไตล์เสียงแต่ละอย่างได้อย่างยืดหยุ่น เฟรมเวิร์ก OpenVoice จัดการกับความท้าทายที่สามตามค่าเริ่มต้น เนื่องจากโครงสร้างที่แยกส่วนจะช่วยลดความซับซ้อนในการคำนวณและข้อกำหนดขนาดโมเดล 

OpenVoice: วิธีการและสถาปัตยกรรม

กรอบงานทางเทคนิคของกรอบงาน OpenVoice นั้นมีประสิทธิภาพและใช้งานง่ายอย่างน่าประหลาดใจ ไม่มีความลับใดที่การโคลนโทนสีของผู้พูด การเพิ่มภาษาใหม่ และการเปิดใช้งานการควบคุมพารามิเตอร์เสียงอย่างยืดหยุ่นไปพร้อมๆ กันอาจเป็นเรื่องที่ท้าทาย เป็นเช่นนั้นเพราะการดำเนินการทั้งสามงานพร้อมกันนั้นต้องใช้พารามิเตอร์ควบคุมเพื่อตัดกันโดยใช้ชุดข้อมูลเชิงผสมจำนวนมาก นอกจากนี้ในวิทยากรเดี่ยวปกติ การสังเคราะห์ข้อความเป็นคำพูดสำหรับงานที่ไม่ต้องใช้การโคลนเสียง จะเพิ่มการควบคุมพารามิเตอร์สไตล์อื่นๆ ได้ง่ายกว่า จากสิ่งเหล่านี้ กรอบงาน OpenVoice มีเป้าหมายที่จะแยกงาน Instant Voice Cloning ออกเป็นงานย่อย โมเดลนี้เสนอให้ใช้โมเดล Text to Speech ของลำโพงพื้นฐานเพื่อควบคุมพารามิเตอร์ภาษาและสไตล์ และใช้ตัวแปลงโทนสีเพื่อรวมโทนสีอ้างอิงลงในเสียงที่สร้างขึ้น รูปต่อไปนี้แสดงให้เห็นถึงสถาปัตยกรรมของกรอบงาน 

โดยพื้นฐานแล้ว เฟรมเวิร์ก OpenVoice ใช้สององค์ประกอบ ได้แก่ ตัวแปลงโทนสี และข้อความจากลำโพงพื้นฐานเป็นคำพูดหรือโมเดล TTS โมเดลการแปลงข้อความเป็นคำพูดของผู้พูดพื้นฐานเป็นรุ่นลำโพงเดี่ยวหรือหลายลำโพง ช่วยให้สามารถควบคุมพารามิเตอร์สไตล์ ภาษา และสำเนียงได้อย่างแม่นยำ แบบจำลองจะสร้างเสียงที่ส่งต่อไปยังตัวแปลงโทนสี ซึ่งจะเปลี่ยนสีโทนเสียงของลำโพงพื้นฐานไปเป็นโทนสีของลำโพงอ้างอิง 

เฟรมเวิร์ก OpenVoice มอบความยืดหยุ่นอย่างมากเมื่อพูดถึงโมเดลข้อความเป็นคำพูดของผู้พูดพื้นฐาน เนื่องจากสามารถใช้โมเดล VITS โดยมีการปรับเปลี่ยนเล็กน้อย ทำให้สามารถรับการฝังภาษาและสไตล์ในตัวทำนายระยะเวลาและตัวเข้ารหัสข้อความได้ เฟรมเวิร์กยังสามารถใช้โมเดลเช่น Microsoft TTS ที่มีราคาถูกในเชิงพาณิชย์ หรือปรับใช้โมเดลเช่น InstructTTS ที่สามารถรับแจ้งสไตล์ได้ ในขณะนี้ กรอบงาน OpenVoice ใช้โมเดล VITS แม้ว่ารุ่นอื่นๆ ก็เป็นตัวเลือกที่เป็นไปได้เช่นกัน 

เมื่อมาถึงองค์ประกอบที่สอง Tone Color Converter จะเป็นส่วนประกอบตัวเข้ารหัส-ตัวถอดรหัสซึ่งมีโฟลว์การปรับมาตรฐานแบบย้อนกลับตรงกลาง ส่วนประกอบตัวเข้ารหัสในตัวแปลงโทนสีคือ CNN หนึ่งมิติที่ยอมรับสเปกตรัมการแปลงฟูเรียร์ในช่วงเวลาสั้น ๆ ของโมเดลข้อความจากลำโพงพื้นฐานเป็นคำพูดเป็นอินพุต จากนั้นตัวเข้ารหัสจะสร้างแผนผังคุณลักษณะเป็นเอาต์พุต เครื่องมือแยกโทนสีเป็น CNN สองมิติอย่างง่ายที่ทำงานบนเมลสเปกโตรแกรมของเสียงอินพุต และสร้างเวกเตอร์คุณลักษณะเดียวเป็นเอาต์พุตที่เข้ารหัสข้อมูลของโทนสี เลเยอร์โฟลว์การทำให้เป็นมาตรฐานจะยอมรับแผนผังคุณลักษณะที่สร้างโดยตัวเข้ารหัสเป็นอินพุต และสร้างการแสดงคุณลักษณะที่จะรักษาคุณสมบัติของสไตล์ทั้งหมด แต่จะกำจัดข้อมูลโทนสีออกไป จากนั้นกรอบงาน OpenVoice จะใช้เลเยอร์โฟลว์การทำให้เป็นมาตรฐานในทิศทางผกผัน และใช้การแสดงคุณสมบัติเป็นอินพุตและเอาท์พุตของเลเยอร์โฟลว์การทำให้เป็นมาตรฐาน จากนั้นเฟรมเวิร์กจะถอดรหัสเลเยอร์การไหลที่ทำให้เป็นมาตรฐานเป็นรูปคลื่นดิบโดยใช้สแต็กของการโน้มน้าวหนึ่งมิติที่ถูกย้าย 

สถาปัตยกรรมทั้งหมดของเฟรมเวิร์ก OpenVoice จะถูกป้อนไปข้างหน้าโดยไม่ต้องใช้ส่วนประกอบการถดถอยอัตโนมัติใดๆ ส่วนประกอบตัวแปลงโทนสีจะคล้ายกับการแปลงเสียงในระดับแนวคิด แต่แตกต่างกันในแง่ของฟังก์ชันการทำงาน วัตถุประสงค์การฝึกอบรม และอคติแบบอุปนัยในโครงสร้างแบบจำลอง เลเยอร์โฟลว์การทำให้เป็นมาตรฐานมีโครงสร้างเดียวกันกับโมเดลข้อความเป็นคำพูดแบบโฟลว์ แต่แตกต่างกันในแง่ของฟังก์ชันการทำงานและวัตถุประสงค์การฝึกอบรม 

นอกจากนี้ยังมีวิธีการที่แตกต่างกันในการแยกการนำเสนอคุณลักษณะ วิธีการที่ใช้โดยเฟรมเวิร์ก OpenVoice จะให้คุณภาพเสียงที่ดีขึ้น เป็นที่น่าสังเกตว่าเฟรมเวิร์ก OpenVoice ไม่มีความตั้งใจที่จะประดิษฐ์ส่วนประกอบในสถาปัตยกรรมโมเดล แต่ทั้งส่วนประกอบหลัก เช่น ตัวแปลงโทนสีและโมเดล TTS ของลำโพงพื้นฐานนั้นมาจากผลงานที่มีอยู่ทั้งคู่ จุดมุ่งหมายหลักของเฟรมเวิร์ก OpenVoice คือการสร้างเฟรมเวิร์กที่แยกออกจากกันซึ่งแยกการควบคุมภาษาและสไตล์เสียงออกจากการโคลนโทนสี แม้ว่าวิธีการจะค่อนข้างง่าย แต่ก็ค่อนข้างมีประสิทธิภาพโดยเฉพาะกับงานที่ควบคุมสไตล์และสำเนียง หรืองานทั่วไปของภาษาใหม่ การบรรลุการควบคุมแบบเดียวกันเมื่อใช้เฟรมเวิร์กคู่ต้องใช้การประมวลผลและข้อมูลจำนวนมาก และไม่สามารถสรุปเป็นภาษาใหม่ได้ดีนัก 

โดยแก่นแท้แล้ว ปรัชญาหลักของเฟรมเวิร์ก OpenVoice คือการแยกการสร้างภาษาและสไตล์เสียงออกจากการสร้างโทนสี จุดแข็งหลักประการหนึ่งของกรอบงาน OpenVoice ก็คือเสียงโคลนนั้นคล่องแคล่วและมีคุณภาพสูงตราบใดที่ TTS ที่มีลำโพงเดี่ยวพูดได้อย่างคล่องแคล่ว 

OpenVoice : การทดลองและผลลัพธ์

การประเมินงานการโคลนเสียงเป็นวัตถุประสงค์ที่ยากเนื่องจากเหตุผลหลายประการ สำหรับผู้เริ่มต้น งานที่มีอยู่มักจะใช้ข้อมูลการฝึกอบรมและการทดสอบที่แตกต่างกัน ซึ่งทำให้การเปรียบเทียบงานเหล่านี้ไม่ยุติธรรมอย่างแท้จริง แม้ว่าการจัดหาฝูงชนสามารถใช้เพื่อประเมินตัวชี้วัด เช่น คะแนนความคิดเห็นเฉลี่ย แต่ความยากและความหลากหลายของข้อมูลการทดสอบจะส่งผลต่อผลลัพธ์โดยรวมอย่างมีนัยสำคัญ ประการที่สอง วิธีการโคลนเสียงที่แตกต่างกันมีข้อมูลการฝึกอบรมที่แตกต่างกัน และความหลากหลายและขนาดของข้อมูลนี้มีอิทธิพลต่อผลลัพธ์อย่างมาก ท้ายที่สุดแล้ว วัตถุประสงค์หลักของงานที่มีอยู่มักจะแตกต่างกัน ดังนั้น จึงมีการทำงานที่แตกต่างกัน 

เนื่องจากเหตุผลสามประการที่กล่าวมาข้างต้น การเปรียบเทียบเฟรมเวิร์กการโคลนเสียงที่มีอยู่เป็นตัวเลขจึงไม่ยุติธรรม แต่จะเหมาะสมกว่ามากที่จะเปรียบเทียบวิธีการเหล่านี้ในเชิงคุณภาพ 

การโคลนโทนสีที่แม่นยำ

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

การควบคุมรูปแบบเสียงที่ยืดหยุ่น

วัตถุประสงค์ประการหนึ่งของเฟรมเวิร์ก OpenVoice คือการควบคุมรูปแบบคำพูดอย่างยืดหยุ่นโดยใช้ตัวแปลงโทนสีที่สามารถปรับเปลี่ยนโทนสีในขณะที่ยังคงคุณสมบัติและคุณสมบัติเสียงอื่นๆ ทั้งหมดไว้ 

การทดลองระบุว่าโมเดลจะรักษาลักษณะเสียงไว้หลังจากแปลงเป็นสีโทนอ้างอิง อย่างไรก็ตาม ในบางกรณี แบบจำลองจะทำให้อารมณ์เป็นกลางเล็กน้อย ซึ่งเป็นปัญหาที่สามารถแก้ไขได้ด้วยการส่งข้อมูลน้อยลงไปยังชั้นโฟลว์ เพื่อที่จะไม่สามารถกำจัดอารมณ์ออกไปได้ เฟรมเวิร์ก OpenVoice สามารถรักษาสไตล์จากเสียงพื้นฐานได้ด้วยการใช้ตัวแปลงโทนสี ช่วยให้เฟรมเวิร์ก OpenVoice จัดการโมเดลข้อความเป็นคำพูดของผู้พูดพื้นฐานเพื่อควบคุมสไตล์เสียงได้อย่างง่ายดาย 

โคลนเสียงข้ามภาษา

เฟรมเวิร์ก OpenVoice ไม่รวมข้อมูลลำโพงขนาดใหญ่สำหรับภาษาที่มองไม่เห็น แต่สามารถทำการโคลนเสียงแบบเกือบข้ามภาษาได้ในการตั้งค่าแบบ Zero-Shot ความสามารถในการโคลนเสียงข้ามภาษาของเฟรมเวิร์ก OpenVoice มีสองเท่า:

  1. โมเดลสามารถโคลนโทนสีของผู้พูดอ้างอิงได้อย่างถูกต้อง เมื่อภาษาของผู้พูดอ้างอิงมองไม่เห็นในชุดข้อมูลหลายภาษาของลำโพงหลายตัวหรือ MSML 
  2. นอกจากนี้ ในกรณีที่มองไม่เห็นภาษาของผู้พูดอ้างอิง เฟรมเวิร์ก OpenVoice จะสามารถโคลนเสียงของผู้พูดอ้างอิง และพูดในภาษาหนึ่งในเงื่อนไขที่โมเดลการแปลงข้อความเป็นคำพูดของผู้พูดพื้นฐานรองรับภาษานั้น 

ข้อคิด

ในบทความนี้ เราได้พูดคุยเกี่ยวกับ OpenVoice ซึ่งเป็นเฟรมเวิร์กการโคลนเสียงทันทีอเนกประสงค์ที่จำลองเสียงของผู้ใช้และสร้างคำพูดในหลายภาษาโดยใช้คลิปเสียงสั้น ๆ จากผู้พูดอ้างอิง สัญชาตญาณหลักที่อยู่เบื้องหลัง OpenVoice คือ ตราบใดที่โมเดลไม่จำเป็นต้องทำการโคลนโทนสีของลำโพงอ้างอิง เฟรมเวิร์กก็สามารถใช้โมเดล TTS ของลำโพงพื้นฐานเพื่อควบคุมภาษาและสไตล์เสียงได้ 

OpenVoice สาธิตโมเดล Instant Voice Cloning สามารถจำลองโทนสีของลำโพงอ้างอิง และสามารถควบคุมรูปแบบเสียงได้อย่างละเอียด รวมถึงสำเนียง จังหวะ น้ำเสียง การหยุดชั่วคราว และแม้กระทั่งอารมณ์ OpenVoice จัดการเพื่อมอบผลลัพธ์การโคลนเสียงทันทีที่เหนือกว่า ในขณะที่สามารถคำนวณได้โดยมีต้นทุนการดำเนินงานน้อยกว่า API ที่มีอยู่ในปัจจุบันถึง 10 เท่าซึ่งมีประสิทธิภาพต่ำกว่า 

"อาชีพวิศวกร นักเขียนด้วยหัวใจ". Kunal เป็นนักเขียนด้านเทคนิคที่มีความรักและความเข้าใจอย่างลึกซึ้งเกี่ยวกับ AI และ ML โดยอุทิศตนเพื่อทำให้แนวคิดที่ซับซ้อนในสาขาเหล่านี้ง่ายขึ้นผ่านเอกสารประกอบที่ให้ข้อมูลที่น่าสนใจ