pianoroll

Generell gibt es viele verschiedene Möglichkeiten in music21 einen Pianoroll zu erzeugen.

Zunächst muss der zu untersuchende Notenmaterial in music21 geladen werden. Dies erfolgt durch folgenden Syntax:

1. Notenmaterial ist Teil einer Korpus-Sammlung:

from music21 import *

c = corpus.parse('verdi/laDonnaEMobile') #hier müssen genauen Pfad-Angaben 
für den gewünschten File aus Korpus gemacht werden

2. Notenmaterial muss als einzelnes File geladen werden:

from music21 import *

c = converter.parse('C:/Users/egor_/xml-test/ives1.xml') #hier muss der lokale Pfad 
für gewünschten File angegeben werden

3. Beispiel mit xml über internet? (!!!wenn Corpus auf den Server hochgeladen wird!!!)

Es muss hier extra darauf hingewiesen werden, dass in Abhängigkeit von der verwendeten Plattform (PC oder Unix) man auf die Differenz zwischen (forward)slash und backslash bei Eingabe des Pfades achten sollte. Mehr dazu hier.

Falls ein Pianoroll vom gesamten Stück mit allen Stimmen erwünscht wird, kann es einfach durch graph.plot.HorizontalBarPitchSpaceOffset Modul realisiert werden.

p = graph.plot.HorizontalBarPitchSpaceOffset(c)
p.run()

Ebenfalls kann auch nur ein Abschnitt von der gewünschten Taktlänge dargestellt werden. Die genauen Taktangaben für den gewünschten Abschnitt müssen als Werte bei measures angegeben werden (ím unten angeführten Beispiel wird z.B. der Abschnitt zwischen Takten 1 und 10 dargestellt):

c.measures(1, 10).plot()

  • pianoroll.txt
  • Zuletzt geändert: 2021/04/06 07:36
  • von egor