پروژه Riffusion گونهای از سیستم یادگیری ماشینی Stable Diffusion را توسعه میدهد که برای تولید موسیقی به جای تصاویر سازگار شده است. موسیقی را می توان با توصیف متنی به زبان طبیعی یا بر اساس یک الگوی پیشنهادی ترکیب کرد. اجزای سنتز موسیقی در پایتون با استفاده از چارچوب PyTorch نوشته شده و تحت مجوز MIT در دسترس هستند. اتصال با رابط در زبان TypeScript پیاده سازی شده و تحت مجوز MIT نیز توزیع می شود. مدل های آموزش دیده تحت مجوز مجاز Creative ML OpenRAIL-M برای استفاده تجاری منتشر می شوند.
این پروژه از این جهت جالب است که همچنان از مدلهای «متن به تصویر» و «تصویر به تصویر» برای تولید موسیقی استفاده میکند، اما طیفنگارها را بهعنوان تصویر دستکاری میکند. به عبارت دیگر، Stable Diffusion کلاسیک نه بر روی عکسها و تصاویر، بلکه بر روی تصاویر طیفنگارهایی که تغییر در فرکانس و دامنه موج صوتی را در طول زمان منعکس میکنند، آموزش داده میشود. بر این اساس، یک طیف نگار نیز در خروجی تشکیل می شود که سپس به یک نمایش صوتی تبدیل می شود.
این روش همچنین می تواند برای اصلاح ترکیبات صوتی موجود و سنتز موسیقی نمونه، مشابه اصلاح تصویر در Stable Diffusion استفاده شود. برای مثال، نسل میتواند طیفنگارهای نمونه را با یک سبک مرجع تنظیم کند، سبکهای مختلف را ترکیب کند، یک انتقال آرام از یک سبک به سبک دیگر انجام دهد، یا تغییراتی را در صدای موجود ایجاد کند تا مشکلاتی مانند افزایش صدای سازهای جداگانه، تغییر ریتم و تغییر ریتم را حل کند. جایگزینی ابزار همچنین از الگوها برای تولید آهنگهای پخش طولانی استفاده میشود که از مجموعهای از قطعات نزدیک به هم تشکیل شدهاند که در طول زمان کمی تغییر میکنند. قطعات تولید شده به طور جداگانه با درونیابی پارامترهای داخلی مدل در یک جریان پیوسته ترکیب می شوند.
برای ایجاد یک طیفنگار از صدا، از تبدیل فوریه پنجرهدار استفاده میشود. هنگام بازآفرینی صدا از یک طیف، مشکلی در تعیین فاز وجود دارد (فقط فرکانس و دامنه در طیف نگار وجود دارد) که برای بازسازی آن از الگوریتم تقریب Griffin-Lim استفاده می شود.
منبع: opennet.ru