Zeige QuelltextÄltere VersionenLinks hierherNach oben Teilen per Teilen per... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit TeamsLetzte ÄnderungenPer E-Mail sendenDruckenPermalink × music21 Die Python-Bibliothek music21 wird auf der Projektseite des MIT Boston umfassend dokumentiert: Neben einem User Guide mit Kapiteln zu zahlreichen Themenbereichen gibt es eine umfangreiche Modul-Dokumentation sowie ein alphabetischer Index aller Themen und Befehle. Gerade angesichts dieser sehr umfangreichen Dokumentation ist es sinnvoll, die wichtigsten Befehle, die sich auf computergestützte Analyseverfahren beziehen, gesondert aufzuführen und mit kurzen Beispielen zu beschreiben. Die wichtigsten music21-Befehle im Überblick Im Folgenden werden die wichtigsten und nützlichsten Befehle in music21 aufgelistet. Komplexere Befehlsfolgen finden sich mit Beispielen in den Tutorials Noten. (1) Umgang mit Dateien Die folgenden Befehle laden die music21-Bibliothek und anschließend das Präludium C-Dur aus dem Wohltemperierten Klavier als Variable 'sBach' from music21 import * # Dieser Anfangsbefehl importiert die Python-Bibliothek music21 sBach = converter.parse('https://analyse.hfm-weimar.de/database/04/BaJoSe_BWV846_COM_COM_DasWohltem_004_00816.xml') Nun wird das Stück auf MuseSore angezeigt: sBach.show() So sieht man die Noteninformationen im musicxml-Format: sBach.show('text') Und so werden Noten als midi abgespielt: sBach.show('midi') Auswahl von Takten / Stimmen: a = sBach.parts[0] # wählt die erste Stimme (hier: rechte Hand) als Variable 'a' b = sBach.measures(4,7) # wählt Takt 4 bis 7 als Variable 'b' c = sBach.parts[0].measures(2,4) # wählt Takt 2 bis 4 der ersten Stimme als c Alternative: sBach.measures(2,4).show() # wählt aus und zeigt an. Anzahl der Elemente anzeigen: len(sBach) # nennt die Anzahl der Elemente auf der nächsttieferen Ebene len(sBach.flat) # nennt die Anzahl aller enthaltenen Elemente, z.B. Noten Speichern der Auswahl: sBach.write() a.write() # Speichert die Variable 'sBach' oder 'a' (s. oben: die erste Stimme) als xml-File (Voreinstellung) # Es können auch andere Formate gewählt werden, z.B. sBach.write('midi') # alternativer Befehl für die erste Stimme: sBach.parts[0].write() (2) Ansicht von Graphiken: sBach.plot('pianoroll') sBach.parts[2].plot('pianoroll') # nur die zweite Stimme wird angezeigt sBach.measure(2,5).plot('pianoroll') # nur Takt 2-5 werden angezeigt graph.plotStream(sBach) # = alternative Methode sBach.plot('histogram') # Histogramm der Tonhöhenhäufigkeiten (3) Schreiben von Noten n1 = note.Note('g4', type='quarter') n2 = note.Note('a4', type='quarter') n3 = note.Note('g4', type='half') # Noten werden measures verbunden („gestreamt“), measures zu parts und parts zu scores: m1 = stream.Measure() m1.append([n1, n2, n3]) p1 = stream.Part p1.append([m1]) music21.txt Zuletzt geändert: 2022/02/28 10:29von martin