[ << Allgemeine Eingabe und Ausgabe ] | [Top][Contents][Index] | [ Abstände >> ] |
[ < MIDI-Ausgabe ] | [ Up : MIDI-Ausgabe ] | [ Der MIDI-Block > ] |
3.5.1 MIDI-Dateien erstellen
Um eine MIDI-Datei aus einer LilyPond-Quelldatei zu erstellen, muss
eine \midi
-Umgebung zu der \score
-Umgebung hinzugefügt
werden, etwa so:
\score { ...Noten... \midi { } }
Wenn in einer \score
-Umgebung nur eine \midi
-Umgebung,
aber keine \layout
-Umgebung vorkommt, wird nur MIDI produziert.
Wenn auch die Notation gewünscht ist, muss zusätzlich die
\layout
-Umgebung vorhanden sein:
\score { ...music... \midi { } \layout { } }
Tonhöhen, Rhythmen, Überbindungen, Dynamik und Tempoänderungen werden korrekt in das MIDI-Format übersetzt. Dynamikzeichen, Crescendo und Decrescendo werden in den MIDI-Lautstärkekanal übertragen. Dynamikzeichen werden in einen bestimmten Lautstärkenwert übersetzt, Crescendo und Decrescendo erreichen einen Übergang zwischen Lautstärkewerten. Die Wirkung von Dynamikzeichen kann auch aus der MIDI-Datei entfernt werden. Siehe hierzu Der MIDI-Block.
Das Anfangstempo und spätere Tempoänderungen können mit dem
\tempo
-Befehl innerhalb der Notation notiert werden. Er
bewirkt Tempoänderungen auch in der MIDI-Datei. Der Befehl setzt
gleichzeitig auch eine Tempobezeichnung in die Noten, welches aber
auch unterdrückt werden kann, siehe Metronomangabe. Eine
andere Möglichkeit, ein eigenes MIDI-Tempo anzugeben, wird weiter
unten gezeigt, siehe Der MIDI-Block.
Aufgrund einiger Einschränkungen auf Windows ist auf Windows-Systemen
die Standarddateierweiterung von MIDI-Dateien .mid
. Andere
Betriebssysteme verwenden weiterhin .midi
. Wenn eine
andere Endung erwünscht ist, kann man die folgende Zeile auf oberster
Ebene der Quelldatei, vor Beginn eines \book
, \bookpart
oder \score
-Blocks einfügen:
#(ly:set-option 'midi-extension "midi")
Diese Codezeile setzt die Dateiendung auf .midi
.
Als Alternative kann man diese Option auch als Kommandozeilenparameter übergeben:
lilypond … -dmidi-extension=midi lilyDatei.ly
Instrumentenbezeichnungen
Das MIDI-Instrument, mit dem ein bestimmtes System wiedergegeben
werden soll, wird durch die Staff.midiInstrument
-Eigenschaft
bestimmt, die auf eine Instrumentenbezeichnung gesetzt werden muss.
Die Bezeichnungen sind aufgelistet in MIDI-Instrumente und müssen
in der dort definierten Schreibweise notiert werden.
\new Staff { \set Staff.midiInstrument = "glockenspiel" ...Noten... }
\new Staff \with {midiInstrument = "cello"} { ...Noten... }
Wenn die Schreibweise nicht genau einem definierten Instrument aus
der Liste entspricht, wird ein Piano-Klang benutzt ("acoustic grand"
).
Ausgewählte Schnipsel
Changing MIDI output to one channel per voice
When outputting MIDI, the default behavior is for each staff to represent one MIDI channel, with all the voices on a staff amalgamated. This minimizes the risk of running out of MIDI channels, since there are only 16 available per track.
However, by moving the Staff_performer
to the Voice
context, each voice on a staff can have its own MIDI channel, as is
demonstrated by the following example: despite being on the same staff,
two MIDI channels are created, each with a different
midiInstrument
.
\score { \new Staff << \new Voice \relative c''' { \set midiInstrument = "flute" \voiceOne \key g \major \time 2/2 r2 g-"Flute" ~ g fis ~ fis4 g8 fis e2 ~ e4 d8 cis d2 } \new Voice \relative c'' { \set midiInstrument = "clarinet" \voiceTwo b1-"Clarinet" a2. b8 a g2. fis8 e fis2 r } >> \layout { } \midi { \context { \Staff \remove "Staff_performer" } \context { \Voice \consists "Staff_performer" } \tempo 2 = 72 } }
Bekannte Probleme und Warnungen
Veränderungen der MIDI-Lautstärke sind nur effektiv, wenn sie zu Beginn einer Note angefordert werden, sodass die Lautstärke während einer Notendauer nicht geändert werden kann.
Nicht alle MIDI-Spieler können Tempoänderungen richtig wiedergeben. Spieler, die hierzu in der Lage sind, sind unter Anderen MS Windows Media Player und timidity.
[ << Allgemeine Eingabe und Ausgabe ] | [Top][Contents][Index] | [ Abstände >> ] |
[ < MIDI-Ausgabe ] | [ Up : MIDI-Ausgabe ] | [ Der MIDI-Block > ] |