A Riffusion projekt a Stable Diffusion gépi tanulási rendszer zenegenerálásra adaptált változatát fejleszti, amely a képek helyett zenét generál. A zene szintetizálható természetes nyelven írt szöveges leírás vagy javasolt minta alapján. A zene szintetizálásához szükséges komponensek Python nyelven íródtak a PyTorch keretrendszer használatával, és MIT licenc alatt érhetők el. A felhasználói felület interfésze TypeScript nyelven van megvalósítva, szintén MIT licenc alatt elérhető. A betanított modellek a Creative ML OpenRAIL-M permisszív licenc alapján nyitottak, amely kereskedelmi célú felhasználást is megenged.
A projekt érdekessége, hogy továbbra is a 'szövegből képre' és 'képből képbe' modelleket használja a zene generálásához, de a képekként spektrumokkal manipulál. Más szóval, a klasszikus Stable Diffusion már nem fényképeken és képeken, hanem a hanghullám frekvenciájának és amplitúdójának időbeli változását tükröző spektrumok képein van betanítva. Így a kimenet is egy spektrum, amelyet ezután hangzásra alakítanak át.

A módszer a meglévő zenei kompozíciók módosítására és a zene szintetizálására is alkalmazható minták alapján, hasonlóan az Stable Diffusion-ban végzett képmódosításhoz. Például a generálás során spektrális minták adhatók meg referencia stílusokkal, különböző stílusok kombinálhatók, sima átmenetek végezhetők egyik stílusból a másikba, vagy a meglévő hangok megváltoztatására is lehetőségek vannak, mint például egyes hangszerek hangerőjének növelése, ritmusmódosítás és hangszerek cseréje. A minták hosszú ideig tartó kompozíciók generálására is használatosak, amelyek közel egy időben lévő részletekből állnak, amelyek időben enyhén változnak. A külön generált részletek a modell belső paraméterei közötti interpolálással egy folyamatos áramlássá egyesülnek.

A hang spektrumának létrehozásához Fourier ablakos transzformációt alkalmaznak. Amikor a hangot a spektrumról újraalkotják, felmerül a fázis meghatározásának problémája (a spektrumon csak a frekvencia és az amplitúdó van), amelynek rekonstrukciójához a Griffin-Lim közelítési algoritmust használják.
Forrás: opennet.ru
