Projekt Riffusion vyvíjí variantu systému strojového učení Stable Diffusion, přizpůsobenou pro generování hudby namísto obrázků. Hudba může být syntetizována z textového popisu v přirozeném jazyce nebo na základě navržené šablony. Složky pro syntézu hudby jsou napsány v jazyce Python s využitím frameworku PyTorch a jsou dostupné pod licencí MIT. Obal s rozhraním je realizován v jazyce TypeScript a také se distribuuje pod licencí MIT. Natrénované modely jsou otevřeny pod permisivní licencí Creative ML OpenRAIL-M, která umožňuje využití pro komerční účely.
Projekt je zajímavý tím, že nadále využívá k generování hudby modely "z textu na obrázek" a "z obrázku na obrázek", ale jako obrázky manipuluje se spektrogramy. Jinými slovy, klasický Stable Diffusion není trénován na fotografiích a obrázcích, ale na obrázcích spektrogramů, které odrážejí změnu frekvence a amplitudy zvukové vlny v čase. Odpovídajícím způsobem se také formuje výstupní spektrogram, který je pak převezen na zvukovou reprezentaci.

Metoda může být také použita ke změně existujících zvukových skladeb a syntéze hudby podle vzoru, obdobně jako se provádí modifikace obrázků v Stable Diffusion. Například při generaci mohou být zadány vzory spektrogramů s referenčním stylem, kombinovány různé styly, prováděny plynulé přechody z jednoho stylu na druhý nebo prováděny úpravy existujícího zvuku k řešení takových úkolů, jako je zvýšení hlasitosti jednotlivých nástrojů, změna rytmu a výměna nástrojů. Vzory se také používají pro generaci dlouhotrvajících skladeb, které jsou kompozice z řady blízkých úryvků, mírně se měnících v čase. Samostatně generované úryvky jsou spojovány do kontinuálního toku pomocí interpolace vnitřních parametrů modelu.

K vytvoření spektrogramu ze zvuku se používá okénková Fourierova transformace. Při rekonstrukci zvuku ze spektrogramu vzniká problém s určením fáze (ve spektrogramu jsou pouze frekvence a amplitudy), pro rekonstrukci které je využit algoritmus aproximation Grifina-Lima.
Zdroj: opennet.ru
