So verwenden Sie das neueste Sprachmodell von OpenAI, um beim Schreiben von Melodien für neue Songs zu helfen
Dies ist der dritte und letzte Artikel meiner Serie zur Verwendung von GPT-4 [1] Musik zu komponieren. Mein erster Artikel umfasste das Schreiben von Texten für Lieder und meine zweiter Artikel beschäftigte sich intensiv mit dem Komponieren von Akkorden, die zu Texten passen. In diesem Artikel zeige ich Ihnen nach einer kurzen Einführung in GPT-4, wie Sie das Modell dazu bringen, Melodien für Songs mit Akkorden und Texten zu erstellen. Ich werde mit einer allgemeinen Diskussion abschließen und einige nächste Schritte zum Komponieren von Musik mit KI anbieten.
GPT-4 ist das neueste große Sprachmodell von OpenAI. Es ist in der kostenpflichtigen Model ihres ChatGPT-Dienstes verfügbar, die 20 US-Greenback professional Monat kostet. Das Modell ist eine Verbesserung gegenüber der vorherigen Iteration, GPT-3.5. Hier ist ein Auszug dessen, was OpenAI über das neue Modell sagt GPT4-Landeplatz.
GPT-4 ist kreativer und kollaborativer als je zuvor. Es kann kreative und technische Schreibaufgaben wie das Komponieren von Liedern, das Schreiben von Drehbüchern oder das Erlernen des Schreibstils eines Benutzers generieren, bearbeiten und mit Benutzern iterieren. … Wir haben 6 Monate damit verbracht, GPT-4 sicherer und besser abgestimmt zu machen. Bei GPT-4 ist die Wahrscheinlichkeit, auf Anfragen nach unzulässigen Inhalten zu reagieren, um 82 % geringer und die Wahrscheinlichkeit, dass es sachliche Antworten liefert, ist bei GPT-3.5 bei unseren internen Bewertungen – OpenAI – um 40 % höher
OK, sie haben „Songs komponieren“ als eines ihrer Beispiele für kreative Aufgaben aufgeführt. Sie erwähnten auch, dass das Modell stärker „ausgerichtet“ sei, was das Schlagwort von OpenAI dafür ist, dass KI-Modelle menschlichen Werten und Absichten folgen. Mehr dazu können Sie in ihrem lesen technischer Bericht.
Wie ich in meinen früheren Artikeln zu GPT-4 erwähnt habe, sammelt OpenAI standardmäßig die Eingabeaufforderungen und Antworten der Benutzer und kann sie zur Verbesserung zukünftiger Modelle verwenden. Sie können dieser Datenerhebung jedoch durch Absenden dieses Formulars widersprechen. Hier.
Derzeit befassen sich große Sprachmodelle nur mit dem Ein- und Ausgeben von Textual content. OpenAI arbeitet jedoch daran, GPT-4 zu erweitern, um Bilder in Eingabeaufforderungen zu verwenden. Dieses Modell ist noch nicht für die Öffentlichkeit verfügbar, aber es ist in einer Beta-Model einer App namens verfügbar Sei meine Augen. Die App hilft blinden oder sehbehinderten Menschen bei alltäglichen Aufgaben, indem sie Bilder analysiert und eine Textbeschreibung der Szene vorliest.
Für diesen Artikel habe ich verschiedene Möglichkeiten untersucht, das Modell dazu zu bringen, Melodien mithilfe von Textformaten zu komponieren. Ich habe festgestellt, dass das beste Format hierfür die Verwendung der Gitarrentabulatur (oder Tabulatur)-Notation ist.
Gitarren-Tabs
Musiker verwenden Gitarrentabulaturen, um Noten und Akkorde für Saiteninstrumente als Klartext zu transkribieren. Anstelle der üblichen Noten auf einer Notenzeile zeigen Gitarrentabulaturen, welche Bünde im Laufe der Zeit für die Saiten eines Devices verwendet werden. Hier ist zum Beispiel die erste Zeile von „Pleased Birthday to You“ als Tabulatur für eine sechssaitige Gitarre.
Die Zeit ist auf der horizontalen Achse; Die Saiten verlaufen auf der vertikalen Achse vom niedrigsten Punkt unten bis zum höchsten Punkt oben. Die Zahlen geben an, welcher Bund zu einem bestimmten Zeitpunkt gespielt werden soll. Eine größere Zahl entspricht einer höheren Be aware. Nachdem ich damit experimentiert hatte, stellte ich fest, dass in den webbasierten Trainingsdaten genügend Gitarrentabulaturen mit den entsprechenden Kommentaren vorhanden waren, um Sprachmodellen das Komponieren in diesem Format zu ermöglichen.
Interaktion mit GPT-4
Anhand des Beispielsongs aus meinen ersten beiden Artikeln habe ich GPT-4 gebeten, jeweils eine Melodie zu komponieren. So verlief die erste Interaktion.
RobG: Schreiben Sie eine Melodie für das Lied „Canines and Cats“ im Gitarrentabulaturformat. Spielen Sie für jede Silbe eine Be aware.
[G] Hunde und Katzen, sie [C] durch die Straßen streifen
[Em] Pelzige Freunde mit [D] Herzen, die schlagen
[G] Krallen und Pfoten, sie [C] regiere das Land
[Em] Schwänze wedeln, [D] Sie verstehenGPT-4:
Ich bin ein textbasiertes KI-Modell, daher kann ich keinen Sound erstellen oder abspielen. Aber ich kann Ihnen ein Beispiel geben, wie Sie diese Akkorde im Gitarrentabulaturformat zu einer einfachen Melodie zusammenfügen könnten, jede Be aware für jede Silbe.Die bereitgestellten Grundakkorde sind G, C, Em und D. Ich verwende die G-Dur-Tonleiter als Melodiebasis.
Denken Sie daran, dass im Tabulatorformat die Linien die Saiten einer Gitarre darstellen (vom tiefen E unten bis zum hohen E oben) und die Zahlen angeben, welcher Bund auf dieser Saite gespielt werden soll. Hier ist ein einfaches Beispiel:
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
Dies ist nur ein sehr einfaches Beispiel und die Melodie spiegelt möglicherweise nicht ganz den Geist Ihres Textes wider, aber ich hoffe, dass sie als Ausgangspunkt hilfreich ist. Möglicherweise möchten Sie den Rhythmus und die Melodie besser an Ihren Track anpassen.
Das ist interessant. Es handelt sich um eine zweiteilige musikalische Phrase, die zweimal wiederholt wird. Doch bei genauerem Hinsehen erkennt man, dass die Phrasen zu viele Silben enthalten; es hat zwölf+elf, obwohl es sieben+sieben sein sollte. Außerdem stimmen die vertikalen Linien nicht überein. Ich habe den Vorgang für den zweiten Vers wiederholt und die Phrasen in einem Texteditor ein wenig bereinigt, damit sie so aussehen.
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
Ich habe etwas Python-Code geschrieben Hier um Gitarrentabulaturen in MIDI-Dateien zu konvertieren, damit ich sie abspielen und hören kann, wie sie klingen. Der Code basiert auf einem ähnlichen Projekt von Brian Caffey [2]. Hier ist die komplette Partitur.
Und so klingt das Lied. ich benutzte Band-in-a-Box von PG Music, um das Lied mit Klavier, Gitarre, Bass und Schlagzeug zu arrangieren. Gerne können Sie mitsingen. 😀
Es ist einfach, aber eingängig, ein bisschen wie ein Kinderlied. Die erste Be aware ist insofern etwas seltsam, als es sich um ein E handelt, was den G-Akkord praktisch zu einem G6 machen würde. Und das passiert auch bei jedem Vorkommen des G-Akkords. Ich denke, das Beste an der Melodie ist die Variation beim dritten Mal mit Am und G. Als nächstes zeige ich Ihnen, wie ich Melodien für einen Ska-Track erstellt habe.
Um diese Methode weiter zu testen, habe ich Leadmelodien für das Lied „Dance with the Concern“ erstellt, das in den ersten beiden Artikeln dieser Serie entwickelt wurde. Der Textual content und die Akkorde basieren auf dem Lied „Wachsen“ von der Ska-Band Die Agenten, die ich mit ihrer Erlaubnis verwendet habe. Ich habe es geschafft, GPT-4 dazu zu bringen, Abschnitt für Abschnitt eine Melodie für den neuen Track zu erstellen.
Den Vers erschaffen
Wie bei der Methode, die ich oben verwendet habe, habe ich GPT-4 gebeten, eine Melodie für den Vers zu erstellen und ihn mit den Akkorden und Texten zu versehen. Ich habe mehrmals auf die Schaltfläche „Neu generieren“ geklickt und die Ergebnisse überprüft, bevor ich mich für dieses entschieden habe.
RobG: Schreiben Sie eine Gitarrentabulatur für die Melodie des Verses dieses Ska-Songs und spielen Sie jeweils nur eine Be aware.
[Em] Aufwachen zu einem [G] brandneuer Tag,
[D] Ich spüre die Angst, aber [A] nicht abwenden,
[Em] Angesichts des Unbekannten, [G] da fangen wir an,
[D] Mit einem offenen Geist und [A] ein furchtloses Herz.GPT-4:
Hier ist eine einfache Gitarrentabulatur für die Melodie des Verses, wobei jeweils eine Be aware nach der anderen gespielt wird
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|-----------------|-----------------|-----------------|-----------------|
Bitte beachten Sie, dass es sich bei dieser Registerkarte um eine vereinfachte Model der Melodie handelt und Sie sie nach Belieben für Ihre Darbietung oder Ihr Association weiter modifizieren und verschönern können.
So klingt die Melodie.
Im Allgemeinen ist es ziemlich intestine. Es hat ein Thema für den ersten Satz festgelegt und eine schöne Auflösung für den zweiten Satz. Aber es entstanden wieder einmal zu viele Noten für den Textual content.
Erstellen des Vorchors
Ein Pre-Refrain ist eine Melodie, die in den Chorus eines Liedes übergeht. Beachten Sie, dass die ChatGPT-Benutzeroberfläche den Kontext früherer Interaktionen in der Sitzung enthielt, daher könnte ich mich in meiner Aufforderung zum Generieren der Melodie für den Vorchor etwas kürzer fassen.
Schreiben Sie eine Melodie für den Vorchor.
[Am] Kein Verstecken mehr, [C] keine Zweifel mehr,
[G] Es ist Zeit, unsere zu lassen [D] Mut raus.GPT-4
Natürlich kann ich mithilfe der bereitgestellten Akkordfolge eine einfache Melodie für den Vorchor bereitstellen. Hier ist die Registerkarte:
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|-----------------|----------------|----------------|----------------|
Diese Melodie verwendet die Tonleitern A-Moll, C-Dur, G-Dur und D-Dur. Wie immer können Sie dies jederzeit ändern, wenn Sie es für Ihre Leistung für angemessen halten.
Ich bin mir sicher, dass in der Antwort das Wort „Akkorde“ statt „Tonleitern“ gemeint battle, da die Melodie, die es erzeugte, in G-Dur steht. Um sicherzugehen, habe ich um Klarstellung gebeten.
RobG: Wollten Sie das Wort „Waage“ verwenden?
GPT-4: Ich entschuldige mich für etwaige Verwirrung. Ich wollte damit sagen, dass die Melodienoten auf den jeweiligen Akkorden basieren, nicht auf Skalen.
OK, das hat die Sache geklärt. Was die Melodie betrifft, hatte ich das Gefühl, dass die vielen Noten, die sie schrieb, als gehaltene Noten interpretiert werden könnten. Mit anderen Worten: Eine Folge von vier Achtelnoten könnte als halbe Be aware gespielt werden. Dies spiegelt eine Einschränkung des Gitarrentabulaturformats wider, da die Notenlängen nicht ausgedrückt werden. Durch diese Linse betrachtet ist die Melodie intestine. Hier ist die Melodie für den Vorchor, wie sie ursprünglich geschrieben wurde und nachdem ich einige der wiederholten Noten in einzelne Noten mit längerer Dauer umgewandelt habe.
OK, der zweite Take klingt mit den gehaltenen Noten besser. Hier sind noch einmal die Texte und Akkorde als Referenz.
[Am] Kein Verstecken mehr, [C] keine Zweifel mehr,
[G] Es ist Zeit, unsere zu lassen [D] Mut raus.
Alle vier Teile
Ich wiederholte den Vorgang für den Chorus und den Steg und fügte die Teile zu einer einzigen Partitur zusammen, wobei die Akkorde auf einem Klavier gespielt wurden. Hier sind die vier Teile des Liedes.
Für diese Model des Liedes habe ich alle wiederholten Noten bereinigt, damit sie zum Rhythmus und Metrum des Textes passen. Insgesamt ist die Qualität der Melodien intestine. Es gab keine sauren Noten und die Phrasen harmonierten mit den zugrunde liegenden Akkorden.
Als nächstes können Sie das Lied mit einem echten menschlichen Sänger hören.
Ich bin meiner Freundin und Kollegin Kate Li sehr dankbar, die die Melodie für diesen Artikel gesungen hat. Sie transponierte das Lied sechs Halbtonschritte nach oben, um von G nach Des zu gelangen, um ihrem Stimmumfang gerecht zu werden. Ich habe Band-in-a-box verwendet, um die Instrumentierung mit Klavier, Gitarre, Hörnern, Bass und Schlagzeug zu ergänzen. Hier ist das fertige Lied.
Kate hat den Hauptgesang großartig gesungen und Harmonien für die Refrains hinzugefügt. Sie brachte mit der steigenden Melodie viel emotionale Schlagkraft auf den Steg und sorgte für einige schöne Adlibs für das Outro. Bitte teilen Sie mir hier oder hier Ihre Meinung zu dem Lied mit SoundCloud.
Es hat ein wenig Arbeit gekostet, aber ich habe GPT-4 bekommen, um Melodien für neue Songs zu generieren. Es ist schwierig, mit dem Gitarrentabulaturformat zu arbeiten, aber es ist derzeit der beste Weg. Wenn OpenAI seine Model von GPT-4 mit Imaginative and prescient veröffentlicht, hoffe ich, dass es Seiten mit Notenblättern gesehen hat, die beim Komponieren von Melodien helfen.
Vergleich der drei Musikkompositionsaufgaben, die ich mir in dieser Serie vorgenommen habe, und Analyse und Generierung von Akkorden in der zweiter ArtikelEs hat am besten funktioniert. Obwohl unvollkommen, verfügt das Sprachmodell über umfassende Kenntnisse der Musiktheorie und kann problemlos neue und revolutionary Akkordfolgen erstellen.
Analysieren und Erstellen von Liedtexten, besprochen im erster Artikel, battle auch mit GPT-4 einfach zu machen, aber die generierten Texte waren oft einfach und klischeehaft. Obwohl das System weiß, wie man reimt, erfordert es einige Arbeit, das System anzuweisen, einzigartige, aufregende und bedeutungsvolle Texte zu erstellen.
Der Quellcode für dieses Projekt ist verfügbar unter GitHub.
Ich möchte Kate Li dafür danken, dass sie das Lied für diesen Artikel gesungen hat. Ich danke auch Pete Fayan von den Brokers für sein Engagement bei diesem Projekt. Abschließend danke ich Jennifer Lim für die Durchsicht des Artikels und das Suggestions.
Hier sind die ersten beiden Artikel dieser Serie.
[1] OpenAI, GPT-4 Technischer Bericht (2023)
[2] B. Caffey, Generieren von MIDI-Dateien aus Gitarrentabulaturen mit Python und regulären Ausdrücken (2018)