Scrivere canzoni con GPT-4 Parte 3, Melodie

Writing songs with GPT-4 Part 3, Melodies

Come usare il nuovo modello di linguaggio di OpenAI per aiutare a scrivere melodie per nuove canzoni

“una donna in piedi, con le cuffie, guardando uno schermo del computer, mentre canta in un microfono professionale,” Immagine di Midjourney di Author

Questo è il terzo e ultimo articolo della mia serie sull’uso di GPT-4 [1] per comporre musica. Nel mio primo articolo ho trattato la scrittura dei testi delle canzoni, mentre nel secondo articolo mi sono concentrato sulla composizione degli accordi da abbinare ai testi. In questo articolo, dopo una breve introduzione a GPT-4, ti mostrerò come convincere il modello a creare melodie per le canzoni con accordi e testi. Concluderò con una discussione generale e offrirò alcuni suggerimenti per la composizione musicale con l’AI.

Introduzione a GPT-4

GPT-4 è il più recente grande modello di linguaggio di OpenAI. È disponibile nella versione a pagamento del loro servizio ChatGPT, che costa 20 dollari al mese. Il modello rappresenta un miglioramento rispetto alla precedente iterazione, GPT-3.5. Ecco un estratto di ciò che dice OpenAI sul nuovo modello sul loro sito di lancio di GPT4.

GPT-4 è più creativo e collaborativo che mai. Può generare, modificare e iterare con gli utenti su compiti di scrittura creativa e tecnica, come comporre canzoni, scrivere sceneggiature o imparare lo stile di scrittura di un utente. … Abbiamo impiegato 6 mesi per rendere GPT-4 più sicuro e allineato. GPT-4 è 82% meno probabile di rispondere a richieste di contenuti non consentiti e del 40% più probabile di produrre risposte fattuali rispetto a GPT-3.5 nelle nostre valutazioni interne – OpenAI

OK, hanno elencato “comporre canzoni” come uno dei loro esempi di compiti creativi. Hanno anche menzionato il modello come più “allineato”, che è il termine di buzz di OpenAI per indicare che i modelli di AI seguono i valori e l’intento umani. Puoi leggere di più su questo nel loro rapporto tecnico.

Come ho già menzionato nei miei articoli precedenti su GPT-4, OpenAI raccoglie i prompt e le risposte degli utenti per impostazione predefinita e potrebbe utilizzarli per migliorare i modelli futuri. Tuttavia, puoi scegliere di non partecipare a questa raccolta di dati inviando questo modulo.

Creazione di melodie con GPT-4

Attualmente, i grandi modelli di linguaggio operano solo con l’input di testo e l’output di testo. Tuttavia, OpenAI sta lavorando per estendere GPT-4 all’uso di immagini nei prompt. Questo modello non è ancora disponibile al pubblico, ma è disponibile in una versione beta di un’app chiamata Be My Eyes. L’app aiuta le persone non vedenti o con bassa visione con compiti quotidiani analizzando le immagini e leggendo una descrizione testuale della scena.

Per questo articolo, ho esplorato vari modi per far sì che il modello componga melodie utilizzando formati di testo. Ho scoperto che il miglior formato per questo è l’utilizzo della notazione tablatura per chitarra (o tab).

Schede per chitarra

I musicisti utilizzano le schede per chitarra per trascrivere note e accordi per strumenti a corda in forma di testo semplice. Invece delle usuali note musicali su un pentagramma, le schede per chitarra mostrano quale tasto premere nel tempo per le corde di uno strumento. Ad esempio, ecco la prima linea di “Tanti auguri a te” come una scheda per chitarra a sei corde.

Scheda per chitarra della melodia di “Tanti auguri a te” Immagine di Author

Il tempo è sull’asse orizzontale; le corde sono sull’asse verticale dal più basso in basso al più alto in alto. I numeri rappresentano quale tasto suonare in determinati momenti. Un numero più grande corrisponde a una nota più alta. Dopo aver sperimentato questo, ho scoperto che c’erano abbastanza schede per chitarra con i relativi commenti trovati nei dati di formazione basati sul web per consentire ai modelli di linguaggio di comporre in questo formato.

Interagire con GPT-4

Utilizzando la canzone di esempio dai miei primi due articoli, ho chiesto a GPT-4 di comporre una melodia parte per parte. Ecco come è andata la prima interazione.

RobG: Scrivi una melodia per la canzone Cani e Gatti in formato tabulato per chitarra. Suona una nota per ogni sillaba.

[G] Cani e gatti, loro [C] vagano per le strade [Em] Amici pelosi con [D] cuori che battono [G] Artigli e zampe, loro [C] regnano sulla terra [Em] Code che sbattono, [D] loro capiscono

GPT-4: Sono un modello basato su testo di intelligenza artificiale, quindi non posso creare o suonare un suono. Ma posso darti un esempio di come potresti mettere queste accordature in una semplice melodia utilizzando il formato tabulato per chitarra, una nota per ogni sillaba.

Le accordature di base fornite sono G, C, Em e D. Utilizzerò la scala maggiore di G come base della melodia.

Ricorda, nel formato tabulato, le linee rappresentano le corde di una chitarra (dall’ E basso in basso all’ E alto in alto), e i numeri rappresentano quale tasto su quella corda suonare. Ecco un semplice esempio:

e|----------------0------------------|-----------------3------------------|B|---------1---3-----3-1---------1--|-------0---1-3-------3-1------------|G|-------0---0-----------2-0--------|-----0---0---------------2-0--------|D|-----2----------------------2------|---2-------------------------------|A|----------------------------------|-----------------------------------|E|----------------------------------|-----------------------------------|     G          C                   Em             De|----------------0------------------|-----------------3------------------|B|---------1---3-----3-1---------1--|-------0---1-3-------3-1------------|G|-------0---0-----------2-0--------|-----0---0---------------2-0--------|D|-----2----------------------2------|---2-------------------------------|A|----------------------------------|-----------------------------------|E|----------------------------------|-----------------------------------|     G          C                   Em             D

Questo è solo un esempio molto semplice e la melodia potrebbe non catturare completamente lo spirito dei tuoi testi, ma spero che ti aiuti come punto di partenza. Potresti voler regolare il ritmo e la melodia per adattarsi meglio alla tua canzone.

Questo è interessante. È una frase musicale a due parti che viene ripetuta due volte. Ma osservando più da vicino, si può vedere che ci sono troppe sillabe nelle frasi; ci sono dodici + undici quando dovrebbero essere sette + sette. Inoltre, le linee verticali non sono allineate. Ho ripetuto il processo per il secondo verso e ho ripulito un po’ le frasi in un editor di testo per farlo apparire così.

e|-------------0-----|-------------------|B|-------1---3---3---|-------0---1-3-----|G|-----0---0---------|-----0---0-----0---|D|---2---------------|---2---------------|A|-------------------|-------------------|E|-------------------|-------------------|     G       C             Em      De|-------------------|-------------------|B|-------0-3-1-0-----|-------0---3-1-----|G|-----1---------2---|-----0---0-----2---|D|---2---------------|---2---------------|A|-------------------|-------------------|E|-------------------|-------------------|     Am      C           G       D

Ho scritto del codice Python qui per convertire i tabulati per chitarra in file MIDI, così potevo riprodurli per sentire come suonassero. Il codice si basa su un progetto simile di Brian Caffey [2]. Ecco la partitura completa.

La partitura per Cani e Gatti, Immagine dell'autore

Ecco come suona la canzone. Ho usato Band-in-a-Box di PG Music per arrangiare la canzone con pianoforte, chitarra, basso e batteria. Sentiti libero di cantare insieme. 😀

Cani e Gatti, Canzone dell’autore

È semplice ma orecchiabile, un po’ come una canzone per bambini. La prima nota è un po’ strana in quanto è un E, che farebbe diventare l’accordo di G effettivamente un G6. E questo accade con ogni istanza dell’accordo di G. Penso che la cosa migliore della melodia sia la variazione la terza volta attraverso Am e G. Prossimamente, ti mostrerò come ho creato melodie per una canzone ska.

“copertina di un album per una band ska, bianco e nero,” Immagine Midjourney, Modificata dall'Autore

Creazione di una Melodia Vocale per una Canzone Completa

Per testare ulteriormente questo metodo, ho creato delle melodie principali per la canzone “Dance with the Fear,” sviluppata nei primi due articoli di questa serie. I testi e gli accordi si basano sulla canzone “Grow” della band ska The Agents, che ho utilizzato con il loro permesso. Sono riuscito a far creare a GPT-4 una melodia per la nuova canzone, una sezione alla volta.

Creazione del Ritornello

Come nel metodo utilizzato sopra, ho chiesto a GPT-4 di creare una melodia per il ritornello e gli ho fornito gli accordi e i testi. Ho premuto il pulsante rigenera diverse volte ed ho esaminato i risultati prima di scegliere questo.

RobG: Scrivi una tablatura per chitarra per la melodia del ritornello di questa canzone ska, suonando solo una nota alla volta.

[Em] Svegliarsi in un [G]nuovo giorno, [D]Sentire la paura ma [A]non girarsi dall’altra parte, [Em]Affrontare l’ignoto, [G]lì dove cominciamo, [D]Con la mente aperta e [A]un cuore coraggioso.

GPT-4: Ecco una semplice tablatura per la melodia del ritornello, suonando una nota alla volta.

e|-----------------|-----------------|-----------------|-----------------|B|-----7-8-------8-|-8-8-7-7---------|-5-5-7-7-------8-|-8-8-7-7-5--5-5--|G|---7-------7-7---|---------7--7-7--|-----------7-7---|-----------------|D|-5---------------|-----------------|-----------------|-----------------|A|-----------------|-----------------|-----------------|-----------------|E|-----------------|-----------------|-----------------|-----------------|e|-----------------|-----------------|-----------------|-----------------|B|-----7-8-------8-|-8-8-7-7---------|-5-5-7-7-------8-|-8-8-7-7-5--5-5--|G|---7-------7-7---|---------7--7-7--|-----------7-7---|-----------------|D|-5---------------|-----------------|-----------------|-----------------|A|-----------------|-----------------|-----------------|-----------------|E|-----------------|-----------------|-----------------|-----------------|

Si prega di notare che questa tablatura è una versione semplificata della melodia e che è possibile modificarla e abbellirla ulteriormente come si desidera per la propria esecuzione o arrangiamento.

Ecco come suona la melodia.

Dance with the Fear, Ritornello, Musica dell’Autore

In generale, è abbastanza buona. Ha stabilito un tema per la prima frase e ha una bella risoluzione per la seconda frase. Ma ancora una volta, ha creato troppi note per i testi.

Creazione del Pre-Ritornello

Un pre-ritornello è una melodia che porta al ritornello di una canzone. Si noti che l’interfaccia utente di ChatGPT includeva il contesto delle interazioni precedenti nella sessione, quindi ho potuto essere un po’ più breve nella mia richiesta di generare la melodia per il pre-ritornello.

Scrivi una melodia per il pre-ritornello.

[Am] Non nasconderti più, [C] non avere più dubbi, [G] è il momento di far uscire il [D] nostro coraggio.

GPT-4 Certamente, posso fornire una semplice melodia per il pre-ritornello utilizzando la progressione degli accordi fornita. Ecco la tablatura:

e|------0-0-0-0----|-0---------------|-----------------|-0---------------|B|----1----------|----3-1-1-1-1---|----1-3-3-1-3-3-|-------3-3-1-3-3-|G|--0--------------|---------------|----------------|----------------|D|-----------------|----------------|----------------|----------------|A|-----------------|----------------|----------------|----------------|E|-----------------|----------------|----------------|----------------|

Questa melodia utilizza le scale di La minore, Do maggiore, Sol maggiore e Re maggiore rispettivamente. Come sempre, sentiti libero di modificare ciò che ritieni opportuno per la tua performance.

Sono sicuro che intendesse la parola “accordi” invece di “scale” nella sua risposta poiché la melodia che ha generato è in Sol maggiore. Solo per essere sicuro, ho chiesto una chiarificazione.

RobG: Hai inteso usare la parola “scale”?

GPT-4: Mi scuso per qualsiasi confusione. Volevo dire che le note della melodia si basano sugli accordi rispettivi, non sulle scale.

OK, questo ha chiarito le cose. Per quanto riguarda la melodia, ho avuto la sensazione che le molte note che ha scritto potessero essere interpretate come note tenute. In altre parole, una sequenza di quattro note di ottava potrebbe essere suonata come una mezza nota. Questo riflette una limitazione del formato delle tablature per chitarra in quanto le lunghezze delle note non sono espresse. Visto attraverso questa lente, la melodia è buona. Ecco la melodia per il pre-ritornello, come scritta originariamente e dopo aver convertito alcune delle note ripetute in singole con durate più lunghe.

Dance with the Fear, Pre-Ritornello, Canzone dell’autore

OK, la seconda versione suona meglio con le note tenute. Ecco di nuovo i testi e gli accordi per riferimento.

[Am] Non nasconderti più, [C] non dubitare più, [G] è ora di far uscire il nostro [D] coraggio.

Tutte e quattro le parti

Ho ripetuto il processo per il ritornello e il ponte e ho assemblato le parti in un’unica partitura con gli accordi suonati al pianoforte. Ecco le quattro parti della canzone.

Dance with the Fear, Tutte le Parti, Canzone dell’autore

Per questa versione della canzone, ho eliminato tutte le note ripetute per farle corrispondere al ritmo e alla metrica dei testi. Nel complesso, la qualità delle melodie è buona. Non c’erano note stonate e le frasi si armonizzavano con gli accordi sottostanti.

Il prossimo passo è ascoltare la canzone con un cantante umano.

Kate Li canta Dance with the Fear, Immagine dell'autore

Sono molto grato alla mia amica e collega, Kate Li, che ha cantato la melodia per questo articolo. Ha trasposto la canzone di sei semitoni per passare da Sol a D bemolle per adattarsi alla sua estensione vocale. Ho usato Band-in-a-box per completare l’orchestrazione con pianoforte, chitarra, fiati, basso e batteria. Ecco la canzone finita.

Dance with the Fear, Canzone dell’autore

Kate ha fatto un ottimo lavoro cantando la traccia vocale principale e aggiungendo armonie per i ritornelli. Ha dato molto impatto emotivo al ponte con la melodia crescente e ha fornito alcune belle adlibs per l’outro. Per favore, fatemi sapere cosa ne pensate della canzone qui o su SoundCloud.

Discussione

Ci è voluto un po’ di lavoro, ma sono riuscito a far generare a GPT-4 melodie per nuove canzoni. Il formato delle tablature per chitarra è difficile da gestire, ma è attualmente il modo migliore per procedere. Quando OpenAI rilascerà la sua versione di GPT-4 con visione, spero che abbia visto pagine di spartiti per aiutare nella composizione di melodie.

Confrontando i tre compiti di composizione musicale che ho definito in questa serie, l’analisi e la generazione di accordi nel secondo articolo hanno funzionato meglio. Anche se imperfetto, il modello di linguaggio ha una conoscenza profonda della teoria musicale e può facilmente creare progressioni di accordi nuove e innovative.

Analizzare e creare testi per le canzoni, discussi nel primo articolo, è stato facile da fare con GPT-4, ma i testi generati erano spesso semplici e cliché. Anche se il sistema sa fare le rime, ci vuole un po’ di lavoro per indirizzare il sistema a creare testi unici, emozionanti e significativi.

Codice sorgente

Il codice sorgente per questo progetto è disponibile su GitHub.

Attribuzione-Condividi allo stesso modo Creative Commons

Ringraziamenti

Voglio ringraziare Kate Li per aver cantato la canzone per questo articolo. Ringrazio anche Pete Fayan degli Agents per il suo impegno in questo progetto. Infine, ringrazio Jennifer Lim per aver esaminato l’articolo e fornito un feedback.

Ulteriori informazioni sulla scrittura di canzoni con GPT-4

Ecco i primi due articoli di questa serie.

Scrivere canzoni con GPT-4: parte 1, testi

Come usare l’ultimo modello di linguaggio di OpenAI per aiutare a scrivere i testi delle canzoni originali

towardsdatascience.com

Scrivere canzoni con GPT-4: parte 2, accordi

Come usare l’ultimo grande modello di linguaggio di OpenAI per aiutare a comporre gli accordi delle canzoni originali

towardsdatascience.com

Riferimenti

[1] OpenAI, Rapporto tecnico di GPT-4 (2023)

[2] B. Caffey, Generazione di file MIDI da tablature per chitarra con Python ed espressioni regolari (2018)

Per ottenere accesso illimitato a tutti gli articoli su Nisoo, diventa membro per $5/mese. I non membri possono leggere solo tre storie bloccate ogni mese.