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 [[https://de.wikipedia.org/wiki/Schr%C3%A4gstrich|(forward)slash]] und [[https://de.wikipedia.org/wiki/Backslash|backslash]] bei Eingabe des Pfades achten sollte. Mehr dazu [[http://web.mit.edu/music21/doc/usersGuide/usersGuide_08_installingMusicXML.html#parsing-files-in-general|hier]].**
Falls ein Pianoroll vom gesamten Stück mit allen Stimmen erwünscht wird, kann es einfach durch [[https://web.mit.edu/music21/doc/moduleReference/moduleGraphPlot.html#horizontalbarpitchspaceoffset|graph.plot.HorizontalBarPitchSpaceOffset]] Modul realisiert werden.
p = graph.plot.HorizontalBarPitchSpaceOffset(c)
p.run()
{{:wiki:pianoroll1.png?650|}}
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()
{{:wiki:pianoroll2.png?650|}}