# Introduction à LilyPond/Structure du fichier

* Principe général
* Structure du fichier
* La hauteur des notes
* Le rythme
* Une ligne mélodique complète
* Partition de chant et grille d'accords
* Association de plusieurs voix
* Gestion de partitions volumineuses
* Notation spécifique à certains instruments
* Mise en forme d'une partition
* Génération d'un fichier de son
* Afficher du texte
* Programmation
* LilyPond et Python
* Voir aussi
* Index
* Principe général
* Structure du fichier
* La hauteur des notes
* Le rythme
* Une ligne mélodique complète
* Partition de chant et grille d'accords
* Association de plusieurs voix
* Gestion de partitions volumineuses
* Notation spécifique à certains instruments
* Mise en forme d'une partition
* Génération d'un fichier de son
* Afficher du texte
* Programmation
* LilyPond et Python
* Voir aussi
* Index
[ Modifier le sommaire ]
Un fichier LilyPond est donc un fichier texte. Prenons un exemple minimal et complet.

## Exemple minimal complet

Voici un petit programme LilyPond :
Le résultat est le suivant :

## Explications

Le fichier contient deux parties : l'en-tête et la partition. La partition contient des portées.

### En-tête

L'en-tête est le début du fichier. Il contient les éléments suivants :
* \version "2.18.2" : indique la version de LilyPond pour laquelle le fichier a été écrit. Cela permet de voir s'il faut modifier le fichier lorsque l'on utilise une autre version de LilyPond. Le texte situé après le signe pourcent % est un commentaire : ce texte n'est pas interprété par LilyPond.
* \paper {…} : donne des informations sur la page que l'on va utiliser ; ici, l'instruction make-footer=##f indique qu'il ne faut pas créer de pied de page (footer).
* \header {…} : décrit l'en-tête de la partition, c'est-à-dire ce qui est écrit en haut de page. La variable title permet de définir le titre de la partition et la variable composer définit le nom du compositeur ou de la compositrice.

### Partition

La partition est contenue dans le contexte (l'environnement) \score{…}.
Puis vient la construction <<…>> : il indique que l'on va superposer deux objets, ici deux portées qui vont former un système.
Chaque portée est contenue dans un contexte \new Staff {…}.
La partition se conclut par les instructions :
* \layout : indique qu'il faut créer un fichier PDF de la partition (pour la lecture sur écran et l'impression) ;
* \midi : indique qu'il faut créer un fichier midi (pour écouter le résultat).
La structure globale d'une partition avec des systèmes de deux portées est donc :

### Portée

Chaque portée est donc créée par une commande \new Staff. Cette commande est suivie d'un contexte \with{…} qui permet d'indiquer des caractéristiques de la portée. Ici, nous définissons les variables :
* instrumentName : définit le nom de l'instrument qui est écrit devant la portée ;
* midiInstrument : définit l'instrument qui est utilisé dans le fichier midi, le timbre avec lequel la portée sera jouée.
Le contenu de la portée lui-même est contenu dans un contexte \relative {…} qui indique la manière dont la hauteur des notes est gérée. Cet contexte indique que LilyPond va chercher la note la plus proche. Il faut donc indiquer la note de référence pour le début de la portée, sous la forme c' (do grave en clef de sol) ou bien c'' (do aigu en clef de sol).
La portée elle-même comporte un en-tête :
* \clef indique la clef utilisée, ici la clef de sol (la lettre « G » désigne le sol en notation anglo-saxonne) ;
* \key indique l'armure, ici do majeur (c \major) ;
* \tempo indique, ici 60 à la noire (le chiffre 4 désigne la noire, il y a quatre noires dans une ronde) ;
* \time indique le chiffrage de la mesure.
Le tempo et le chiffrage de la mesure ne sont pas repris pour la deuxième portée puisqu'ils sont identiques.
Vient ensuite la liste des notes de la portée :
* c4 indique un do noire : la lettre « C » désigne le do en notation anglo-saxonne et le chiffre 4 indique une noire ; les notes suivantes étant aussi des noires, on n'indique pas la durée ;
* c2 indique un do blanche (il y a deux blanches dans une ronde) ;
* r4 indique un soupir : un silence (rest) de la durée d'une noire (4) ;
* les parenthèses indiquent le phrasé ; la parenthèse ouvrante ( se met après la première note du phrasé et la parenthèse fermante ) se met après la dernière note du phrasé ;
* la commande \bar indique que l'on place une barre de mesure particulière, ici une barre de fin de morceau ("|.") ;
* les autres barres de mesure sont placées automatiquement par LilyPond.
La structure d'une portée est donc :

## Autre types d'éléments d'une partition

Une partition (score) peut contenir d'autres éléments que des portées (staff). Par exemple, pour une partition de chant accompagnée à la guitare, on peut avoir :
* un contexte \chords pour les accords en notation « musique populaire » (par exemple « C » pour l'accord de do majeur) ;
* un contexte Staff pour la mélodie ;
* un contexte \addlyrics pour les paroles ;
* un autre contexte TabStaff pour les tablatures de guitare.
La partition aurait donc la structure :
Par exemple :

## Voix au sein d'une portée

Une portée peut avoir plusieurs voix : les mélodies jouées par deux instruments sont représentées sur la même portée, ou bien les mélodies jouées par deux mains (piano, harpe…). Une voix est un contexte Voice. Une portée peut alors avoir la structure suivante :
Par exemple :

## Création automatique

Pour les partitions simples, LilyPond crée automatiquement les contextes. Par exemple, si on se contente d'écrire des notes, LilyPond crée automatiquement un contexte Score contenant un contexte Staff contenant un contexte Voice contenant les notes.
De fait, dans la suite du wikilivre, les éléments de structure de fichier, les contextes, seront d'abord « oubliés » puis introduits au fur et à mersure, selon les besoins.
Principe général < ↑ > La hauteur des notes