3.5.1 Création de fichiers MIDI

LilyPond générera un fichier MIDI dès que vous ajouterez un bloc \midi à la structure de votre partition, comme ici :

\score {
  ...musique...
  \midi { }
}

Lorsque le bloc \score contient un bloc \midi mais pas de bloc \layout, LilyPond ne produira qu’une sortie MIDI. Si donc vous avez besoin aussi d’un support visuel, vous devrez aussi mentionner un bloc \layout.

\score {
  ...musique...
  \midi { }
  \layout { }
}

Hauteurs, durées, liaisons de prolongation, nuances et changements de tempo seront interprétés et traduits en événements MIDI. Les indications de nuances, crescendos et decrescendos sont traduits en niveau de volume ; les indications sous la forme d’une fraction déterminée du volume disponible, et crescendos et decrescendos sous la forme d’une progression linéaire entre les deux extrêmes. Le rendu des indications de nuance peut être désactivé pour le MIDI – voir Le bloc MIDI.

Le tempo initial ainsi que ses changements sont normalement indiqués au fil de la notation à l’aide de la commande \tempo ; ils seront retranscrits dans le fichier MIDI. La commande \tempo donne lieu à l’impression d’une indication métronomique que vous pouvez toutefois rendre invisible, comme indiqué à la rubrique Indication métronomique. Une autre manière de spécifier le tempo initial pour un fichier MIDI est indiquée plus avant – voir Le bloc MIDI.

En raison de certaines limitations de Windows, les fichiers MIDI doivent y porter l’extension .mid. D’autres systèmes utilisent l’extension .midi. Si besoin est, placez la ligne suivante au début de votre fichier source, avant l’ouverture de tout bloc \book, \bookpart ou \score :

#(ly:set-option 'midi-extension "midi")

Cette ligne déterminera .midi comme extension par défaut pour les fichiers MIDI.

Vous pouvez aussi le faire en ligne de commande :

lilypond … -dmidi-extension=midi fichierLily.ly

Noms d’instrument

L’instrument MIDI affecté à un canal particulier est déterminé par la propriété Staff.midiInstrument. Vous pouvez choisir l’un des instruments répertoriés à l’annexe Instruments MIDI.

\new Staff {
  \set Staff.midiInstrument = #"glockenspiel"
  ...notes...
}
\new Staff \with {midiInstrument = #"cello"} {
  ...notes...
}

Lorsque l’instrument choisi ne correspond pas exactement à l’une des dénominations consacrées, LilyPond le replacera par un piano de concert ("acoustic grand").

Morceaux choisis

Affectation d’un canal MIDI par voix

Lorsque LilyPond génère un fichier MIDI, chaque portée sera par défaut affectée à un canal, quel que soit le nombre de voix qu’elle contient. Ceci permet d’éviter de se retrouver à court de canaux, sachant qu’il n’y en a que seize de disponibles.

Le fait de déplacer le Staff_performer dans le contexte Voice permet d’affecter à chaque voix d’une même portée un canal MIDI spécifique. Dans l’exemple suivant, la même portée donnera lieu à deux canaux MIDI différents, chacun étant affecté de son propre 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
  }
}

[image of music]

Problèmes connus et avertissements

Un changement de volume ne peut intervenir que sur le démarrage d’une note. C’est la raison pour laquelle la succession d’un crescendo et d’un diminuendo ne peut se produire sur une même note.

Certains lecteurs MIDI ne rendent pas correctement les changements de tempo. MS Windows Media Player et timidity le font sans problème.


Autres langues : English, deutsch, español, italiano, 日本語.
About automatic language selection.

LilyPond — Manuel de notation