Suivant : La partition est une (unique) expression musicale composée, Haut : Organisation des fichiers LilyPond
Un fichier d'entrée LilyPond ressemble à :
\version "2.11.58" \score { ...expression musicale composite... % c'est là qu'est la musique ! \header { } \layout { } \midi { } }
Il existe de nombreuses variantes à ce schéma simpliste, mais cet exemple est un préambule à notre propos.
Jusqu'à présent, les exemples que nous avons pu voir ne faisaient pas
appel à la commande \score{}
. En fait, LilyPond ajoute
automatiquement les commandes nécessaires au traitement d'un code
simpliste. LilyPond considère
\relative c'' { c4 a d c }
comme un racourci de
\book { \score { \new Staff { \new Voice { \relative c'' { c4 a b c } } } \layout { } } }
En d'autres termes, si le code n'est constitué que d'une expression musicale simple, LilyPond interprètera le fichier tout comme si cette expression était incluse dans les commandes de notre premier exemple.
Attention : de nombreux exemples, dans la documentation de
LilyPond, ne font pas apparaître les commandes \new Staff
ou
\new Voice
, même si elles seront créées implicitement. Ce qui
n'est pas primordial pour des exemples simples le devient dès que la
situation devient un peu plus complexe. Le fait de ne pas déclarer
explicitement un contexte peut alors amener à des résultats quelque peu
surprenants, comme la création d'une portée supplémentaire et
indésirable. La manière de créer explicitement des contextes est
vue plus en détails au chapitre Contextes et graveurs.
Note : Dès lors que votre musique dépasse quelques lignes, nous vous engageons fortement à créer explicitement les voix et portées. |
Mais revenons à notre premier exemple, et penchons nous tout d'abord sur
la commande \score
.
Un bloc \score
doit contenir une et une seule expression
musicale, exprimée immédiatement à la suite de la commande
\score
. Rappelez-vous que cette expression peut être n'importe
quoi, d'une note isolée à un gigantesque
{ \new GrandStaff << ...collez ici la partition complète d'un opéra de Wagner... >> }
Dès lors que tout cela est entre accolades : { ... }
, LilyPond
le considère comme une et une seule expression musicale.
Comme nous l'avons vu précédemment, un bloc \score
peut contenir
d'autres informations :
\score { { c'4 a b c' } \header { } \layout { } \midi { } }
Gardez à l'esprit que ces trois commandes – \header
,
\layout
et \midi
– sont spécifiques : à l'inverse de
toutes les commandes débutant par une oblique inversée (backshash
pour \
), elles ne constituent pas des expressions
musicales et ne seront donc pas interprétées comme telles. Elles
peuvent de ce fait être mentionnées à l'intérieur du bloc \score
,
tout comme à l'extérieur. En réalité, ces commandes sont la plupart du
temps indépendantes du bloc \score
– la commande \header
intervient bien souvent avant le bloc \score
tout simplement
parce que les en-têtes apparaissent au début de la partition. C'est
donc l'un des raccourcis que LilyPond prendra en considération.
Les deux autres commandes – \layout { }
et \midi {}
– que nous n'avons pas détaillées pour l'instant, auront respectivement
pour effet lorsqu'elles interviennent de produire une sortie
imprimable et un fichier MIDI. Nous nous y intéressons plus
particulièrement dans le manuel de notation, aux chapitres layout
Mise en forme de la partition et Création de fichiers MIDI.
Vous pouvez tout à fait mentionner plusieurs blocs \score
. Ils
seront traités comme autant de partitions indépendantes qui seront
regroupées dans un seul fichier résultant. La commande \book
(recueil ou ouvrage) pas obligatoire – elle sera
créée implicitement. Néanmoins, le recours à la commande \book
vous permettra d'obtenir des fichiers résultants distincts à partir
d'un même fichier source .ly
– par exemple un fichier par pupitre.
En résumé :
Dès que LilyPond rencontre un bloc \book
, il crée un
fichier distinct (.pdf par exemple). Dans le cas où il n'est pas
mentionné explicitement, LilyPond regroupera l'intégralité du code dans
un bloc \book
.
Tout bloc \score
inclus dans un bloc \book
constitue un
fragment de musique.
Tout bloc \layout
affecte le bloc \score
ou \book
au sein duquel il intervient : si c'est à l'intérieur d'un bloc
\score
, seul celui-ci en sera affecté. Dans le cas où le bloc
\layout
se trouve à l'extérieur du bloc \score
, que le
bloc \book
soit explicite ou non, il affectera chacun des
\score
compris dans ce \book
.
Pour plus de détail à ce sujet, consultez Plusieurs partitions dans un même ouvrage.
Un autre raccourci pratique est la possibilité de définir des variables — également appelées « identificateurs ». Dans tous les modèles, vous trouverez :
melodie = \relative c' { c4 a b c } \score { { \melodie } }
Lorsque LilyPond examinera ce fichier, il va prendre la valeur de la
variable melodie
, c'est-à-dire tout ce qui suit le signe =
,
et l'insérer partout où il rencontrera \melodie
. Vous êtes
libre de choisir comment dénommer vos variables1 ; ce peut être
melodie
, global
, maindroitepiano
, ou
laTeteAToto
, tant qu'il ne s'agit pas de « mot réservé ». Pour
plus de détails, voir Économies de saisie grâce aux identificateurs et fonctions.
Pour une description complète du format des fichiers d'entrée, voir Structure de fichier.
[1] Les noms de variables sont sensibles à la casse, et ne peuvent contenir ni chiffre, ni ponctuation, ni caractère accentué, ni espace.
Cette page documente LilyPond-2.11.58 (branche de développement).
Rapportez toute anomalie en français à lilypond-user-fr@gnu.org ou en anglais à http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs
Vos suggestions à propos de la documentation sont les bienvenues.