Composer: Un Nuovo Modo per Creare Musica dalle Parole
Il compositore usa dei prompt testuali per creare composizioni musicali complesse in formato MIDI.
Jakub Poćwiardowski, Mateusz Modrzejewski, Marek S. Tatara
― 6 leggere min
Indice
- Come Funziona il Sistema
- Sfide nella Generazione Musicale
- Il Ruolo di Composer
- Generare Struttura Musicale
- Creazione di Tracce Melodiche
- Valutazione della Qualità Musicale
- Generazione di Tracce di Percussione
- Progressioni di Accordi
- Valutazione della Musica Generata
- Conclusione
- Fonte originale
- Link di riferimento
Questo articolo parla di un nuovo sistema chiamato Composer che può creare composizioni musicali usando descrizioni testuali. Il sistema è in grado di generare canzoni di diversi minuti con vari elementi e strutture musicali, tutto in un formato digitale noto come MIDI.
Come Funziona il Sistema
Composer funziona prendendo input in linguaggio naturale e trasformandoli in musica. Usa un tipo di modello chiamato modello di trasformatore autoregressivo. Questo modello aiuta a convertire gli input degli utenti in una serie di parametri per la musica, scritti in un formato chiamato JSON. Questi parametri includono la firma di tempo della canzone, le scale utilizzate, le progressioni di accordi e valori che rappresentano emozioni. Da questi input, si creano diverse tracce musicali come melodia, basso e percussioni.
Una delle caratteristiche principali di questo sistema è l'uso di algoritmi genetici per generare melodie. Questi algoritmi imitano la selezione naturale, permettendo agli elementi musicali di evolversi attraverso cambiamenti casuali e processi di selezione che favoriscono i risultati più piacevoli. Questo metodo aumenta la creatività della musica generata.
Sfide nella Generazione Musicale
Molti recenti progressi nella generazione musicale si sono concentrati sulla produzione audio direttamente invece che sulla musica simbolica. Sebbene alcuni sistemi possano generare musica audio, ce ne sono meno che possono creare efficacemente musica simbolica dalle descrizioni testuali. I dati musicali simbolici sono più difficili da descrivere usando il linguaggio quotidiano, rendendo difficile per i sistemi progettati per interpretare il linguaggio naturale.
La maggior parte dei sistemi di generazione musicale AI esistenti si basa fortemente su reti neurali. Questi sistemi spesso hanno bisogno di grandi set di dati da cui apprendere, il che può portarli a produrre musica basata su schemi comuni, come progressioni di accordi popolari o firme di tempo standard. Di conseguenza, la musica generata potrebbe mancare di unicità o creatività.
Il Ruolo di Composer
Il sistema Composer punta a superare queste sfide permettendo agli utenti di modificare e personalizzare la musica generata attraverso ulteriori input. In questo modo, gli utenti possono creare composizioni più su misura senza essere limitati dalle strutture dominanti comunemente trovate in altri sistemi.
Il sistema Composer è strutturato in un modo che consente di testare o sviluppare parti diverse separatamente mentre lavorano comunque insieme. I seguenti passaggi delineano il suo funzionamento:
- Il sistema prevede la struttura e i parametri della composizione basandosi sugli input testuali.
- Le tracce melodiche e di percussioni vengono create secondo la struttura fornita.
- Infine, le tracce generate vengono combinate in un file MIDI.
Generare Struttura Musicale
Per creare la struttura musicale, il sistema Composer utilizza un modello linguistico per interpretare l'input dell'utente. Al modello vengono date istruzioni specifiche per fornire i dettagli nel formato JSON. Questo formato include informazioni come il nome della canzone, sezioni, firme di tempo, tipi di tracce, progressioni di accordi e segnali emotivi.
Il sistema è progettato per essere flessibile, permettendo agli utenti di richiedere cambiamenti e aggiustamenti alla musica basati su vari criteri, come l'umore o lo stile.
Creazione di Tracce Melodiche
Le tracce melodiche nel sistema Composer vengono generate utilizzando algoritmi genetici. Questi algoritmi creano tre tipi di tracce:
- Tracce Non Limitate: Queste possono suonare una gamma di note e sono più flessibili.
- Tracce a Bassa Frequenza: Queste tendono a essere più semplici e ripetitive.
- Tracce ad Alta Frequenza: Queste aggiungono texture e spesso ripetono frasi.
Le note musicali sono codificate in modo da permettere diverse durate, essenziali per creare sistemi a più tracce. L'Algoritmo Genetico include diverse operazioni, come inizializzazione casuale, tecniche di crossover e mutazioni musicalmente significative. Queste mutazioni introducono elementi musicali interessanti invece di cambiamenti casuali.
Valutazione della Qualità Musicale
Per assicurarsi che le melodie siano piacevoli, il sistema include una funzione di fitness. Questa funzione valuta quanto bene la musica generata corrisponde a specifiche qualità desiderate, come altezza tonale, ritmo e musicalità complessiva. Il sistema considera anche l'armonia tra le diverse tracce, assicurandosi che suonino bene insieme.
Il sistema Composer consente vari modi di generare melodie, il che può portare a stili e caratteristiche diverse nella musica, soddisfacendo le preferenze dell'utente.
Generazione di Tracce di Percussione
Per gli elementi di percussione, il sistema usa un approccio diverso. Invece di fare affidamento su modelli di deep learning, incorpora regole e metodi basati sulla probabilità, incluse le Catene di Markov. Questo assicura che anche quando si lavora con firme di tempo meno comuni, il sistema possa comunque creare schemi di batteria interessanti e coerenti.
Gli schemi di batteria sono rappresentati in un formato binario, rendendo facile specificare quali strumenti a percussione vengono suonati in un dato momento. Schemi specifici per cassa e rullante vengono costruiti basandosi su pratiche comuni nella musica. Se viene incontrata una firma di tempo insolita, il sistema la scompone in parti più semplici che può gestire.
Progressioni di Accordi
Le progressioni di accordi formano il backbone di un pezzo musicale e in Composer sono definite dal sistema sulla base degli input degli utenti. Il sistema offre diversi metodi su come possono essere suonati gli accordi. Ad esempio, le note possono essere mantenute per tutta la misura, suonate insieme con lunghezze variabili o sequenziate in ordine ascendente o discendente.
I valori emotivi forniti dall'utente influenzano la struttura degli accordi e l'impostazione, migliorando l'espressività della musica.
Valutazione della Musica Generata
Per testare l'efficacia del sistema Composer, vengono condotti test di ascolto con partecipanti, alcuni dei quali hanno conoscenze musicali. Questi test valutano varie qualità della musica generata, come diversità, impatto emotivo e piacere complessivo.
Inoltre, la musica generata da Composer viene confrontata con composizioni di un ampio dataset MIDI, verificando quanto bene corrispondono alle descrizioni fornite.
Conclusione
Il sistema Composer rappresenta un passo significativo in avanti nella generazione musicale offrendo un nuovo modo di creare pezzi musicali ricchi e complessi da input testuali. Combinando algoritmi genetici con metodi probabilistici, consente un output più diversificato e creativo evitando le limitazioni di una dipendenza esclusiva da grandi dataset.
Con i progressi nella generazione musicale AI che continuano, l'attenzione su tecniche basate sull'ottimizzazione, come quelle utilizzate in Composer, potrebbe portare a composizioni più innovative che superano i confini di ciò che è attualmente possibile nella creazione musicale.
Titolo: $\text{M}^\text{6}(\text{GPT})^\text{3}$: Generating Multitrack Modifiable Multi-Minute MIDI Music from Text using Genetic algorithms, Probabilistic methods and GPT Models in any Progression and Time signature
Estratto: This work introduces the $\text{M}^\text{6}(\text{GPT})^\text{3}$ composer system, capable of generating complete, multi-minute musical compositions with complex structures in any time signature, in the MIDI domain from input descriptions in natural language. The system utilizes an autoregressive transformer language model to map natural language prompts to composition parameters in JSON format. The defined structure includes time signature, scales, chord progressions, and valence-arousal values, from which accompaniment, melody, bass, motif, and percussion tracks are created. We propose a genetic algorithm for the generation of melodic elements. The algorithm incorporates mutations with musical significance and a fitness function based on normal distribution and predefined musical feature values. The values adaptively evolve, influenced by emotional parameters and distinct playing styles. The system for generating percussion in any time signature utilises probabilistic methods, including Markov chains. Through both human and objective evaluations, we demonstrate that our music generation approach outperforms baselines on specific, musically meaningful metrics, offering a viable alternative to purely neural network-based systems.
Autori: Jakub Poćwiardowski, Mateusz Modrzejewski, Marek S. Tatara
Ultimo aggiornamento: 2024-11-29 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2409.12638
Fonte PDF: https://arxiv.org/pdf/2409.12638
Licenza: https://creativecommons.org/licenses/by-nc-sa/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.