Algorithmen für Musikkomposition

Ich bin ein Anfänger in der Musik, spiele aber auch gerne mit einfachen Computerprogrammen herum. Also habe ich eine kleine Python-Bibliothek gefunden, um MIDI-Dateien zu generieren. Was ich jetzt mache, ist, dass ich ein paar Rhythmus-Signaturen oder Zeitverzögerungen habe, die ich zusammen mit ein paar Tonleitern wie Dur, Moll, Blues eingegeben habe. Also gehe ich willkürlich im Takt der voreingestellten Rhythmus-Signaturen um die Skalen herum. Ich suche nur ein paar Tipps von euch, wo ich von hier aus weitermachen kann, welche Techniken ich anwenden kann. Auch wenn es irgendwelche Fehler oder Versäumnisse in meinem gegenwärtigen Ansatz gibt. Dies ist meine erste Frage hier . Ich hoffe , Sie schließen diese Frage nicht als zu offen oder vage ab .

BEARBEITEN: Diese Seite ist faszinierend zu lesen, enthält aber nur wenige technische Details http://www.psmag.com/culture/triumph-of-the-cyborg-composer-8507/ Ich habe einige Wochen lang nach Computermusik gesucht und die Seite hat auch einige Beispieltracks. Dies ist nach meinem besten Wissen das Beste, was in der algorithmischen Komposition erreicht wurde.

EDIT 2: Diese Antwort war sehr hilfreich. Danke jadarnel27!
Wie kann ich gut klingende zufällige Akkordfolgen erzeugen?

EDIT 3: Dies ist eine ziemlich beeindruckende Demonstration der algorithmischen Komposition
http://computoser.com/ Hier ist das Papier + der Quellcode dafür.

Nun, ich fürchte, die Frage ist ein wenig zu offen. Wie Sie vielleicht wissen, arbeitet diese Seite mit einem Q&A-Format. Da diese Frage so offen ist, ist keine Antwort richtiger als die andere. Das macht es nicht so gut für das Format dieser Seite. Wenn Sie jedoch objektive Fragen haben, können Sie diese gerne stellen!
Ich denke, das sollte offen bleiben. Es geht um Techniken zum Komponieren von Musik, was meiner Meinung nach gut zu unseren Richtlinien für musikalische Praxis und Aufführung passt.
Möglicherweise können Sie die Offenheit etwas mildern, indem Sie die Unbestimmtheit reduzieren . Zeigen Sie ein bisschen mehr von dem, was Sie tun. Was sind deine Rhythmus-Signaturen? Welche Art von Ergebnissen erhalten Sie? ... Probieren Sie verschiedene Zufallszahlengeneratoren aus (insbesondere die schlechten ), und erweitern Sie die "Schritte" in zufällig ausgewählte Zwei- oder Drei-Noten-Figuren.
Jeder nützliche Algorithmus sollte an unterschiedliche Zeitsignaturen und Skalen anpassbar sein. Vielleicht könnten wir daraus ein Community-Wiki mit einem Algorithmus pro Antwort machen?
mein problem mit der frage ist das wort "zufällig" es definiert keine ziele, willst du historische oder experimentelle musik produzieren? Tonleitern sind nur einige Werkzeuge wie Mathematik, die sie alleine nicht viel tun, Techniken sind nicht musikalisch.. Definieren Sie Ihr Ziel.... möchten Sie etwas über Tonleitern in der westlichen Musik lernen?
Martin, ich habe mir einige Bücher über Musiktheorie heruntergeladen und lerne sie in meiner Freizeit. Ich möchte auch ein tieferes Verständnis davon erlangen, indem ich dieses Wissen nutze, um Programme zu erstellen, die Musik komponieren. Dabei spielt es keine Rolle, ob es historisch oder experimentell ist.
Dies ist etwas verwandt und könnte für Sie interessant sein: Wie kann ich gut klingende zufällige Akkordfolgen erzeugen?
Das Programm Ludwig 3 scheint auch so etwas wie Komposition zu machen.
@coderboy Ich habe deinem Beitrag Details für Computoser hinzugefügt. Es ist Open Source und ich habe eine Abhandlung darüber geschrieben
Sind Sie auf jukedeck.com gestoßen ? Sie verwenden KI, um Backing-Tracks zu erstellen, sind sich jedoch nicht sicher, wie es funktioniert.

Antworten (7)

max

gibt es seit 20 Jahren.

Max gibt Ihnen die Teile, um einzigartige Sounds, atemberaubende Grafiken und fesselnde interaktive Medien zu erstellen. Diese Teile werden „Objekte“ genannt – visuelle Boxen, die winzige Programme enthalten, um etwas Bestimmtes zu tun. Jedes Objekt macht etwas anderes. Manche machen Geräusche, manche machen Videoeffekte, andere führen nur einfache Berechnungen durch oder treffen Entscheidungen. In Max fügen Sie Objekte zu einer visuellen Leinwand hinzu und verbinden sie mit Patchkabeln. Sie können so viele verwenden, wie Sie möchten. Indem Sie Objekte kombinieren, erstellen Sie interaktive und einzigartige Software, ohne jemals Code zu schreiben (das können Sie auch tun, wenn Sie wirklich wollen).

Ist Ihnen bewusst, dass die algorithmische Komposition etwas ist, das vor Jahrhunderten in der einen oder anderen Form begonnen hat? In den letzten Jahren wurde die algorithmische Komposition viel wissenschaftlich untersucht.

Es gibt einen Wikipedia-Artikel über Algorithmic Composition . Der Artikel selbst gibt einen flüchtigen Überblick über dieses Feld. Es enthält nicht viele praktische Informationen, aber eine Bibliographie, in der Sie nach weiteren Informationen suchen können.

Der Wikipedia-Artikel bietet auch eine lange Liste von kommerziellen und Open-Source-Musiksoftware-Apps für die algorithmische Komposition. Es lohnt sich, einige davon auszuprobieren und zu sehen, was Sie daraus lernen können. Einige von ihnen sind dafür da, avantgardistische experimentelle Musik zu kreieren, und andere, wie Band in a Box , sind dafür da, erkennbaren Mainstream-Jazz zu komponieren. Es gibt einen modularen Baukasten für die algorithmische Komposition mit einer grafischen Benutzeroberfläche namens Max , der weltweit, insbesondere in akademischen Kreisen, verwendet wird.

Interessanterweise veröffentlichte Wolfgang Amadeus Mozart 1787 ein algorithmisches Musiksystem namens Musical Dice Game . Es ging darum, musikalische Phrasen (von Mozart selbst komponiert) in verschiedenen Kombinationen nach dem Würfelwurf und einem Regelwerk zu arrangieren. Dies fällt unter die Kategorie der sogenannten stochastischen Zusammensetzung . Sie können "Mozart Musical Dice Game" für weitere Referenzen googeln. Hier ist ein lesenswerter Hinweis .

Andere Themen aus der Zeit vor dem Computer, die man sich ansehen sollte, wären aleatorische Komposition (für die der Komponist John Cage im 20. Jahrhundert eingetreten ist) und die serielle 12-Ton-Komposition (für die der Komponist Arnold Schönberg im 20. Jahrhundert eingetreten ist und die seitdem von vielen anderen Komponisten erforscht wurde). . Viele (meist extrem dissonante und atonale) Stücke dieser Komponisten gehören heute zum Standardrepertoire der klassischen Musik des 20. Jahrhunderts.

Faszinierende Antwort. Ich hatte keine Ahnung, dass so viel Forschung in die algorithmische Komposition gesteckt wurde, bevor es Computer gab, und ich freue mich darauf, Mozarts Würfelspiel auszuprobieren!
Sind Fraktale gut? Ich finde ihre Ausgabe nicht besser als zufällig. Mozarts Würfelspiel ist ziemlich erstaunlich.
Thelonious Monk spielte manchmal etwas Zufälliges und arbeitete dann daran, es zu lösen und es zu einem Teil seines Solos zu machen.
Nach dem, was ich gelesen habe, handelt es sich beim Mozart-Würfelspiel um mehrere (Menuett-ähnliche) Stücke mit derselben Länge und ungefähr derselben Akkordfolge, die in einzelne Takte gerissen und durch Würfelwürfe aneinandergereiht werden. Ich habe auch schon von einem Haydn-Würfelspiel gehört.

Nun, was ich bisher getan habe (ich prototypiere in Perl und wenn es nützlich ist, verschiebe es nach c++) ist, Akkordfolgen nach folgendem zu erstellen: http://mugglinworks.com/chordmaps/part5.htm

Geben Sie den Akkorden eine bestimmte Anzahl von Schlägen,

Und die Akkorde in bestimmte Rhythmusarrangements zu stecken, die immer noch in ein echtes Paar Hände passen. Wie in http://www.scribd.com/doc/102512170/Playing-Pop-Ballads#

Soweit bin ich gekommen. Aber es gibt eine Welt voller Möglichkeiten, wenn du mich fragst.

Ich empfehle auch, sich Supercollider anzusehen

SuperCollider ist eine Umgebung und Programmiersprache für Echtzeit-Audiosynthese und algorithmische Komposition. Es bietet eine interpretierte objektorientierte Sprache, die als Netzwerkclient für einen hochmodernen Echtzeit-Klangsyntheseserver fungiert.

Es ist Open-Source, mit guter Community-Unterstützung und leistungsstarken Kompositions- und Synthesemethoden.

Sie erwähnen, dass Sie von http://computoser.com/ wirklich beeindruckt sind , aber dass Sie die Techniken des Autors nicht kannten. Hier ist der zugrunde liegende Code (nicht meiner) auf Github: https://github.com/Glamdring/computoser

Für eine pythonische Option haben Sie einen Ganter (oder eine Gans) bei SCAMP ( Suite for C omputer - A ssisted M usic in P ython) .

Ich habe tatsächlich auf einen Beitrag im aktiven und freundlichen Forum verlinkt, der auf die Dokumentation für das Paket verweist.

Die meisten Benutzer, denen ich in den Foren und in einem Kurs begegnet bin, an dem ich teilgenommen habe – einschließlich des Erstellers des Pakets – schreiben Algorithmen, um Musik programmgesteuert zu erzeugen.

Zitieren der Dokumentation des Pakets :

SCAMP ist ein computergestütztes Kompositions-Framework in Python, das als Hub fungiert und den Komponisten-Programmierer flexibel mit einer Vielzahl von Ressourcen für die Wiedergabe und Notation verbindet. SCAMP bietet Funktionen, um den Fluss der musikalischen Zeit zu verwalten, Noten über SoundFonts oder MIDI- oder OSC-Nachrichten an einen externen Synthesizer wiederzugeben und das Ergebnis zu quantisieren und in Musiknotation in Form von MusicXML oder LilyPond zu exportieren.

Das wirklich hilfreiche 34-minütige Einführungs-Tutorial-Video auf YouTube beginnt mit der Aussage:

"... Die meisten algorithmischen Kompositionswerkzeuge widmen sich hauptsächlich der Klangsynthese oder Musiknotation. Das Ziel von SCAMP ist es, beides in einen einzigen Arbeitsablauf zu integrieren und dies auf eine Weise, die den Komponisten mit seinen anderen Ressourcen für die Wiedergabe und Wiedergabe verbindet Notation."

Die Installation ist eine bloße

pip install scamp

ein Weg.

FWIW: Der Schöpfer des Pakets, Marc Evanstein , hat einen Doktortitel in Komposition und einen Master in Medienkunst und -technologie und schrieb SCAMP als Teil seiner Master-Anforderungen.

Hinzufügen zur Liste der Tools, die Neulingen dabei helfen, sich mit der Idee der Komposition vertraut zu machen - sehen Sie sich SonicPi an ! Es ist ein vollwertiges Kompositions- und Performance-Tool, das von Gigging-Musikern verwendet wird, aber mit dem Hauptziel, eine erstaunliche Plattform zu sein, um Kindern (>= 10 Jahre alt) das Programmieren beizubringen!

Meiner Meinung nach kann man die Musiktheorie nicht für die Musikkomposition verwenden, um Algorithmen zu erstellen, die für Menschen verständliche Musik produzieren. Meine Ansicht (Meinung) ist, dass ich die Musikkomposition nicht wie ein Programmierer betrachten sollte; Ein Programmierer macht einen ganz anderen Job. Wie in Zahlentheorien können Sie mit Algorithmen Muster erstellen, aber klingt das großartig? Klingt ein Arpeggiator gut? Sicher, aber komponiert es etwas? Warum sind einige Klavierspieler großartig und andere nicht so großartig, wenn sie die gleichen Noten spielen? Musik funktioniert auf so vielen Ebenen, dass bisher kein Musikinstrumentenbauer einen Turing-Maschinen-ähnlichen Ansatz entwickelt hat, wie er es in der Informatik getan hat.

Algorithm Composing ist meiner Meinung nach das falsche Werkzeug für diesen Job.

  1. Experimentelle Musik

Sie wollen keine Musik machen, die auf etwas basiert, das uns nicht neu oder nicht bekannt ist, und ein Algorithmus könnte nur mit bekannten Lösungen arbeiten (Determinismusproblem).

In der Musik kann man etwas nicht beweisen; Musik hat keinen richtigen oder falschen Zustand. Was ist der richtige Zustand in der Musik? Wie kann ein Algorithmus beweisen, dass er ein gutes Musikstück produziert hat, wenn das Problem tiefer liegt. Musik ist ein Erlebnis ohne Bedeutung; es ist, als würde man etwas fühlen. Bis jetzt haben wir so etwas wie KI nicht. Alles, was wir haben, sind einige Mustererkennungsalgorithmen, die Muster sehen können; Sie können keine Musik ohne Bewusstsein machen.

  1. Historische Musik (Popmusikmuster, Rock, Techno, Barock usw.)

Es gibt bekannte Muster für diese Musik. Musiktheorie ist nicht etwas, das diese Muster erzeugt; Musiktheorie ist eher ein analytischer Ansatz.

Vielleicht kann ich dir das Buch von Roger Penrose empfehlen, " The Emperor's New Mind "

Penrose argumentiert, dass das menschliche Bewusstsein nicht algorithmisch ist und daher nicht in der Lage ist, von einem herkömmlichen digitalen Computer vom Typ einer Turing-Maschine modelliert zu werden.

Ich denke, Bewusstsein ist eine Voraussetzung, um für Menschen verständliche Musik zu schaffen, oder man kann keine Kultur ohne den menschlichen Faktor produzieren.

Nun, ich bin mir nicht sicher, ob Sie meinen Punkt verstehen können.

Um es abzukürzen:

Musiktheorie ist eher ein analytischer Ansatz, aber man muss einige Daten haben, um sie zu analysieren (Grenzen der Musiktheorie -> Mangel an Kreativität)

Kennen Sie die Grenzen eines Algorithmus (wie http://en.wikipedia.org/wiki/Entscheidungsproblem )

Wenn Sie diese Grenzen kennen, können Sie gute Werkzeuge zum Produzieren bekommen.

Bitte lesen Sie diese psmag.com/culture/triumph-of-the-cyborg-composer-8507 und sagen Sie mir, ob Sie immer noch der gleichen Meinung sind
Meine Meinung ändert sich nach dem Lesen dieser Seite nicht & ich habe Notengeneratoren verwendet -> youtube.com/watch?v=YfcHbr087xs und soundcloud.com/elektronisches-schaf/mathekunst , ich mag auch die Sachen von Karma-Labs, aber das ändert nichts an meiner meinung zu diesem thema, da ich die intrucions von terry riley ( petrucci.mus.auth.gr/imglnks/usimg/4/47/… ) und die schriften von stockhausen und die aufzeichnungen von iannis xenakis gelesen habe, bin ich a ziemlicher Fan von Regeln und Ordnungen in der Musik, aber das reduziert nicht den menschlichen Faktor, der Bewusstsein braucht
schlechtes Beispiel für Algorithmen für die Musikkomposition.tones.wolfram.com/generate
Als Programmierer, der das Komponieren lernt, besteht der ganze Sinn der Erforschung algorithmischer Komposition nicht darin, den Komponisten zu ersetzen, sondern Musik, menschliche Wahrnehmung, die Grundregeln und einige der Prinzipien und Arbeitsabläufe, die von Komponisten zum Erstellen von Musik verwendet werden, besser zu verstehen. Mit genügend Algorithmen und Leitregeln, die von Komponisten verwendet werden, um sie zu erforschen, könnte ich endlich in der Lage sein, mein eigenes Verständnis davon zu entwickeln, was funktioniert und was nicht, und vielleicht in der Lage sein, meine eigenen Arbeitsabläufe und Kompositionsprinzipien zu entwickeln.
-1 Ich stimme zwar zu, dass Musik Kunst ist und Komponisten nicht durch Maschinen ersetzt werden können, aber das Erstellen eines Algorithmus zum Erzeugen von Musik ist selbst eine Form der Komposition, und eine, die, wie die anderen Antworten bestätigen können, ziemlich viel Aufmerksamkeit erhält.
Die meiste Musik ist per Definition algorithmisch. Das bedeutet nicht, dass die größten Kunstwerke mechanisch hergestellt werden, aber Algorithmen sind die Bausteine ​​der Musik, daher ist Sir Penrose für die Diskussion irrelevant. Algorithmen allein werden keine großartige Musik erzeugen, aber sie können einen guten Anfang bieten und verwendet werden, um hörbare, ansprechende Musik zu erzeugen. Alle Musiker sind unterbewusst Mathematiker – Thelonious Monk