Riffusion เป็นระบบแมชชีนเลิร์นนิงการแพร่กระจายที่เสถียรซึ่งปรับมาสำหรับการสังเคราะห์เสียงดนตรี
มีการประกาศเปิดตัวโครงการใหม่ชื่อ "Riffusion" ซึ่งพัฒนาต่อยอดจากระบบการเรียนรู้ของเครื่อง Stable Diffusionโดยปรับให้สร้างเพลงแทนภาพ เพลงสามารถสังเคราะห์ได้จากแม่แบบที่แนะนำหรือคำอธิบายที่เป็นข้อความภาษาธรรมชาติ
ส่วนประกอบการสังเคราะห์เสียงดนตรีเขียนด้วย Python โดยใช้เฟรมเวิร์ก PyTorch และอยู่ภายใต้ใบอนุญาต MIT
โครงการนี้น่าสนใจเพราะยังคงใช้โมเดล "ข้อความเป็นภาพ" และ "ภาพเป็นภาพ"สำหรับการสร้างดนตรี แต่มีการปรับแต่งสเปกโทรแกรมราวกับว่าเป็นภาพ
กล่าวอีกนัยหนึ่งเทคโนโลยี Stable Diffusion แบบคลาสสิกไม่ได้อาศัยภาพถ่ายและรูปภาพ แต่ใช้ภาพสเปกโทรแกรมที่สะท้อนการเปลี่ยนแปลงของความถี่และแอมพลิจูดของคลื่นเสียงเมื่อเวลาผ่านไป ดังนั้นจึงมีการสร้างสเปกโทรแกรมขึ้นที่เอาต์พุต ซึ่งจะถูกแปลงเป็นรูปแบบเสียงในภายหลัง
นี่คือแบบจำลองการแพร่กระจายเสถียร v1.5 ที่ไม่มีการแก้ไขใดๆ เพียงแค่ติดตั้งบนภาพสเปกโตรแกรมที่จับคู่กับข้อความ การประมวลผลเสียงเกิดขึ้นที่ด้านล่างของโมเดล
คุณสามารถสร้างรูปแบบต่างๆ ของโฆษณาได้ไม่สิ้นสุดโดยการเปลี่ยนเมล็ดพันธุ์ ส่วนติดต่อผู้ใช้และเทคนิคบนเว็บแบบเดียวกันทั้งหมด เช่น img2img, การระบายสี, การระบุเชิงลบ และการแก้ไขทำงานนอกกรอบ
สเปกตรัม
สเปกตรัมเสียงเป็นวิธีการแสดงเนื้อหาความถี่ของคลิปเสียงด้วยภาพ แกน x แทนเวลา และแกน y แทนความถี่ สีของแต่ละพิกเซลให้แอมพลิจูดของเสียงตามความถี่และเวลาที่กำหนดโดยแถวและคอลัมน์
มีการกล่าวถึงว่าวิธีการนี้ยังสามารถใช้ในการแก้ไของค์ประกอบเสียงที่มีอยู่และสังเคราะห์ดนตรีตัวอย่างได้ คล้ายกับการแก้ไขภาพใน Stable Diffusion
ตัวอย่างเช่น เจเนอเรชันสามารถตั้งค่าสเปกโตรแกรมตัวอย่างเป็นสไตล์อ้างอิง รวมสไตล์ที่แตกต่างกัน เปลี่ยนจากสไตล์หนึ่งไปอีกสไตล์หนึ่งได้อย่างราบรื่น หรือทำการเปลี่ยนแปลงเสียงที่มีอยู่เพื่อแก้ปัญหาต่างๆ เช่น การเพิ่มระดับเสียงของเครื่องดนตรีแต่ละชิ้น การเปลี่ยนจังหวะและการแทนที่ ของตราสาร.
STFT เป็นแบบย้อนกลับ ดังนั้นเสียงต้นฉบับจึงสามารถสร้างขึ้นใหม่จากสเปกตรัม อย่างไรก็ตาม ภาพสเปกตรัมของแบบจำลองของเรามีเฉพาะแอมพลิจูดของคลื่นไซน์เท่านั้น และไม่มีเฟส เนื่องจากเฟสต่างๆ วุ่นวายและเรียนรู้ได้ยาก แต่เราใช้อัลกอริทึมของ Griffin-Lim เพื่อประมาณเฟสเมื่อสร้างคลิปเสียงใหม่
รูปแบบเหล่านี้ยังใช้ในการสร้างองค์ประกอบที่มีระยะเวลานานซึ่งประกอบด้วยท่อนเพลงที่อยู่ใกล้กันหลายท่อน โดยมีการเปลี่ยนแปลงเล็กน้อยตามเวลา ส่วนย่อยที่สร้างขึ้นแยกกันจะถูกนำมารวมกันเป็นกระแสต่อเนื่องโดยการประมาณค่าพารามิเตอร์ภายในของแบบจำลอง
ถังความถี่ในสเปกโตรแกรมของเราใช้สเกล Mel ซึ่งเป็นสเกลการรับรู้ของระดับเสียงที่ผู้ฟังตัดสินว่ามีระยะห่างเท่ากันจากกันและกัน
ด้านล่างนี้คือภาพที่วาดด้วยมือซึ่งตีความว่าเป็นสเปกตรัมและแปลงเป็นเสียง ลองเล่นดูเพื่อรับความรู้สึกที่เป็นธรรมชาติสำหรับวิธีการทำงาน สังเกตว่าคุณจะได้ยินเสียงของเส้นโค้งสองเส้นในครึ่งล่างได้อย่างไร และเส้นแนวตั้งสี่เส้นในครึ่งบนสร้างจังหวะที่คล้ายกับเสียงไฮแฮทได้อย่างไร
การแปลงฟูริเยร์ (การแปลงทางคณิตศาสตร์ที่ใช้ในการแปลงสัญญาณระหว่างโดเมนเวลาและโดเมนความถี่) ใช้เพื่อสร้างสเปกโตรแกรมจากเสียง เมื่อสร้างเสียงขึ้นใหม่จากสเปกโตรแกรม มีปัญหากับการกำหนดเฟส (เฉพาะความถี่และแอมพลิจูดเท่านั้นที่มีในสเปกโตรแกรม) ซึ่งใช้อัลกอริธึมการประมาณกริฟฟิน-ลิมในการสร้างใหม่
อินเทอร์เฟซนี้ถูกพัฒนาขึ้นด้วย TypeScript และเผยแพร่ภายใต้ใบอนุญาต MITโมเดลที่ได้รับการฝึกฝนแล้วจะเผยแพร่ภายใต้ใบอนุญาต Creative ML OpenRAIL-M ที่อนุญาตให้ใช้งานเชิงพาณิชย์ได้อย่างอิสระ
หากคุณต้องการทราบข้อมูลเพิ่มเติม คุณสามารถตรวจสอบรายละเอียดได้ที่ลิงก์ต่อไปนี้