Proiectul Riffusion dezvoltă o variantă a sistemului de învățare automatizată Stable Diffusion, adaptată pentru generarea muzicii în loc de imagini. Muzica poate fi sintetizată din descrierea textului în limbaj natural sau pe baza unui șablon propus. Componentele pentru sinteza muzicii sunt scrise în limbajul Python folosind cadrul PyTorch și sunt disponibile sub licența MIT. Interfața este implementată în TypeScript și se distribuie, de asemenea, sub licența MIT. Modelele antrenate sunt deschise sub licența permisivă Creative ML OpenRAIL-M, care permite utilizarea în scopuri comerciale.
Proiectul este interesant prin faptul că continuă să utilizeze modele de generare a muzicii „din text în imagine” și „din imagine în imagine”, dar manipulează spectrogramelor ca imagini. Cu alte cuvinte, clasicul Stable Diffusion a fost antrenat nu pe fotografii și imagini, ci pe imagini de spectrografie care reflectă schimbarea frecvenței și amplitudinii undelor sonore în timp. Prin urmare, la ieșire se formează tot o spectrogramă, care ulterior este transformată în reprezentarea sonoră.

Metoda poate fi, de asemenea, utilizată pentru a modifica compozițiile sonore existente și pentru sintetizarea muzicii pe baza unui exemplu, analog cu modificarea imaginilor în Stable Diffusion. De exemplu, la generare pot fi specificate modele de spectrogramă cu un stil de referință, pot fi combinate diferite stiluri, efectuate tranziții graduale de la un stil la altul sau pot fi realizate modificări în sunetul existent pentru a rezolva probleme precum creșterea volumului instrumentelor individuale, schimbarea ritmului și înlocuirea instrumentelor. Modelele sunt, de asemenea, utilizate pentru generarea de compoziții de lungă durată, compuse dintr-o serie de fragmente apropiate între ele, care se schimbă puțin în timp. Fragmentele generate separat sunt combinate într-un flux continuu prin interpolarea parametrilor interni ai modelului.

Pentru a crea o spectrogramă din sunet, se folosește o transformare Fourier pe feronă. La recrearea sunetului din spectrogramă apare problema determinării fazei (pe spectrogramă există doar frecvența și amplitudinea), pentru refacerea căreia se folosește un algoritm de aproximare Griffin-Lim.
Sursa: opennet.ro
