Riffusion, un sistema di machine learning che genera musica

Diffusione

Riffusion è un sistema di apprendimento automatico a diffusione stabile adattato per la sintesi musicale

È stato annunciato il lancio di un nuovo progetto chiamato "Riffusion". Esso sviluppa una variante del sistema di apprendimento automatico Stable Diffusion adattata per generare musica anziché immagini. La musica può essere sintetizzata sulla base di un modello suggerito o di una descrizione testuale in linguaggio naturale.

I componenti di sintesi musicale sono scritti in Python utilizzando il framework PyTorch e sono disponibili con licenza MIT.

Il progetto è interessante perché continua a utilizzare modelli "da testo a immagine" e "da immagine a immagine" per la generazione di musica, ma manipola gli spettrogrammi come se fossero immagini.

In altre parole, la Diffusione Stabile classica non si basa su fotografie e immagini, bensì su spettrogrammi che riflettono la variazione di frequenza e ampiezza dell'onda sonora nel tempo. Di conseguenza, anche in uscita si forma uno spettrogramma, che viene poi convertito in una rappresentazione audio.

Questo è il modello di diffusione stabile v1.5 senza modifiche, appena montato su immagini spettrogramma accoppiate con testo. L'elaborazione audio avviene a valle del modello.

Puoi generare infinite variazioni di un annuncio variando il seme. Tutte le stesse interfacce utente web e tecniche come img2img, inpainting, indicazioni negative e interpolazione funzionano fuori dagli schemi.

spettrogrammi
Uno spettrogramma audio è un modo visivo di rappresentare il contenuto di frequenza di una clip audio. L'asse x rappresenta il tempo e l'asse y rappresenta la frequenza. Il colore di ciascun pixel fornisce l'ampiezza dell'audio alla frequenza e al tempo dati dalla sua riga e colonna.

Si afferma che il metodo può essere utilizzato anche per modificare composizioni sonore esistenti e sintetizzare musica campionata, in modo simile alla modifica delle immagini in Stable Diffusion.

Ad esempio, la generazione può impostare spettrogrammi campione su uno stile di riferimento, combinare stili diversi, passare agevolmente da uno stile all'altro o apportare modifiche a un suono esistente per risolvere problemi come l'aumento del volume dei singoli strumenti, la modifica del ritmo e la sostituzione di strumenti.

L'STFT è invertibile, quindi l'audio originale può essere ricostruito da uno spettrogramma. Tuttavia, le immagini dello spettrogramma del nostro modello contengono solo l'ampiezza delle onde sinusoidali e non le fasi, perché le fasi sono caotiche e difficili da apprendere. Invece, utilizziamo l'algoritmo Griffin-Lim per approssimare la fase durante la ricostruzione della clip audio.

Questi schemi vengono utilizzati anche per generare composizioni di lunga durata, costituite da una serie di passaggi ravvicinati che variano leggermente nel tempo. I frammenti generati separatamente vengono combinati in un flusso continuo mediante l'interpolazione dei parametri interni del modello.

I contenitori di frequenza nel nostro spettrogramma utilizzano la scala Mel, che è una scala percettiva di toni giudicati dagli ascoltatori alla stessa distanza l'uno dall'altro.

Di seguito è riportata un'immagine disegnata a mano interpretata come uno spettrogramma e convertita in audio. Gioca per avere un'idea intuitiva di come funzionano. Nota come puoi sentire i toni delle due curve nella metà inferiore e come le quattro linee verticali nella metà superiore producono ritmi simili al suono di un charleston.

Una trasformata di Fourier (una trasformazione matematica utilizzata per trasformare i segnali tra il dominio del tempo e il dominio della frequenza) viene utilizzata per creare uno spettrogramma dal suono. Quando si ricrea il suono da uno spettrogramma, c'è un problema con la determinazione della fase (nello spettrogramma sono presenti solo la frequenza e l'ampiezza), per la quale viene utilizzato l'algoritmo di approssimazione di Griffin-Lim.

L'interfaccia è implementata in TypeScript ed è distribuita con licenza MIT . I modelli addestrati sono rilasciati con la licenza permissiva Creative ML OpenRAIL-M per uso commerciale.

Se desideri saperne di più, puoi consultare i dettagli al seguente link.


Aggiungi come fonte preferita in Google