Riffusion er et stabilt diffusjonsmaskinlæringssystem tilpasset for musikalsk syntese
Lanseringen av et nytt prosjekt kalt «Riffusion» ble annonsert. Det utvikler en variant av maskinlæringssystemet Stable Diffusion, som er tilpasset for å generere musikk i stedet for bilder. Musikken kan syntetiseres basert på en foreslått mal eller en tekstbeskrivelse i naturlig språk.
Musikksyntesekomponentene er skrevet i Python ved hjelp av PyTorch-rammeverket og er tilgjengelig under MIT-lisensen.
Prosjektet er interessant fordi det fortsetter å bruke «tekst-til-bilde»- og «bilde-til-bilde»-modeller for musikkgenerering, men manipulerer spektrogrammer som om de var bilder.
Med andre ord er klassisk stabil diffusjon ikke basert på fotografier og bilder, men på spektrogrambilder som reflekterer endringen i frekvens og amplitude av lydbølgen over tid. Følgelig dannes det også et spektrogram ved utgangen, som deretter konverteres til en lydrepresentasjon.
Dette er den v1.5 stabile diffusjonsmodellen uten modifikasjoner, bare montert på tekstparede spektrogrambilder. Lydbehandling skjer nedstrøms for modellen.
Du kan generere uendelige variasjoner av en annonse ved å variere frøet. Alle de samme nettbrukergrensesnittene og teknikkene som img2img, inpainting, negative indikasjoner og interpolering fungerer ut av boksen.
spektrogrammer
Et lydspektrogram er en visuell måte å representere frekvensinnholdet i et lydklipp. X-aksen representerer tid og y-aksen representerer frekvens. Fargen på hver piksel gir amplituden til lyden ved frekvensen og tiden gitt av raden og kolonnen.
Det nevnes at metoden også kan brukes til å modifisere eksisterende lydkomposisjoner og syntetisere samplemusikk, på samme måte som bildemodifisering i Stable Diffusion.
For eksempel kan generasjonen sette prøvespektrogrammer til en referansestil, kombinere forskjellige stiler, jevn overgang fra en stil til en annen, eller gjøre endringer i en eksisterende lyd for å løse problemer som å øke volumet til individuelle instrumenter, endre rytmen og bytte ut av instrumenter.
STFT-en er inverterbar, slik at den originale lyden kan rekonstrueres fra et spektrogram. Spektrogrambildene til modellen vår inneholder imidlertid kun amplituden til sinusbølgene og ikke fasene, fordi fasene er kaotiske og vanskelige å lære. I stedet bruker vi Griffin-Lim-algoritmen for å tilnærme fasen når vi rekonstruerer lydklippet.
Mønstrene brukes også til å generere komposisjoner med lang varighet, bestående av en serie tett inntil hverandre liggende passasjer som varierer litt over tid. De separat genererte fragmentene kombineres til en kontinuerlig flyt ved å interpolere modellens interne parametere.
Frekvensboksene i spektrogrammet vårt bruker Mel-skalaen, som er en perseptuell skala av tonehøyder som av lyttere bedømmes til å være i samme avstand fra hverandre.
Nedenfor er et håndtegnet bilde tolket som et spektrogram og konvertert til lyd. Spill gjennom for å få en intuitiv følelse av hvordan de fungerer. Legg merke til hvordan du kan høre tonene til de to kurvene i nedre halvdel, og hvordan de fire vertikale linjene i øvre halvdel produserer rytmer som ligner på en hi-hat-lyd.
En Fourier-transformasjon (en matematisk transformasjon som brukes til å transformere signaler mellom tidsdomenet og frekvensdomenet) brukes til å lage et spektrogram fra lyd. Når du gjenskaper lyd fra et spektrogram, er det et problem med fasebestemmelse (bare frekvens og amplitude er til stede i spektrogrammet), for hvilken rekonstruksjon brukes Griffin-Lim tilnærmingsalgoritmen.
Grensesnittet er implementert i TypeScript og distribueres også under MIT-lisensen . De trente modellene er utgitt under den tillatte Creative ML OpenRAIL-M-lisensen for kommersiell bruk.
Hvis du vil vite mer om det, kan du sjekke detaljene på følgende lenke.