GETMusic: Generazione di Qualsiasi Traccia Musicale con una Rappresentazione Unificata e un Framework di Diffusione
GETMusic: Generating Any Music Tracks with a Unified Representation and Diffusion Framework
May 18, 2023
Autori: Ang Lv, Xu Tan, Peiling Lu, Wei Ye, Shikun Zhang, Jiang Bian, Rui Yan
cs.AI
Abstract
La generazione di musica simbolica mira a creare note musicali, che possono aiutare gli utenti a comporre musica, come generare tracce strumentali target da zero o basandosi su tracce sorgente fornite dall'utente. Considerando la combinazione diversificata e flessibile tra tracce sorgente e target, è di cruciale importanza disporre di un modello unificato in grado di generare tracce arbitrarie. I lavori precedenti non sono riusciti a soddisfare questa esigenza a causa di vincoli intrinseci nelle rappresentazioni musicali e nelle architetture dei modelli. Per affrontare questa necessità, proponiamo una rappresentazione unificata e un framework di diffusione denominato GETMusic (dove "GET" sta per GEnerate music Tracks), che include una nuova rappresentazione musicale chiamata GETScore e un modello di diffusione chiamato GETDiff. GETScore rappresenta le note come token e le organizza in una struttura 2D, con le tracce disposte verticalmente e che progrediscono orizzontalmente nel tempo. Durante l'addestramento, le tracce vengono selezionate casualmente come target o sorgente. Nel processo in avanti, le tracce target vengono corrompute mascherando i loro token, mentre le tracce sorgente rimangono come verità di base. Nel processo di denoising, GETDiff impara a prevedere i token target mascherati, condizionandoli alle tracce sorgente. Con tracce separate in GETScore e il comportamento non autoregressivo del modello, GETMusic può controllare esplicitamente la generazione di qualsiasi traccia target da zero o condizionandola alle tracce sorgente. Abbiamo condotto esperimenti sulla generazione musicale che coinvolgono sei tracce strumentali, risultando in un totale di 665 combinazioni. GETMusic fornisce risultati di alta qualità in diverse combinazioni e supera i lavori precedenti proposti per alcune combinazioni specifiche.
English
Symbolic music generation aims to create musical notes, which can help users
compose music, such as generating target instrumental tracks from scratch, or
based on user-provided source tracks. Considering the diverse and flexible
combination between source and target tracks, a unified model capable of
generating any arbitrary tracks is of crucial necessity. Previous works fail to
address this need due to inherent constraints in music representations and
model architectures. To address this need, we propose a unified representation
and diffusion framework named GETMusic (`GET' stands for GEnerate music
Tracks), which includes a novel music representation named GETScore, and a
diffusion model named GETDiff. GETScore represents notes as tokens and
organizes them in a 2D structure, with tracks stacked vertically and
progressing horizontally over time. During training, tracks are randomly
selected as either the target or source. In the forward process, target tracks
are corrupted by masking their tokens, while source tracks remain as ground
truth. In the denoising process, GETDiff learns to predict the masked target
tokens, conditioning on the source tracks. With separate tracks in GETScore and
the non-autoregressive behavior of the model, GETMusic can explicitly control
the generation of any target tracks from scratch or conditioning on source
tracks. We conduct experiments on music generation involving six instrumental
tracks, resulting in a total of 665 combinations. GETMusic provides
high-quality results across diverse combinations and surpasses prior works
proposed for some specific combinations.