Riffusion là một hệ thống học máy khuếch tán ổn định được điều chỉnh để tổng hợp âm nhạc
Dự án mới mang tên "Riffusion" đã được công bố. Dự án này phát triển một biến thể của hệ thống học máy Stable Diffusion được điều chỉnh để tạo ra âm nhạc thay vì hình ảnh. Âm nhạc có thể được tổng hợp dựa trên một mẫu được đề xuất hoặc một mô tả văn bản bằng ngôn ngữ tự nhiên.
Các thành phần tổng hợp âm nhạc được viết bằng Python sử dụng khung PyTorch và có sẵn theo giấy phép MIT.
Dự án này thú vị vì nó tiếp tục sử dụng các mô hình "chuyển văn bản thành hình ảnh" và "chuyển hình ảnh thành hình ảnh" để tạo ra âm nhạc, nhưng lại thao tác với phổ đồ như thể chúng là hình ảnh.
Nói cách khác, phương pháp Khuếch tán ổn định cổ điển không dựa trên ảnh chụp và hình ảnh, mà dựa trên hình ảnh phổ đồ phản ánh sự thay đổi về tần số và biên độ của sóng âm theo thời gian. Do đó, một phổ đồ cũng được hình thành ở đầu ra, sau đó được chuyển đổi thành dạng âm thanh.
Đây là mô hình khuếch tán ổn định v1.5 không có sửa đổi, chỉ được trang bị trên các hình ảnh quang phổ được ghép nối bằng văn bản. Quá trình xử lý âm thanh diễn ra ở hạ lưu của mô hình.
Bạn có thể tạo vô số biến thể của quảng cáo bằng cách thay đổi hạt giống. Tất cả các kỹ thuật và giao diện người dùng web giống nhau như img2img, inpainting, dấu hiệu phủ định và phép nội suy đều hoạt động vượt trội.
quang phổ
Biểu đồ phổ âm thanh là một cách trực quan để biểu thị nội dung tần số của clip âm thanh. Trục x biểu thị thời gian và trục y biểu thị tần suất. Màu của mỗi pixel cho biết biên độ của âm thanh ở tần số và thời gian được cung cấp bởi hàng và cột của nó.
Người ta cũng đề cập rằng phương pháp này có thể được sử dụng để chỉnh sửa các tác phẩm âm thanh hiện có và tổng hợp nhạc mẫu, tương tự như việc chỉnh sửa hình ảnh trong Stable Diffusion.
Ví dụ: thế hệ có thể đặt phổ mẫu thành kiểu tham chiếu, kết hợp các kiểu khác nhau, chuyển đổi suôn sẻ từ kiểu này sang kiểu khác hoặc thay đổi âm thanh hiện có để giải quyết các vấn đề như tăng âm lượng của từng nhạc cụ, thay đổi nhịp điệu và thay thế của nhạc cụ.
STFT không thể đảo ngược, vì vậy âm thanh gốc có thể được tái tạo từ một quang phổ. Tuy nhiên, các hình ảnh quang phổ của mô hình của chúng tôi chỉ chứa biên độ của sóng hình sin chứ không phải các pha, vì các pha hỗn loạn và khó học. Thay vào đó, chúng tôi sử dụng thuật toán Griffin-Lim để tính gần đúng pha khi tái tạo lại đoạn âm thanh.
Các mẫu này cũng được sử dụng để tạo ra các tác phẩm dài, bao gồm một loạt các đoạn nhạc ngắn, cách nhau không xa và thay đổi nhẹ theo thời gian. Các đoạn nhạc được tạo ra riêng biệt được kết hợp thành một dòng chảy liên tục bằng cách nội suy các tham số bên trong của mô hình.
Các ngăn tần số trong biểu đồ quang phổ của chúng tôi sử dụng thang Mel, đây là thang cảm nhận của các cao độ được người nghe đánh giá là có cùng khoảng cách với nhau.
Dưới đây là hình ảnh vẽ tay được diễn giải dưới dạng quang phổ và được chuyển đổi thành âm thanh. Chơi thử để có cảm giác trực quan về cách chúng hoạt động. Lưu ý cách bạn có thể nghe thấy âm thanh của hai đường cong ở nửa dưới và cách bốn đường thẳng đứng ở nửa trên tạo ra nhịp điệu tương tự như âm thanh hi-hat.
Biến đổi Fourier (một phép biến đổi toán học được sử dụng để biến đổi tín hiệu giữa miền thời gian và miền tần số) được sử dụng để tạo ảnh phổ từ âm thanh. Khi tái tạo âm thanh từ một quang phổ, có một vấn đề với việc xác định pha (chỉ tần số và biên độ có trong quang phổ), để tái tạo thuật toán gần đúng Griffin-Lim được sử dụng.
Giao diện được lập trình bằng TypeScript và cũng được phân phối theo giấy phép MIT . Các mô hình đã được huấn luyện được phát hành theo giấy phép Creative ML OpenRAIL-M cho mục đích thương mại.
Nếu bạn muốn biết thêm chi tiết, bạn có thể xem tại liên kết sau.