3.5.2 Der MIDI-Block

Eine \midi-Umgebung muss innerhalb von einer \score-Umgebung vorkommen, wenn MIDI-Ausgabe gewünscht ist. Sie entspricht der \layout-Umgebung, aber ist etwas einfacher aufgebaut. Oft wird die MIDI-Umgebung einfach leer gelassen, aber hier können auch Kontexte umgeändert werden, neue Kontexte definiert werden oder neue Werte definiert werden. Das folgende Beispiel etwa definiert das MIDI-Tempo, ohne dass in der Partitur eine Metronombezeichnung gesetzt wird:

\score {
  ...Noten...
  \midi {
    \context {
      \Score
      tempoWholesPerMinute = #(ly:make-moment 72 4)
    }
  }
}

Hier wird das Tempo auf 72 Viertelnoten pro Minute definiert. Wenn das Tempo auf diese Weise definiert wird, kann keine punktierte Note als Einheit angegeben werden. Wenn sie benötigt wird, muss man sie in kleinere Einheiten auflösen. Ein Tempo von 90 punktierten Viertelnoten pro Minute kann beispielsweise dargestellt werden als 270 Achtelnoten pro Minute:

tempoWholesPerMinute = #(ly:make-moment 270 8)

Kontextdefinitionen des \midi-Kontextes entsprechen der Syntax, wie sie in der \layout-Umgebung benutzt wird. Klangübersetzungsmodule werden performer genannt. Die Kontexte für die MIDI-Ausgabe sind in der Datei ‘../ly/performer-init.ly’ definiert, siehe Mehr Information. Um beispielsweise die Auswirkung von Dynamikzeichen aus der MIDI-Ausgabe zu entfernen, müssen folgende Zeilen eingefügt werden:

\midi {
  ...
  \context {
    \Voice
    \remove "Dynamic_performer"
  }
}

Eine MIDI-Ausgabe wird nur erstellt, wenn die \midi-Umgebung in eine Partiturumgebung eingefügt wird, die mit dem Befehl \score beginnt. Wenn eine Partitur explizit etwa mit \new Score begonnen wird, und sich die MIDI-Umgebung hierin befindet, wird keine Ausgabe produziert. Eine Lösung ist es, sowohl die \new Score- als auch die \midi-Umgebungen in eine \score-Umgebung einzuschließen.

\score {
  \new Score { …Noten… } 
  \midi { }
}

Andere Sprachen: English, español.

Notation Reference