Musik komponieren mit Python und music21

Musik hat eine Menge Regelmäßigkeiten. Die Bibliothek music21 überträgt diese in die Python-Welt, sodass man mit Programmcode Musikstücke komponieren kann.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
, Thorsten Hübner

(Bild: Thorsten Hübner)

Lesezeit: 15 Min.
Von
Inhaltsverzeichnis
Mehr zu Musik-Zubehör, -Software und -Produktion:

Musik erzählt Emotionen: Die Schwere der Moll-Akkorde, die Leichtigkeit von Dur; das Spiel mit dem Wechsel, mit spannungsbildenden Disharmonien und Kadenzen, die zurück in den Grundakkord der Tonart führen. Menschen sind seit Jahrhunderten fasziniert von dieser Sprache ohne Worte. Die Musiktheorie fasst die Gefühle in ein System, macht sie ein Stück weit berechenbar.

An dieser Stelle kommt der Rechner ins Spiel: Für so ziemlich alles, was berechenbar ist, gibt es ein Python-Modul und für Musik macht music21 (Dokumentation) einen sehr guten Job. music21 modelliert Noten, Akkorde, Harmonien, Sequenzen und so weiter als Objekte, die sich mit Funktionen modifizieren lassen. Das ist auch für analog komponierende Musiker interessant, da music21 automatisch mit der Methode show() die Programme MuseScore oder LilyPond einspannt, um Melodien in korrekter Notation auszugeben.

Das klappt direkt im Jupyter-Notebook, sodass man im Browser sehr flott mit Musik experimentieren kann. Aber es wird noch besser: show('midi') aktiviert die MIDI-Schnittstelle, sodass der Rechner die Komposition ebenfalls direkt in Jupyter mit Soundfonts vorspielt. Dazu gibt es Analysetools, Importer für diverse Notationsformate und unproblematischen Zugriff auf die Werke klassischer Komponisten.

Das war die Leseprobe unseres heise-Plus-Artikels "Musik komponieren mit Python und music21". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.