# Introduction à LilyPond/Version imprimable

* Si vous imprimez cette page, choisissez « Aperçu avant impression » dans votre navigateur, ou cliquez sur le lien Version imprimable dans la boîte à outils, vous verrez cette page sans ce message, ni éléments de navigation sur la gauche ou en haut.
* Cliquez sur Rafraîchir cette page pour obtenir la dernière version du wikilivre.
* Pour plus d'informations sur les version imprimables, y compris la manière d'obtenir une version PDF, vous pouvez lire l'article Versions imprimables.
Une version à jour et éditable de ce livre est disponible sur Wikilivres, une bibliothèque de livres pédagogiques, à l'URL : https://fr.wikibooks.org/wiki/Introduction_%C3%A0_LilyPond
LilyPond est un logiciel libre et gratuit de description musicale. À partir de la description du morceau (mélodie, rythme, harmonie…), le logiciel peut générer :
* la partition sous la forme d'un fichier PostScript ou PDF ;
* un fichier son au format Midi.
Il s'agit d'un logiciel multiplateforme (il existe sous GNU/Linux, FreeBSD, NetBSD, Microsoft Windows et MacOS).
Dans son principe, il est similaire à LaTeX : il s'agit d'un langage descriptif, le fichier source étant ensuite compilé (et d'ailleurs, à l'instar de LaTeX, les commandes commencent par une barre de fraction inversée « \ »). Il remplace dans les faits les extensions MusicTeX et MusiXTeX de LaTeX ; un de ses intérêts majeurs réside notamment dans la qualité musicographique des partitions produites, du niveau des éditeurs de musique professionnels quand ce langage est correctement maîtrisé.
Le projet Frescobaldi fournit un éditeur de texte facilitant l'utilisation de LilyPond : coloration syntaxique, menu pour insérer les commandes courantes, correspondance entre la partition PDF et le code LilyPond, écoute du fichier midi généré…

## Note

    L'utilisation de LilyPond nécessite des connaissances en solfège ; voir par exemple le wikilivre Bases de solfège.
    Sauf mention contraire, le document fait référence à la version 2.10 (10 novembre 2006) du logiciel.

## Conventions de notation

Tout ce qui est tapé au clavier par l'utilisateur et tout ce qui est affiché à l'écran par LilyPond est mis sous cette forme-là (balise HTML « <code>…</code> », habituellement rendu par une police à chasse fixe avec empattement du type Courier sur fond gris-clair). Lorsqu'une partie figure en italique, cela signifie qu'elle doit être remplacé en fonction du contexte. Par exemple, --output=nom_de_fichier signifie que la chaîne « nom_de_fichier » doit être remplacé par un nom de fichier.
Lorsqu'il s'agit d'une touche de clavier particulière, elle est mise entre crochets, par exemple [Suppr] désigne la touche permettant de supprimer une lettre. Lorsqu'il s'agit d'une combinaison de touches, on met un signe plus entre les touches ; par exemple, [Ctrl]+[C] indique qu'il faut appuyer simultanément sur les touches « contrôle » et « C ».
Les contrôles qui sont actionnés par la souris (boutons graphiques, zones de texte, menus déroulants…) sont signalés en gras. Dans le cas d'un menu, le tube « | » indique l'option choisie ; par exemple, Édition | Copier signifie qu'il faut cliquer sur le menu Édition, puis sur l'option Copier qui apparaît dans le menu déroulant.
Les extensions de nom de fichier sont notées en capitales.

# Principe général
## Fonctionnement de LilyPond

Avec LilyPond, la partition est décrite dans un fichier texte. Le programme LilyPond transforme ensuite ce fichier en un fichier PDF, pour afficher la partition sur écran et l'imprimer, et en un fichier midi pour pouvoir écouter le résultat.
    Fichier texte → LilyPond → fichiers PDF et midi
Cette opération de transformation s'appelle de manière générale une compilation en informatique ; pour LilyPond, on parle de gravure ou de composition (dans le sens typographique, le fait d'assembler des caractères à imprimer, typesetting)..

## Format du fichier

Un fichier LilyPond est un fichier texte au format UTF-8, ce qui permet de gérer les accents dans les paroles et les titres (en l'absence d'accent, on peut utiliser de l'ASCII « pur »). Ce fichier source porte l'extension .LY.
Les notes sont représentées par une combinaison de lettres, pour désigner la hauteur des notes, et de chiffres, pour désigner leur durées, inclues à l'intérieur d'accolades, par exemple :
    { c4 d4 } désigne deux noires (valeur 4), un do et un ré (respectivement « c » et « d »).
Il est possible d'utiliser le nom français des notes à condition de placer en début de fichier la commande:
Dans ces conditions, { do4 re4 } désigne deux noires (valeur 4), un do et un ré.
Pour bien comprendre ce principe, vous pouvez essayer le piano virtuel de Musipédia.

### Note

    tout fichier devrait commencer par l'indication de la version de LilyPond utilisée, par la commande \version "version" (par exemple \version "2.10"). Cela permet, lorsque l'on retrouve une vieille partition, de connaître la version de l'époque et de pouvoir l'adapter à la nouvelle version de LilyPond.
    Si vous souhaitez utiliser la notation française usuelle, placez ensuite votre commande \include "italiano.ly".

## Frescobaldi

Frescobaldi est un environnement pour LilyPond. Il fournit un éditeur de texte dédié, avec notamment une coloration syntaxique (les mots spéciaux sont affichés en gras et/ou avec une couleur différente ce qui facilite la lecture et l'écriture). Il fournit également un accès rapide à la compilation et à l'affichage, et le cas échéant à l'écoute.
    https://frescobaldi.org/
Frescobaldi fonctionne avec tout système d'exploitation permettant d'exécuter des programmes Python (et notamment les Linux). Il offre les possibilités suivantes :
* aperçu PDF en un clic de souris ;
* pointer et cliquer (point and click) : cliquez sur les notes dans le PDF pour passer à la position dans le texte ;
* configuration de partition rapide par assistant ;
* possibilité d'entrer la musique via un périphérique MIDI en utilisant l'extension Rumeur ;
* navigateur de documentation LilyPond avec aide contextuelle ;
* coloration syntaxique avancée ;
* les structures imbriquées peuvent être repliées / déployées pour un aperçu rapide ;
* auto-complétion permettant de saisir rapidement les commandes et les paramètres ;
* nombreux outils de manipulation de notes (transposition, conversion relative / absolue, traduction…) et de rythme (multiplication / division, copier-coller de rythme…) ;
* gestion des césures (paroles) ;
* insertion rapide des articulations et symboles ;
* mise à jour de versions par le biais de convert-ly ;

## Programme dans un environnement graphique

Les versions récentes de LilyPond fonctionnent dans des environnements graphiques. Elles disposent d'un éditeur de texte intégré. L'utilisation de l'interface graphique varie en fonction de l'environnement.

### Sous Microsoft Windows

* l'éditeur de texte s'appelle LilyPad ; si l'on double-clique sur l'icône de LilyPond, cela lance LilyPad ; on peut alors créer un nouveau fichier source ou bien importer un fichier .LY existant ;
* pour éditer un fichier .LY existant, on peut aussi utiliser le menu contextuel : cliquer avec le bouton secondaire de la souris sur l'icône du fichier source (.LY), puis choisir Edit file dans le menu ;
* pour compiler le fichier, il suffit, à partir de l'Explorateur Windows, de cliquer sur l'icône du fichier .LY puis de la faire glisser sur l'icône de LilyPond (drag and drop) ;
* pour compiler le fichier, on peut également utiliser le menu contextuel : cliquer avec le bouton droit de la souris sur l'icône du fichier source, puis choisir Generate PDF ;
* si l'on double-clique sur l'icône du fichier source, cela lance une compilation.
La compilation effectuée par le menu contextuel ou par le double-clic sur l'icône du fichier source n'est pas la même que celle effectuée par un glisser-lâcher de l'icône du fichier source sur l'icône de LilyPond.

### Sous MacOS X

* si l'on double-clique sur l'icône de LilyPond, cela lance l'éditeur de texte ; on peut alors créer un nouveau fichier source ou bien importer un fichier .LY existant ;
* pour éditer un fichier .LY existant, on peut aussi utiliser double-cliquer dessus : cela l'ouvre dans l'éditeur de texte de LilyPond ;
* pour éditer le fichier, on peut aussi, à partir du Finder, de cliquer sur l'icône du fichier .LY puis de la faire glisser sur l'icône de LilyPond (drag and drop) ;
* pour compiler un fichier, on peut utiliser le menu Compile | Typeset file de LilyPond ou bien la raccourci clavier +[R].

## Programme en ligne de commande

Initialement, LilyPond est un programme en ligne de commande. Pour générer la partition et/ou le fichier sonore dans ce mode, on peut donc invoquer le programme lilypond en lui passant le nom du fichier source en paramètre (le fichier source aura été créé par un éditeur de texte indépendant). Si par exemple le fichier source est ma_musique.LY, il faut alors taper en ligne de commande
Ceci génère en général un fichier PostScript (avec le nom du fichier source et l'extension .PS, ici ma_musique.PS), et/ou, selon les indications à l'intérieur du fichier .LY, un fichier sonore (extension .MID ou .MIDI). Le fichier PostScript peut ensuite être imprimé ou affiché (par exemple avec GhostScript, GS), ou bien converti en PDF (par exemple avec GS).
On peut placer des options avant le nom du fichier à compiler, par exemple :
* --pdf pour générer directement un fichier PDF ;
* --tex pour générer un fichier TeX ;
* --output=nom_de_fichier ou -o=nom_de_fichier pour créer un fichier ayant un nom différent (l'extension est ajoutée automatiquement) ;
* --verbose ou -V pour avoir des messages plus détaillés ;
* --format= ou -f= : choix du format (ajouter svg, ps, pdf, png, tex, ou dvi derrière le signe égal)
Par exemple :
crée le fichier my_music.PDF à partir de la compilation du fichier ma_musique.LY. On peut avoir la liste des options en tapant lilypond -h ou lilypond --help.

### MacOS X

Sous MacOS X, l'application LilyPond.app est en fait un répertoire ; c'est ce répertoire qui contient le programme à appeler en ligne de commande. Le programme lilypond en lui-même est place dans le sous-répertoire Contents/Resources/bin/. On peut ajouter ce chemin aux chemins par défaut en mettant ce chemin complet dans le fichier ~/.profile, sous la forme suivante :
par exemple, si LilyPond.app est placé dans /Applications/, on mettra

## Compilation en ligne

Le « Lilypond editor » (consulté le 2 décembre 2022) de Polv (Pacharapol Withayasakpunt) permet de compiler le code Lilypond en ligne, de visualiser la partition, d'écouter le fichier midi et de télécharger les fichiers PDF et midi.

## Intégration de code LilyPond dans du code LaTeX

On peut mettre du code LilyPond dans un fichier LaTeX, ou bien faire appel à un fichier .LY dans le fichier LaTeX. Il faut alors compiler le fichier .TEX avec lilypond-book avant de lancer la compilation avec latex ; cela se fait en ligne de commande.
Voir Programmation LaTeX, Écrire de la musique > Intégration du code LilyPond dans le code LaTeX.

## Intégration de code LilyPond dans MediaWiki

MediaWiki possède une extension nommée Score pour l'intégration de partition dans un wiki.
Exemple :

## Notes

* ↑ (en) « Frescobaldi (page officielle) » (consulté le 7 août 2019).
* ↑ bouton droit, ou « clic droit », si la souris est configurée pour droitier ; bouton gauche si la souris est configurée pour un gaucher

## Voir aussi
### Dans Wikipédia

* ASCII
* GhostScript
* Ligne de commande
* Menu contextuel
* PDF
* PostScript
* TeX
* UTF-8
Introduction < ↑ > Structure du fichier

# Structure du fichier

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

# La hauteur des notes
## Notes « naturelles »

La notation pour l'intonation (hauteur des notes) est, par défaut dans Lilypond, la notation anglo-saxonne :
Notation anglo-saxonne des notes :
| Note | Code LilyPond |
| do | c |
| ré | d |
| mi | e |
| fa | f |
| sol | g |
| la | a |
| si | b |
Cependant, il est possible de saisir les notes dans sa propre langue, au moyen de la commande \include (qui, on le verra par la suite, a également beaucoup d'autres utilités).
Ainsi, un français aura tout intérêt à mettre au début de son fichier la ligne ci-dessous :
Les notes sont alors écrites suivant la notation italienne (employée également en France, mais sans accent sur le « ré »), à savoir :
Notation italienne des notes :
| Note | Code LilyPond |
| do | do |
| ré | re |
| mi | mi |
| fa | fa |
| sol | sol |
| la | la |
| si | si |
Quoi qu'il en soit, les notes doivent être notées en minuscules.

### Exemple

    ou
donne la gamme de do majeur
On remarque que :
* LilyPond a par défaut choisi une clef de sol ; les codes présentés décrivent la hauteur des notes jouées, mais pas leur position sur la portée, qui dépend de la clef ;
* par défaut, la mesure est 4/4 et les notes sont des noires ;
* il a placé les notes à l'octave grave (une octave en dessous du la à 440 Hz, du do n°2 au si n°2, octave notée « -1 » en convention Midi).

## Octaves

Pour monter une note d'une octave, on lui ajoute une apostrophe « ' » après. Pour baisser une note d'une octave, on lui ajoute une virgule « , » après.

### Exemple

    { c, c c' c'' c''' }
    donne
Les intervalles importants sont relativement rares. LilyPond dispose donc d'un mode « relatif » qui permet d'éviter d'indiquer en permanence l'octave à laquelle appartient la note. Pour cela, il faut faire précéder l'accolade ouvrante par l'instruction \relative suivi d'une note de référence. Ensuite, l'octave d'une note est déterminée par la note précédente : on prend la note la plus proche (le fa le plus proche d'un do est le fa situé au dessus, mais le sol le plus proche est situé en dessous). Les virgules et apostrophes n'indiquent plus une octave absolue, mais la montée ou la descente d'une octave par rapport à l'octave courante.

### Exemple 1

    \relative c' {c f g c g c f f,}
On remarque que le « c' » de l'instruction « \relative c' » sert uniquement à définir l'octave, LyliPond ne crée pas de do à cet endroit.

### Exemple 2

    \relative c, { c c' c' c' c' }
    donne la même partition que celle au début de cette section mais en changeant les octaves de manière relative :

## Premier exercice

Créer un fichier reproduisant les notes de la chanson J’ai du bon tabac, sans se soucier du rythme, pour obtenir le résultat ci-contre, en trois étapes :
* En indiquant l'octave de chaque note.
* En utilisant la notation relative.
* Puis en indiquant explicitement à LilyPond les contextes à créer, en indiquant le nom du morceau et du compositeur (Gabriel-Charles de Lattaignant) ; cf. Structure du fichier > Exemple minimal complet.
Vérifier à chaque étape que l'on obtient bien le résultat attendu.
Les notes sont : do - ré - mi - do - ré - ré - mi - fa - fa - mi - mi.
1.
Si l'on utilise la notation anglo-saxonne, le ficher contient simplement :
Avec certains compilateurs, il est possible que le contexte « portée » (staff) ne soit pas créé automatiquement et que ce code provoque une erreur. Il faut alors écrire :
Pour la syntaxe française, il faut nécessairement créer explicitement la portée :
2.
Le code devient :
3.
Le code est le suivant :

## Altérations

Là encore, tout dépend de la langue dans laquelle on saisit les notes.

### Notation anglo-saxonne

Pour élever la note d'un demi-ton chromatique (dièse), on lui ajoute is. Pour deux demi-tons chromatiques (double-dièse), on lui ajoute isis.
Pour la baisser d'un demi-ton chromatique (bémol), on lui met es. Pour deux demi-tons chromatiques (double-bémol), on lui ajoute eses.

#### Exemple

    { ceses' ces' c' cis' cisis' }
    donne

### Notation à l'italienne

Le dièse est obtenu en ajoutant la lettre « d », le bémol en ajoutant la lettre « b ». Le double dièse s'obtient avec « dd », le double bémol avec « bb ».

#### Exemple

    \include "italiano.ly" { dobb' dob' do' dod' dodd' }
    donne

### Armure et hauteur de note

La présence de is ou es ne signifie pas que Lilypond va afficher un dièse « ♯ » ou un bémol « ♭ » : cela dépend de l'armure et des altérations accidentelles précédentes dans la mesure. De même, le bécarre « ♮ » est ajouté automatiquement par LilyPond, lorsqu'une note naturelle est précédée d'une altération en cours (altération accidentelle dans la mesure ou armure), sans que l'utilisateur ait à s'en préoccuper.
L'armure est déclarée par le mot-clef \key, voir ci-dessous.

#### Exemple

    si l'armure comporte un fa dièse et que l'on écrit f, cela affichera un fa bécarre ; si l'on écrit fis, cela affichera simplement un fa (puisque le dièse est prévu dans l'armure).
    Ainsi,
    affiche un signe dièse devant le premier fa mais pas devant le second ; et
    ne met pas de signe d'altération (puisque celle-ci est dans l'armure). De même,
    affiche un dièse devant le premier fa et un bécarre devant le second, tandis que
    n'affiche rien devant le premier fa mais met un bécarre devant le second.
Il est néanmoins possible de forcer l'affichage d'une altération en mettant un point d'exclamation « ! » après la note, et avant la durée ; par exemple, f!4 force l'affichage du bécarre. Ou bien même, de mettre l'altération entre parenthèse, en n'employant plus un point d'exclamation, mais cette fois un point d'interrogation « ? ».

## Armures

Liste des codes pour les armures qui utilisent les noms anglais :
| Nom | Code | Nom | Code |
| do majeur la mineur | \key c \major \key a \minor | | |
| sol majeur mi mineur | \key g \major \key e \minor | fa majeur ré mineur | \key f \major \key d \minor |
| ré majeur si mineur | \key d \major \key b \minor | si♭ majeur sol mineur | \key bes \major \key g \minor |
| la majeur fa♯ mineur | \key a \major \key fis \minor | mi♭ majeur do mineur | \key ees \major \key c \minor |
| mi majeur do♯ mineur | \key e \major \key cis \minor | la♭ majeur fa mineur | \key aes \major \key f \minor |
| si majeur sol♯ mineur | \key b \major \key gis \minor | ré♭ majeur si♭ mineur | \key des \major \key bes \minor |
| fa♯ majeur ré♯ mineur | \key fis \major \key dis \minor | sol♭ majeur mi♭ mineur | \key ges \major \key ees \minor |
| do♯ majeur la♯ mineur | \key cis \major \key ais \minor | do♭ majeur la♭ mineur | \key ces \major \key aes \minor |
On peut aussi utiliser les autres modes des gammes diatoniques :
* mode de do (mode majeur), appelé « ionien » en jazz : \ionian ;
* mode de ré ou « dorien » : \dorian ;
* mode de mi ou « phrygien » : \phrygian ;
* mode de fa ou « lydien » : \lydian ;
* mode de sol ou « mixolydien » : \mixolydian ;
* mode de la (mode mineur naturel) ou « éolien » : \aeolian ;
* mode de si ou « locrien » : \locrian.
Par exemple, on peut écrire \key c \mixolydian ce qui mettre un si bémol à l'armure.

## Octaviation

L'octaviation consiste à indiquer que les notes doivent être jouées une octave au dessus ou en dessous. Pour LyliPond, il faut indiquer la hauteur réelle des notes et ajouter une commande pour modifier leur position sur la portée et mettre la marque d'octaviation :
* pour indiquer de jouer les notes une octave au dessus : \ottava #1 ;
* pour indiquer de jouer les notes une octave en dessous : \ottava #-1 ;
* pour revenir à la notation normale : \ottava #0.

## Deuxième exercice

Réécrire J'ai du bon tabac transposé en tonalité de ré mineur, avec l'armure à la clef.
Les notes sont :
    ré - mi - fa♯ - ré - mi - mi - fa♯ - sol - sol - fa♯ - fa♯.

## Harmoniques

Pour noter les harmoniques, on utilise habituellement un losange ; pour cela, on utilise la commande \harmonic après la hauteur de l'harmonique.

## Transposition

Si l'on veut transposer un passage, on utilise la commande \transpose note_de_départ note_d_arrivée { expression musicale }. Par exemple, si l'on a un morceau pour un instrument en ut et que l'on veut l'écrire pour qu'il soit joué à la même hauteur par un instrument en si♭, il faut passer d'un si♭ à un do (puisque l'on entend un si♭ lorsque l'on joue un do) on écrira :
À l'inverse, si l'on a une partition pour un instrument en si♭ et que l'on veut l'écrire pour un instrument en ut :
Exercice
Reprendre l'exercice ci-dessus : écrire J'ai du bon tabac en ré majeur à partir de la forme en do majeur, en utilisant \transpose.

## Mise en forme compacte sans rythmique

Pour faire des exemples compacts en largeur, on peut faire figurer le code suivant avant la description de la musique :
Si l'on veut suspendre momentanément la gravure des barres de mesure, on peut mettre la partie concernée entre des balises \cadenzaOn … \cadenzaOff.
Si l'on veut faire ça sur toute la partition, on peut enlever la gravure des barres de mesure (bar engraver) et du chiffrage de mesure (time signature engraver) du contexte de portée (staff) :
Par exemple :
donne
On peut enlever les hampes en enlevant la gravure des hampes (stem engraver) des voix (voice) :
On peut supprimer les gravures au sein de la partition, dans les environnements \with associés aux contextes :

## Voir aussi
### Dans Wikipédia

* Armure (musique)
* Bécarre
* Bémol
* Demi-ton chromatique
* Dièse
* Intonation musicale
* Octave
Structure du fichier < ↑ > Le rythme

# Le rythme
## Indication des durées

Les durées sont indiquées par un nombre qui suit la même convention que l'indication de la mesure.
Indication des durées :
| Durée | Code LilyPond |
| ronde carrée | \breve |
| ronde | 1 |
| blanche | 2 |
| noire | 4 |
| croche | 8 |
| double-croche | 16 |
| triple-croche | 32 |
| quadruple-croche | 64 |
Les durées sont indiquées après la hauteur de la note, accolée à celle-ci. Pour les valeurs pointées, il suffit d'ajouter un point « . » après la valeur. Pour le double-point, on met deux points l'un après l'autre après la valeur.
Lorsque des notes sont liées, on met un tildé « ~ » entre elles.
Si l'on n'indique pas de durée, c'est la durée de la note précédente qui s'applique.
Les silences sont indiqués par un r (pour rest) suivi de la valeur correspondant à leur durée. Si l'on veut que la marque du silence soit centrée sur la mesure, on utilisera la commande R.
Indication des durées :
| Code LilyPond | Durée |
| silence correspondant à la ronde carrée | r\breve |
| pause | r1 |
| demi-pause | r2 |
| soupir | r4 |
| demi-soupir | r8 |
| quart de soupir | r16 |
| huitième de soupir | r32 |
| seizième de soupir | r64 |
Si un silence s'étale sur plusieurs mesures, on utilise l'astérisque * pour « multiplier » par le nombre de mesures. Par exemple, pour des mesures à 4/4, un silence s'étendant sur cinq mesures s'écrit R1*5
Les triolets sont introduits par l'instruction \times 2/3, indiquant que l'on met trois notes dans deux unités de temps (chaque note a deux tiers de la valeur indiquée) ; les notes du triolet sont indiquées entre accolades. Par exemple :
* \times 2/3 {c4 c c} pour un triolet de noires ;
* \times 2/3 {c8 c c} pour un triolet de croches ;

### Exemple

    \relative c' { c'1 c2 r2 c4. c8 ~ c c16 c \times 2/3 {c8 c16 c c8} }
    donne
Un sextolet est introduit de la même manière, puisque les notes valent toujours les deux-tiers de la valeur indiquée (on peut aussi écrire \times 4/6 {…}, mais cela ne change rien). Pour que les six notes soient ensembles, il faut mettre un crochet ouvrant après la première note et un crochet fermant après la dernière, sinon LilyPond affiche deux triolets à la place :
    \times 2/3 { c8[ d e f g a] } ou \times 4/6 { c8[ d e f g a] } (les deux sont strictement équivalents).
Depuis la version 2.18, le même résultat s'obtient par la commande \tuplet.
Les fractions sont alors inversées : \tuplet 3/2 est équivalent à \times 2/3.
Les crochets servent en fait à forcer la longueur du lien (barre liant les notes).

### Exemple

    \relative c' { \time 4/4 c8 c c c c[ c] c c }
    donne

## Exercice

Créer un fichier reproduisant la chanson J’ai du bon tabac, dont les notes ont déjà été vue précédemment, avec le rythme :
* première mesure : deux croches - deux croches - noire - deux croches ;
* deuxième mesure : quatre noires.

## Mesure

Pour chiffrer la mesure, on utilise la commande \time en indiquant la fraction : le dénominateur indique l'unité de temps (4 pour la noire, 8 pour la croche…) et le numérateur le nombre d'unités par mesure.
Par défaut, la mesure à 4/4 est chiffrée « C », et la mesure à 2/2 est chiffrée « 𝄵 » (C barré). Pour forcer un chiffrage sous forme de fraction, on utilise la commande \numericTimeSignature.
Les barres de mesures sont placées automatiquement par LilyPond.

### Exemple

    \relative c' { \time 2/2 c1 \time 2/4 c2 \time 3/4 c2. \time 4/4 c1 \time 6/8 c2. \time 12/8 c1. }
    donne
Lorsque l'on change de mesure au cours d'un morceau, il peut être intéressant de mettre une instruction \newSpacingSection avant le nouveau chiffrage. Cela permet à LilyPond d'ajuster l'espacement entre les notes différemment : en effet, comme les mesures n'ont pas la même durée, il n'y a pas de raison d'ajuster l'espacement de manière globale pour tout le morceau.
Lorsque l'on a une mesure à 5/4 ou 7/4, on peut la couper avec une barre pointillée avec la commande \bar "!", typiquement pour séparer la mesure à 5/4 en 3/4+2/4 (ou 2/4+3/4), ou la mesure à 7/4 en 4//4+3/4 (ou 3/4+4/4).
Si l'on veut indiquer un chiffrage de mesure à numérateur multiple, on utilise la commande \compoundMeter, par exemple (pour l'affichage des notes sur une ligne unique, voir ci-dessous) :
Nous constatons que LilyPond associe les croches suivant la décomposition indiquée.

## Cadences

Il est possible de supprimer provisoirement le découpage en mesures, par exemple pour une cadence. Pour cela, on commence la partie concernée par \cadenzaOn, et on la termine par \cadenzaOff.

## Rythme sans hauteur de note

On peut vouloir indiquer un rythme sans hauteur de note particulière. Pour cela, on met les notes entre des balises \improvisationOn… \improvisationOff. Les têtes de note sont alors des parallélogrammes.

### Exemple

    \version "2.18.2" % necessary for upgrading to future LilyPond versions. \paper{ make-footer=##f } \header { } \score{ << \chords { \set chordChanges = ##t % les accords identiques qui se suivent ne sont pas répétés c2 g f4 g c2 } \new Staff \relative c''{ \improvisationOn b2 b b4 b b2 \bar "|." \improvisationOff } >> }
    donne :
Une autre manière consiste à utiliser une portée pour batterie (drum staff) en n'affichant qu'une seule ligne de portée (line count = 1) ; la note que l'on utilise est alors celle correspondant au güiro (gui en abrégé) et l'on impose que les hampe soient orientées vers le haut (stem direction up).

### Exemple

    \version "2.18.2" % necessary for upgrading to future LilyPond versions. \score { \new DrumStaff \with {drumStyleTable = #percussion-style \override StaffSymbol.line-count = #1 \override Stem.neutral-direction = #up } \drummode { \numericTimeSignature \time 5/4 gui4. gui8~ gui4 \bar "!" gui gui \tuplet 3/2 {gui8 gui gui~} gui2 \bar "!" r2 gui8 gui r4 r4 \bar "!" r2 \bar "|." } }
    donne :

## Notes

* ↑ attention à bien distinguer \time au singulier, qui indique le chiffrage de la mesure, et \times au pluriel, qui indique les triolets, sextolets et n-olets

## Voir aussi
### Dans Wikipédia

* Liaison de prolongation
* Point de prolongation
* Représentation des durées en musique
* Solfège et rythme
* Silence (musique)
La hauteur des notes < ↑ > Une ligne mélodique complète

# Une ligne mélodique complète
## Début de partition

Une portée commence par une clef suivie d'une armure (ou armature) et d'un tempo.

### Clef

La clef est indiquée juste après l'accolade d'ouverture par la commande \clef suivi du nom de la clef en anglais. Les deux plus courantes sont la clef de sol, notée \clef treble, et la clef de fa, notée \clef bass.
Notation des clefs :
| Clef | Notation Lilypond |
| clef de sol 1re ligne | \clef french |
| clef de sol 2e ligne | \clef treble \clef G |
| clef de fa 3e ligne | \clef varbaritone |
| clef de fa 4e ligne | \clef bass \clef F |
| clef d'ut 1re ligne | \clef soprano |
| clef d'ut 2e ligne | \clef mezzosoprano |
| clef d'ut 3e ligne | \clef alto \clef C |
| clef d'ut 4e ligne | \clef tenor |

#### Exemple

    \relative c' { \clef french c \clef treble c \clef soprano c \clef mezzosoprano c \clef alto c \clef tenor c \clef varbaritone c \clef bass c }
    donne
Dans certains cas, on écrit les notes une octave au-dessus ou en dessous, pour simplifier la notation. Si l'on écrit les notes une octave en dessous, comme dans le cas de la guitare, on met le nom de la clef entre guillemets et l'on ajoute _8 ; pour écrire une octave au-dessus, on utilise ^8.

#### Exemple

    \clef "G_8"

### Armure

L'armure est indiquée après la clef avec la commande \key suivie de la gamme utilisée ; le ton est indiqué comme une note normale, le mode est \major pour majeur, \minor pour mineur.

#### Exemple

    \key g \major pour l'armure de sol majeur (un fa dièse).

### Tempo

Pour indiquer le tempo, on utilise la commande \tempo en indiquant la valeur rythmique concernée (4 pour une noire…) puis les pulsations après un signe égal. Cela se place à l'intérieur des accolades, à l'emplacement désiré.

#### Exemple

    \relative c' { \time 4/4 \tempo 4 = 60 c8 c c d e4 d c8 e d d c4 r }
    donne
Il n'y a pas de commande permettant d'indiquer un changement de tempo par équivalence. Pour faire cela, il faut mettre une chaîne de caractères au-dessus de la note (voir Indications supplémentaires).

#### Exemple

    \relative c' { \time 2/4 c2 \time 6/8 c2.^\markup { ( \smaller \general-align #Y #DOWN \note #"4" #1 = \smaller \general-align #Y #DOWN \note #"4." #1 ) } }
    donne
    on peut remplacer les valeurs de durées « 4 » (noire) et « 4. » (noire pointée) par n'importe quelle valeur.

### Levée ou anacrouse

La levée ou l'anacrouse est une mesure partielle en début de morceau. On utilise pour cela l'instruction \partial suivi de l'indication de la durée de la levée, notée comme la durée des notes (4 pour une noire…).

#### Exemple

    \relative c' { \time 4/4 \partial 4. f8 f[ f] b4 b c c }
    donne

## Accords

Pour écrire un accord, il suffit de mettre les notes entre « chevrons », c'est-à-dire entre un signe inférieur et un signe supérieur <…>. C'est le groupe entier entre les chevrons qui est considéré comme une seule note ; l'indication de durée se place après le chevron fermant.
Sur une partition, on peut indiquer de jouer un accord en arpège en plaçant une ligne brisée verticale. Pour que LilyPond trace cette ligne, on place la commande \arpeggio après l'accord.

### Exemple

Si un accord se répète, on peut, après la première occurrence, utiliser la lettre q. L'exemple suivant devient alors :

### Résolution d'un accord dissonant

Certains accords sont dissonants et peuvent donner lieu à une résolution. Dans ce cas-là, la durée des notes de l'accord n'est pas la même. Il peut être alors intéressant de considérer les différentes notes comme des « voix » différentes qui se superposent.
Chaque voix est notée entre accolades. Les voix sont notées les unes après les autres, et sont entre deux paires de crochets pointus << et >>. Cependant, le début du morceau doit nécessairement être une note unique, faute de quoi les voix s'affichent sur des portées différentes.

#### Exemple

    comparer les trois solutions suivantes
    \relative c' { % premiere solution c4 <g' b d>4 <c, e g b>~ <c e g c> % deuxieme solution c4 <g' b d>4 << { c,4~ c } { e4~ e } { g4~ g } { b4 c } >> % troisieme solution c,4 <g' b d>4 << { c,2 } { e2 } { g2 } { b4(c) } >> }
    résultat :

### Basse chiffrée

Le chiffrage d'un accord se fait dans un contexte \figures{ … } (qui est un raccourci pour \new FiguredBass { \figuremode { … } } ). La syntaxe globale est : < chiffrage >durée, par exemple
pour un accord de quinte sur la durée d'une noire.
Voici par exemple l'accord parfait de do majeur à l'état fondamental et ses renversements :
Un signe + (plus) placé après un chiffre dans le code ajoute un ♯ (dièse) avant le chiffre sur la partition ; un signe - (moins) ajoute un ♭ (bémol) ; un signe ! (point d'exclamation) ajoute un ♮ (bécarre).
Pour faire figurer un signe « plus » avant un chiffre pour indiquer l'emplacement de la sensible, on utilise \+ après le chiffre. Si l'on veut qu'il n'y ait pas de chiffre mais seulement le signe, on utilise le tiret de soulignement _ à la place du chiffre. Par exemple, pour l'accord de septième de dominante de la tonalité de do majeur :
On notera que la double barre de fraction inversée \\ a pour effet de barrer le chiffre.

### Accords usuels

On peut aussi faire générer les accords usuels par LilyPond en donnant le nom de l'accord. Pour cela, il faut mettre la commande \chordmode, puis mettre les nom des accords entre accolades, en notation « jazz ». Le nom de l'accord se compose du nom de la fondamentale (en notation habituelle), suivi de l'indication du type d'accord après deux-points « : » :
* pas d'indication : accord parfait majeur ;
* m : accord parfait mineur ;
* dim : accord diminué (quinte diminuée) ;
* aug : accord augmenté (quinte augmentée) ;
* 7 : accord de septième (ajoute une septième mineure à l'accord parfait) ;
* maj7 : accord de septième majeure (ajoute une septième majeure à l'accord parfait) ;
* maj7.3- : accord mineur avec une septième majeure ;
* m7.5- : accord demi-diminué ;
* dim7 : accord de septième diminué ;
* aug7 : accord de septième augmenté ;
* 7.9- : accord de septième avec neuvième mineure ;
* 6 : accord majeur avec une sixte ;
* m6 : accord mineur avec une sixte ;
* sus2 et sus4 : remplace la tierce de l'accord parfait par respectivement la seconde ou la quarte ;
* 7sus2, 7sus4 ;
* /note : ajoute une note en basse ; s'il s'agit d'une note de l'accord, donne un renversement.
L'indication de durée se place avant les deux-points.

#### Exemple

    \chordmode { c2 c2:m c4:dim c:aug c:7 c:7maj c:sus2 c:sus4 r2 }
    donne

## Plusieurs voix sur une même portée

Nous avons vu qu'il y avait la possibilité de mettre plusieurs voix sur une même portée ; cela se fait en mettant les voix l'une après l'autre entre accolades, et en entourant le tout d'un double crochet pointu.
Lorsqu'il s'agit d'instruments différents (par exemple deux hautbois qui divergeraient), il peut être intéressant de faire figurer les voix bien distinctement. Pour cela, il suffit de faire suivre la première voix d'une double barre de fraction inversée.
Pour éviter de faire figurer les silences sur une voix, on utilise s (space, « espace ») à la place de r.

### Exemple

    comparer les deux solutions
    \relative c' { \time 6/8 % premiere solution g'4.~ << { g8. bes16 d8 f8. ees16 d8 c8. d16 ees8 d2. } { g,4. f a a8. g16 fis8 g4. } >> \break % deuxieme solution << { g4.~ g8. bes16 d8 f8. ees16 d8 c8. d16 ees8 d2. } \\ { s4. g,4. f a a8. g16 fis8 g4. } >> }
Voir aussi Association de plusieurs voix > Voix sur une même portée.

## Silence sur plusieurs mesures

Dans la musique d'ensemble, il est fréquent d'avoir plusieurs mesures de silence. Cela se fait avec un R (lettre capitale), suivi par la valeur d'une mesure (1. en 12/8, 1 en 4/4 et en 2/2, 2. en 3/4 et en 6/8, 2 en 2/4…) suivi d'une astérisque « * » (symbole de la multiplication en informatique) puis du nombre de mesures.

### Exemple

    R2*4 indique quatre mesures de silence dans une mesure à 2/4.
Si l'on veut condenser les mesures de silence, il faut mettre le code suivant en début de portée (staff) :
    \set Score.skipBars = ##t

## Indications d'interprétation
### Trémolo

Le trémolo est une abréviation utilisée en musique, lorsqu'une note ou une suite de notes est répétée rapidement. Pour mettre des trémolos sur une note, il suffit de mettre deux-points « : » après la note, puis la durée de la subdivision (au minimum 8, des croches).

#### Exemple

    c4:8 indique que l'on divise la noire en croches.
Pour les trémolos sur plusieurs notes, il faut utiliser la commande \repeat, avec la syntaxe suivante :
    \repeat "tremolo" nombre_de_répétitions { note1 note2 }

#### Exemple

    \repeat "tremolo" 4 { c16 d16 } indique que la succession do-ré en doubles-croches est répétée quatre fois.
Notez que si vous générez un fichier son, seule la solution avec \repeat est susceptible d'être interprétée (cf. Génération d'un fichier de son) ; la solution avec deux-points donne juste une sortie graphique.

### Phrasé et attaques

Le phrasé (legato ou coulé) se marque avec des parenthèses ; la parenthèse ouvrante ( se place après la première note du phrasé, et la parenthèse fermante ) se place après la dernière note du phrasé.
Les attaques se notent en faisant suivre la note d'un signe moins « - » puis du signe de l'attaque :
* un point « . » pour le piqué (staccato) ;
* un signe supérieur « > » pour une attaque forte ;
* un signe moins « - » pour une note portée (ou lourée) ;
* un accent circonflexe pour une note accentuée.

#### Exemple

    \relative c' { \time 4/4 c8( e ~ e4 d) c-> c'8-. c-. c4-^ c-- r }
    donne
Au lieu de -symbole, on peut utiliser des instructions telles que \accent (attaque), \staccato, \marcato (note accentuée), \tenuto (note portée)…
Le glissando s'obtient en mettant la commande \glissando entre les deux notes concernées.

### Points d'orgue et points d'arrêt

Le point d'orgue et le point d'arrêt « 𝄐 » s'obtiennent avec la commande \fermata, placée après la note ou le silence.
Si l'on veut mettre un point d'arrêt à cheval sur une barre de mesure, on utilise le code suivant :

### Nuances

Les nuances sont simplement indiquée par leur abréviation précédée d'une barre de fraction inversée, et sont placées après la note sur laquelle elles s'appliquent.
Notation des nuances :
| Nuance | Commande LilyPond |
| il piu pianissimo possibile | \ppp |
| pianissimo | \pp |
| piano | \p |
| mezzo piano | \mp |
| mezzo forte | \mf |
| forte | \f |
| fortissimo | \ff |
| il piu fortissimo possibile | \fff |
| forte-piano | \fp |
| sforzando | \sfz |
Un crescendo commence par la commande \< ou bien \cr, et se termine soit par la commande \!, soit par une indication de nuance.
Un decrescendo commence par la commande \> ou bien \decr, et se termine de même soit par la commande \!, soit par une indication de nuance.
Un crescendo-decrescendo sur une note se fait avec la commande \espressivo placée après la note.

### Ornements

La trille se note simplement avec la commande \trill ; cela place l'indication tr au-dessus de la note. Si l'on veut faire figurer une ligne brisée au-dessus de la portée, il faut procéder différemment : placer l'instruction \startTrillSpan après la note trillée, et \stopTrillSpan après la note suivante.
Le gruppetto se note avec la commande \turn s'il commence par la note supérieure et avec \reverseturn s'il commence par la note inférieure.
Le mordant se note avec la commande \prall s'il se fait avec la note supérieure, et avec \mordent s'il se fait avec la note inférieure.
Une appogiature longue s'obtient en mettant la commande \appoggiatura avant la petite note. Une appogiature brève, ou acciaccatura, s'obtient en mettant la commande \acciaccatura avant la petite note.
On peut aussi noter les ornements comme le gruppetto ou le mordant par plusieurs petite notes. Pour cela, on peut mettre plusieurs notes entre accolades après une commande \appoggiatura ou \acciaccatura ; il faut forcer la barre de double-croche avec les crochets. Si l'on ne veut pas avoir le phrasé, il faut utiliser la commande \grace.
Lorsqu'une trille avec ligne brisée se résout par une appogiature, il faut créer deux voix : une avec la note principale, et une avec l'appogiature, précédée d'un espacement. Puis, il faut placer la commande \startTrillSpan après la note principale, et \stopTrillSpan après la première note de l'appogiature.

#### Exemple

    << { c1 \startTrillSpan } { s2. \grace { d16[\stopTrillSpan e] } } >>
L'ajout d'une altération sur un mordant ou un gruppetto est un peu complexe. À la base, on ajoute simplement une annotation ^\markup { alteration } à la note, après l'ornement ; alteration est à remplacer par \sharp pour un dièse, \flat pour un bémol et \natural pour un bécarre. Cependant, il faut indiquer à LilyPond quel est le symbole à mettre en dessous : l'ornement (qui est, du point de vue programmation, un script), auquel cas c'est la note supérieure de l'ornement qui est altérée, ou l'altération (qui est, du point de vue programmation, un text-script), auquel cas c'est la note inférieure qui est altérée. Cela se fait en modifiant la priorité du script ou du text-script. On indique donc, avant la note :
* \once \override TextScript #'script-priority = #-100 pour mettre l'altération en dessous ;
* \once \override Script #'script-priority = #-100 pour mettre l'altération au-dessus.

#### Exemple

    c4 \trill c \prall c \mordent c \turn c \reverseturn \acciaccatura d8 e4 \appoggiatura {c16[ d e f]} c4 \grace {c16[ d e f]} c4 \once \override TextScript #'script-priority = #-100 a4^\turn^\markup { \sharp } \once \override Script #'script-priority = #-100 a4^\reverseturn^\markup { \flat } \once \override TextScript #'script-priority = #-100 a4^\prall^\markup { \natural }
    donne

### Indications supplémentaires

De la même manière que les attaques, on peut ajouter des indications, sous forme de lettres ou de chiffres, au-dessus ou en dessous des notes — par exemple les doigtés pour certains instruments.
Pour cela, il suffit de mettre les indications après un signe moins « - » ; les lettres doivent être entre guillemet "…". De cette manière, LilyPond choisit automatiquement l'emplacement de l'indication : au-dessus ou en dessous.
Si vous voulez imposer la position, à la place du signe moins :
* utilisez un accent circonflexe « ^ » pour placer l'indication au-dessus ;
* utilisez un tiret de soulignement « _ » pour placer l'indication en dessous.

#### Exemple

    \relative c' { c4-1 c-"a" c_1 c^"a" }
    donne
Notons que les signes ^ et _ permettent aussi de forcer la position d'autres indications, ainsi que des phrasés.

#### Exemple

    phrasé en haut : c4^(d e)
    attaque en bas : c4_.
Pour placer des repères de mesure, il suffit de mettre \mark \default entre les notes encadrant la barre de mesure concernée. La numérotation se fait de manière automatique.
On peut indiquer qu'une série de notes est à l'octave supérieure en les mettant entre des balises #(set-octavation 1) (début) et #(set-octavation 0) (fin) ; cela affiche « 8va » au dessus des notes. Si elles sont à l'octave inférieure, on utilise #(set-octavation -1) (début) et #(set-octavation 0).

## Répétitions, barres de mesure, reprises, fin de morceau

Pour indiquer la répétition d'une note, on utilise la commande \repeat avec le style "percent" (en raison de la similitude du signe avec le pourcent « % ») ; la note doit être entre accolades. On peut aussi mettre toute une mesure dans l'accolade.
    \repeat "percent" nombre_de_répétitions { note }
    ou
    \repeat "percent" nombre_de_répétitions { mesure }
Si l'on remplace "percent" par "unfold", cela réécrit la phrase musicale. Ceci permet d'éviter le copier-coller, et les erreurs qui vont avec.
Les barres de mesure sont mises en place automatiquement. On peut forcer une barre de mesure en utilisant la commande \bar "|"
La commande \bar peut générer d'autres types de barres, selon la description de la barre entre guillemets
* \bar ".|:" pour un début de reprise ;
* \bar ":|." pour une fin de reprise ;
* \bar ":|.|:" pour une transition entre deux reprises.
Toutefois, il ne s'agit là que d'un signe affiché, et ces reprises ne sont pas interprétées dans un fichier son.
On peut aussi générer des reprises avec la commande \repeat et le style "volta" ; les mesures à répéter sont incluses entre accolades :
    \repeat "volta" nombre_de_répétitions { mesures }
si l'on ne répète qu'une fois les mesures, nombre_de_répétitions vaut 2. Si la fin de la dernière répétition est différente, on utilise la commande \alternative :
    \repeat "volta" nombre_de_répétitions { mesures }
    \alternative { { alternative1 } { alternative2 } }
Si une liaison de prolongation (tie) se poursuit sur la deuxième alternative, on utilise la commande \repeatTie, par exemple :
La commande \repeat, avec le style "percent" comme "volta", peut être interprétée dans un fichier de son (cf. Génération d'un fichier de son > Gestion des répétitions).
On obtient le ballon de coda en plaçant la commande \coda après la note concernée.
Le signe de reprise segno 𝄋 s'obtient avec la commande \segno.
Si l'on veut mettre symbole à cheval sur une barre de mesure, on utilise :
La double-barre de transition (changement d'armure, de mesure) se note \bar "||". La double-barre de fin (avec le deuxième trait gras) se note \bar "|."

## Notes

* ↑ « Positioning a \fermata over the last bar line », sur The LilyPond Snippet Repository (consulté le 6 janvier 2024)
* ↑ Dans la version 2.10 de LilyPond, les barres étaient codées : \bar "|:" pour un début de reprise ; \bar ":|" pour une fin de reprise ; \bar ":|:" pour une transition entre deux reprises.

## Voir aussi
### Dans Wikipédia

* Abréviation (solfège)
* Barre de mesure
* Caractère (solfège)
* Nuance (solfège)
* Ornement (solfège)
* Phrasé (solfège)
* Résolution (musique)
* Solfège et interprétation musicale
* Staccato
Le rythme < ↑ > Partition de chant et grille d'accords

# Partition de chant et grille d'accords

Il est possible de placer sur la même partition la ligne mélodique du chant, la grille d'accord ainsi que les paroles. Pour ce faire, il faut créer trois voix, en utilisant les doubles crochets pointus << et >>. La première voix contient les accords, la deuxième voix la ligne mélodique et la troisième les paroles.
Il faut s'attacher à faire correspondre les durées d'une voix à l'autre.

## Structure globale du fichier

Lorsque l'on se contente d'avoir une ligne mélodique, le fichier texte peut n'avoir que la description de la musique. Lorsque l'on veut faire des choses un peu plus complexes, le fichier doit respecter un certain formalisme.
Le fichier doit globalement avoir la structure suivante :
Le contexte \header est un en-tête permet de définir le titre de l'œuvre et le nom du compositeur ; ils seront affiché en haut de la partition.
Le contexte \score contient la partition en elle-même. Cette partition comporte donc trois voix en parallèles. Deux d'entre elles sont dans un contexte spécifique : \chords pour les accords, et \addlyrics pour les paroles.
Les accords peuvent aussi être dans un contexte :
en fait, \chords {…} est un raccourci pour \new ChordNames { \chordmode {…} }.

## En-tête

L'en-tête peut contenir les informations suivantes :
* copyright : détenteur des droits d'auteur ;
* title : titre de l'œuvre ;
* subtitle : sous-titre ;
* subsubtitle : sous-titre de second niveau ;
* poet : auteur ;
* composer : compositeur ;
* texttranslator : traducteur ;
* meter ? ;
* arranger : arrangeur ;
* instrument : instrument de la partie ;
* piece : pièce, par exemple mouvement d'une œuvre en comportant plusieurs ;
* opus : n° d'opus.

## Accords
### Notation jazz

Les accords sont donc dans un contexte \chords. Ils doivent être écrits en écriture abrégée (c pour do majeur, c:m pour do mineur, c:7 pour do majeur septième mineure… cf. Une ligne mélodique complète > Accords usuels). La durée se place après la fondamentale, avant les éventuels deux-points. On peut placer des silences (s).
Exemple
La commande \set chordChanges = ##t permet de n'afficher les accords que lorsqu'il y a un changement (donc de ne pas répéter deux accords identiques qui se suivent).
Si vous voulez que les accords soient notés en français, il faut mettre la commande \frenchChords en début de contexte.

### Basse chiffrée

    Pour plus de détails voir : Introduction à LilyPond/Une ligne mélodique complète.

## Ligne mélodique

La ligne mélodique s'écrit de la manière habituelle. Elle peut être mise dans un contexte \relative.

## Paroles
### Alignement automatique

Les paroles sont dans un contexte \addlyrics.
LilyPond s'occupe d'aligner les syllabes avec les notes de la mélodie, encore faut-il lui indiquer les syllabes.
L'espace entre deux mots indique un changement de note. Au sein d'un mot, les syllabes doivent être séparées par la combinaison « espace + deux tirets + espace ». Cela indique également à LilyPond comment faire les césures.
Lorsqu'une syllabe est chantée sur plusieurs notes (mélisme), on place deux tirets de soulignement (underscore) « __ » après. Il peut être nécessaire, dans la ligne mélodique, d'encadrer les notes du mélisme par les commandes \melisma et \melismaEnd. Lorsque les notes sont inclues dans une liaison non rythmique — liaison d'expression — par les signes ( et ), une seule syllabe sera allouée aux notes incluses dans la liaison.
Pour au contraire affecter plusieurs syllabes à une seule note, on les sépare d'un tiret de soulignement, ou bien on les met entre guillemets « " ». Pour faire figurer des guillemets dans le texte imprimé, il faut faire précéder le guillemet d'une barre de fraction inversée « \" ».
Si l'on veut que les paroles sautent une ou plusieurs notes, on utilise la commande \skip suivi d'un espace puis de la valeur rythmique à sauter (par exemple \skip 4 pour sauter une noire).
Il est possible de mettre plusieurs contextes \addlyrics les uns à la suite des autres ; à ce moment là, les paroles sont inscrites les unes en dessous des autres. On peut placer le numéro de couplet en commençant les paroles par \set stanza = "numéro ", par exemple \set stanza = "1. " pour le premier couplet.

#### Exemple

    … \relative c' { \clef treble \time 4/4 c8 c c d e4 d c8 e d d c2 } \addlyrics { \set stanza = "1. " Au clair de la Lu -- ne mon a -- mi Pier -- rot } \addlyrics { \set stanza = "2. " Au clair de la Lu -- ne Pier -- rot ré -- pon -- dit } …

### Alignement manuel

Dans certains cas, l'alignement automatique n'est pas possible, en particulier lorsque la partition a plusieurs portées (voir le chapitre Association de plusieurs voix). Il faut alors définir la durée de chaque syllabe manuellement. On utilise pour cela \lyricmode. Par exemple
L'absence de parole, par exemple sur un silence, peut se faire avec la commande \skip, mais aussi avec le tiret de soulignement (underscore) « _ ».

### Paroles en fin de morceau

En général, seul le premier couplet est sous la ligne mélodique, les autres sont en fin de morceau.
Pour cela, il faut ajouter un environnement \markup après la fermeture de l'environnement \score. La structure globale est alors la suivante :

## Voir aussi
### Dans Wikipédia

Une ligne mélodique complète < ↑ > Association de plusieurs voix

# Association de plusieurs voix
## Voix sur une même portée

Nous avons vu que pour mettre plusieurs voix sur une même portée, il suffisait de mettre les expressions musicales pour chaque voix entre deux paires de crochets pointus (voir Une ligne mélodique complète > Plusieurs voix sur une même portée).
Il peut se produire des collisions, des ambiguïtés. Pour lever ce problème, la première précaution consiste à séparer les expressions musicales par une double barre de fraction inversée \\.
On peut définir explicitement les voix en les introduisant par \new Voice. On peut alors indiquer qu'une voix doit avoir ses hampes orientées vers le haut, et l'autre vers le bas :
* une voix dont les hampes sont orientées vers le haut commence par \voiceOne ou \voiceThree ;
* une voix dont les hampes sont orientées vers le bas commence par \voiceTwo ou \voiceFour.

### Exemple

    \relative c' { c4 << \new Voice { \voiceOne c f } \new Voice { \voiceTwo d e } >> }
Cette méthode permet d'imbriquer les voix les unes dans les autres (par exemple une voix qui se séparerait en deux).
Si une expression musicale apparaît entre les <<…>> sans être introduite par \new Voice, alors elle est considérée comme la voix principale, c'est-à-dire la continuité de ce qui précède l'ouverture <<. On peut ainsi, par exemple, avoir un phrasé qui commence avant l'ouverture << et qui se termine après.

### Exemple

    \relative c' { c4( << { \voiceOne c f) } \new Voice { \voiceTwo d e } >> }

## Voix sur plusieurs portées différentes

Lorsque l'on écrit plusieurs voix sur des portées différentes, alors :
* les différentes voix sont chacune dans une accolade introduite par la commande \new Staff ;
* elles sont placées l'une après l'autre, dans l'ordre d'affichage sur la partition ;
* le tout est englobé dans des doubles crochets pointus <<…>>.
Pour mettre le nom des instruments, il faut définir, pour chaque voix (à l'intérieur des accolades) :
* le nom entier de l'instrument, avec la commande \with {instrumentName = "nom complet de l'instrument"} ;
* le nom abrégé de l'instrument, avec la commande \with {shortInstrumentName = "nom abrégé de l'instrument"}.
L'exemple suivant montre comment faire afficher un nom d'instrument sur deux colonnes :

### Exemple

Il est possible de grouper des voix en un système avec les commandes \new StaffGroup, \new GrandStaff ou \new ChoirStaff, par exemple :
cela centre les noms des instruments et affiche une accolade cursive (GrandStaff) ou bien rectiligne (StaffGroup, ChoirStaff) à gauche des portées. Dans le cas de GrandStaff et de StaffGroup, les barres de mesure sont connectées ; ce n'est pas le cas pour ChoirStaff.

## Passage d'une portée à une autre

Une voix peut passer d'une portée à une autre. Pour cela, il faut donner un nom à chaque portée (staff) lors de la création et utiliser la commande change :
Nous pouvons forcer l'orientation des hampes (stem) avec :
* \stemUp qui force la hampe vers le haut ;
* \stemDown qui force la hampe vers le bas ;
* \stemNeutral qui laisse LilyPond décider de l'oientation.

## Notes

* ↑ On peut également utiliser la syntaxe suivante : \set Staff.instrument = "nom complet de l'instrument" \set Staff.instr = "nom abrégé de l'instrument" \set Staff.instrument = \markup { \column { "Clarinette" \line { "en si" \smaller \flat } } } \set Staff.instr = "Clar."

## Voir aussi
### Dans Wikipédia

* Orchestre
* Polyphonie
Partition de chant et grille d'accords < ↑ > Gestion de partitions volumineuses

# Gestion de partitions volumineuses

Une partition peut vite devenir volumineuse, surtout lorsqu'elle contient plusieurs voix. Pour vous aider à gérer cette situation, LilyPond dispose de trois outils : les commentaires, les variables et la possibilité de scinder la partition en plusieurs fichiers. Par ailleurs, il y a la possibilité de créer plusieurs partitions dans un même document, comme par exemple les différentes pièces d'une œuvre. Enfin, la gestion des voix nécessite un peu de rigueur, et la mise en place de certains éléments peut faciliter le déchiffrage par les musiciens.

## Les commentaires

LilyPond est au fond un langage de programmation (voir le chapitre Programmation). Ce que vous tapez dans l'éditeur de texte est appelé le « code source ». Une bonne pratique de programmation consiste à commenter le code source. Cela permet :
* à d'autres personnes de comprendre ce que vous faites, et donc de pouvoir retravailler la partition, la corriger, la modifier ;
* de pouvoir retrouver rapidement un passage, soit en mettant en évidence certaines parties, soit en mettant des mots-clefs que vous pouvez retrouver avec la fonction de recherche de l'éditeur de texte (en général par le menu Édition | Rechercher).
Un commentaire s'introduit avec le signe pourcent « % » ; tout ce qui suit ce signe sur la ligne est ignoré.

### Exemple

Vous pouvez définir tout un bloc de commentaires, c'est-à-dire plusieurs lignes. Un bloc de commentaire est ouvert par %{ et est fermé par %}.
Une des manières de faire ressortir une partie du code consiste à mettre un commentaire entouré d'étoiles.

### Exemple

Les commentaires permettent aussi de faire des essais : plutôt que de modifier une ligne, vous pouvez la mettre en commentaire, la copier et modifier la copie, ce qui permet de revenir en arrière facilement.

### Exemple
## Les variables

Une variable est un nom qui se substitue à une expression musicale, c'est-à-dire à des notes dans une paire d'accolades. Pour déclarer la variable, on écrit simplement :
Pour utiliser cette variable, il suffit d'en écrire le nom précédé d'une barre de fraction inversée :
Comme de nombreux caractères ont des fonctions précises dans LilyPond (caractères spéciaux), il importe que le nom de la variable ne comporte que des lettres, et en particulier pas d'espace, de point, de chiffre, de tiret ni de tiret de soulignement.
Le nom de variable ne doit bien entendu pas être un nom de commande LilyPond.

### Exemple

    Frère Jacques en canon
Si vous travaillez avec plusieurs voix, une bonne pratique consiste à définir chaque voix dans une variable portant un nom explicite, puis d'utiliser ces variables dans une deuxième partie de fichier qui sera assez courte.

### Exemple

(Voir le chapitre suivant pour l'explication de TabStaff.)
L'utilisation de variables permet par ailleurs de faciliter le suivi de l'évolution de LilyPond. En effet, la description de la musique (donc le contenu des variables) est peu susceptible de changer, contrairement aux instructions spécifiques qui entourent cette musique. Ce point est d'autant plus important que le projet est volumineux.
Une variable peut également contenir une chaîne de caractère (éventuellement contenue dans un \markup {…} et assortie d'un indicateur de position « ^ » ou « _ »

## Scinder la partition en plusieurs fichiers

Il est possible de scinder la partition sur plusieurs fichiers. Chaque fichier élémentaire sert alors à définir une variable, et cette variable est utilisée dans un autre fichier, dit « fichier maître ». Le fichier élémentaire est intégré dans le fichier maître par la commande \include "nom_de_fichier".

### Exemple

    Le fichier chant.LY contient
    le fichier guitare.LY contient
    le fichier maître (par exemple nom_du_morceau.LY) contient

## Plusieurs partitions

Il est possible de mettre plusieurs partitions, contenues dans un contexte \score {…}, dans un même document. Pour cela, il faut utiliser un contexte global \book {…} (littéralement « livre ») qui contient les différentes partitions.
Il peut alors y avoir :
* un en-tête général, définissant le titre de l'œuvre et le nom de l'auteur ;
* un en-tête par partition, définissant le nom de la pièce.
Il est possible de placer du texte (par exemple des paroles) entre les partitions contenues dans le livre, avec la commande \markup (sur ce point, voir Partition de chant et grille d'accords > Paroles en fin de morceau).

### Exemple
## Gestion des voix

Pour les petites partitions, on peut laisser les voix se « créer toutes seules ». Avec les grandes partition, il faut :
* créer explicitement les portées et les voix avec la commande \new type ;
* donner des noms aux voix, en ajoutant = "NomDeVoix" après le type de voix ;
* regrouper les voix de même type dans des groupes (StaffGroup, PianoStaff, GrandStaff et ChoirStaff).
Le fait d'associer un nom à une voix permet de faire passer une ligne mélodique d'une voix à une autre, et d'associer des paroles à une voix donnée (voir ci-après).

### Exemple
## Aide au déchiffrage

Les grandes partitions sont en général des morceaux longs. Un certain nombre d'éléments facilitent le déchiffrage.

### Repères de répétition

LilyPond numérote les mesures et indique le numéro au début de chaque ligne. Cela permet, lors des répétitions, de reprendre à un endroit donné (« on reprend mesure 56 »). Il est possible de placer des repères, par exemple à l'introduction de nouveaux thèmes, ou aux « changements d'ambiance ». Pour cela, il suffit de mettre \mark \default avant la première note de la mesure visée ; cela place une lettre, qui facilite le repérage (« on reprend à B », « à la levée de C », « 8 après D »…).
Si l'on veut que le repère soit aligné avec la barre de mesure, on met :
Par défaut, les repères sont des lettres. Si l'on ne veut pas commencer au A mais, par exemple, à la 8e lettre (le H), on utilise :
Si l'on veut que la lettre soit encadrée, on utilise (avant le premier repère, par exemple au début de l'environnement \new Staff) :
Si l'on veut que les repères soient des nombres, on utilise :
et pour des nombres encadrés, on utilise :
Si l'on veut imposer un repère de répétition, il suffit de remplacer le default par la chaîne de caractère désirée, par exemple :

### Numérotation des mesures

La numérotation des mesures est automatique. Si l'on veut changer le numéro à partir d'une mesure on utilise la syntaxe suivante :
ici, la mesure sera numérotée 50, celle d'après 51, etc.
Par défaut, le numéro de la première mesure d'un environnement \score n'est pas affiché. Pour forcer l'affichage du numéro, il faut commencer la partie par une barre vide, \bar "".

### Citation d'une mélodie

Certaines parties ont de nombreuses mesures à compter. Le démarrage de l'instrument peut parfois être annoncé par le thème joué par un autre instrument. Le fait de citer ce thème facilite le travail du musicien, qui peut ainsi éviter de compter les mesures.
Pour cela, on a recours à une deuxième voix sur la portée pour citer la mélodie en parallèle des derniers silences.

#### Exemple

Il y a possibilité d'« automatiser » cela en utilisant les fonctions \addquote et \quoteDuring ou \cueDuring.

## Voir aussi
### Dans Wikipédia

Association de plusieurs voix < ↑ > Notation spécifique à certains instruments

# Notation spécifique à certains instruments
## Instruments à corde

Avec un instrument à corde, il est possible de laisser sonner une note pendant que l'on joue la suivante. Pour cela, on ajoute la commande \laissezVibrer après la note.

## Vents

Pour indiquer une respiration (avec une apostrophe), on utilise la commande \breathe.

## Piano

La partie de piano se compose de deux portées, une en clef de sol (en haut) et une en clef de fa. Les deux portées, créées comme à l'habitude par \new Staff, sont introduites la commande \new PianoStaff : les deux portées sont alors reliées par une accolades, et l'on n'indique le chiffrage de la mesure que pour la première portée (par contre, les altérations à la clef doivent être indiquées pour chaque portée).

### Exemple

Si l'on n'a qu'une seule mélodie, on peut aussi laisser LilyPond placer les notes sur la portée du haut ou du bas : les notes plus aiguës que le do médium sont placées en haut, et les notes plus graves en bas. On n'a plus donc qu'une seule voix. Pour cela, on utilise la commande \autochange.

### Exemple

Pour indiquer les actions sur les pédales, on met les commandes suivantes après la note à laquelle on effectue l'action :
* \sustainDown : on appuie sur la pédale forte (celle qui prolonge le son) ;
* \sustainUp : on relâche la pédale forte ;
* \unaCorda : on appuie sur la pédale douce ;
* \treCorde : on relâche la pédale douce ;
* \sostenutoDown : on appuie sur la pédale de soutien ;
* \sostenutoUp : on relâche la pédale de soutien.
Par défaut, l'appuie sur la pédale forte est indiqué par la mention « Ped. » en écriture cursive, et le relâchement est indiqué par une étoile. On peut remplacer ceci par un crochet placé sous les notes à laisser sonner, en indiquant la commande :
    \set Staff.pedalSustainStyle = #'bracket
On peut indiquer la mention « Ped. » et mettre des crochets avec la commande :
    \set Staff.pedalSustainStyle = #'mixed

## Guitare
### Notation classique

Habituellement, on utilise la clef de sol une octave en dessous de son niveau normal ; on utilise donc \clef "G_8".
Pour entrer le doigté utilisé, on peut utiliser les indications habituelles (cf. Une ligne mélodique complète > Indications supplémentaires).
Dans le cas d'un accord, on peut indiquer le numéro de corde, on ajoute simplement le numéro de la corde précédé d'une barre de fraction inversée :
* \1 pour la mi aigu ;
* \2 pour la si ;
* \3 pour la sol ;
* \4 pour la ré ;
* \5 pour la la ;
* \6 pour la mi grave.
On utilise les mêmes conventions pour les autres instruments de la famille, comme le banjo ou la guitare basse. Notons que comme pour la guitare, on écrit les notes une octave au dessus de leur hauteur réelle avec la guitare basse ; on utilise donc \clef "F_8".

### Tablature

Pour mettre des tablatures, on crée une portée spécifique avec la commande \new TabStaff. La corde est indiquée comme ci-dessus, et la frette est déterminée automatiquement.
Au lieu d'indiquer la corde, on peut indiquer la position, c'est-à-dire la frette sous l'index (la frette plus basse jouée). Pour cela, on définit la variable \set TabStaff.minimumFret = #n°_de_frette ; il est alors inutile d'indiquer le numéro de corde après.

#### Exemple

    gamme pentatonique de la mineur avec indication des cordes
    gamme pentatonique de la mineur avec indication de la position
    les deux donnent le même résultat :
Si l'on écrit en parallèle la musique sur une portée et sur une tablature, on peut mettre en évidence l'association des deux en les plaçant dans un groupe de portées (\new StaffGroup), notamment lorsque d'autres voix sont portées sur la partition.
Si l'on change l'accordage de la guitare (par exemple jeu en accordage « à vide », « open chords »), il faut indiquer la note à vide de chaque corde. Cela s'indique sous la forme d'un entier positif ou négatif qui correspond au nombre de demi-tons par rapport au do médium.
Par exemple, pour un accordage ouvert en ré (D open tuning), les cordes suivant la progression ré-la-ré-fa♯-la-ré (DADF♯AD) :
Il existe aussi des modes prédéfinis, par exemple
On utilise aussi cette technique pour créer les tablatures d'une guitare basse, mais Lilypond dispose d'un mode prédéfini :
En guise de référence, voici les accordages habituels de la guitare et de la basse :
    guitare : (+4 -1 -5 -10 -15 -20) ;
    basse : (-17 -22 -27 -32).

### Diagramme d'accord

On peut placer un diagramme d'accord. C'est une chaîne de caractère \markup placée au-dessus de la portée, donc avec l'accent circonflexe « ^ ». Ce diagramme est introduit par \fret-diagram-terse #"diagramme" et est une succession de codes séparés par un point virgule ; le code peut être :
* x (petit X) : la corde n'est pas jouée ;
* o (petit O) : la corde est jouée à vide ;
* un numéro : la frette correspondante.
L'ordre des cordes est de la plus grave à la plus aiguë (de gauche à droite sur le diagramme).

#### Exemple

    accord de ré majeur

#### Exemple

    accord de la mineur
Pour faire un barré, il faut :
* pour la première corde concernée, que la frette soit suivie d'un tiret puis d'une parenthèse ouvrante, avant le point-virgule ;
* pour la dernière corde concernée, que la frette soit suivie d'un tiret puis d'une parenthèse fermante, avant le point-virgule.

#### Exemple

    accord de sol majeur en barré sur la troisième case
On peut faire figurer plusieurs doigtés sur une même corde (par exemple pour indiquer deux accords proches avec un seul diagramme, ou encore une alternative à un accord). Pour cela, il suffit de mettre les indications de frette séparées par un espace, avant le point-virgule qui conclut la corde.
Si l'on utilise \fret-diagram #"diagramme" à la place, il faut indiquer le numéro de corde devant, le mi grave étant la corde 6 et le mi aigu la corde 1. Le diagramme est une succession de n° de corde-frette;. Dans ce cas-là, le barré n'est pas figuré par un trait.

#### Exemple
### Autres notations

Les notes étouffées se notent avec un croix. Pour ce faire, on introduit le passage par \override NoteHead #'style = #'cross et on le termine par \revert NoteHead #'style.

## Chant

Nous avons déjà vu comment faire figurer des paroles (voir Partition de chant et grille d'accords > Paroles). Il existe d'autres manières de faire, qui donnent des possibilités supplémentaires.
Par ailleurs, pour être aussi rigoureux que les portées, les paroles devraient être introduites par \new Lyrics.
Les voix chantées peuvent être regroupées dans un ensemble \new ChoirStaff <<…>>.
Si les paroles sont trop resserrées, on peut augmenter l'espacement avec \override Lyrics.LyricSpace #'minimum-distance = #valeur, par exemple \override Lyrics.LyricSpace #'minimum-distance = #valeur. Cette commande prend effet pour les paroles qui suivent. On peut le généraliser en le mettant dans le bloc \layout (voir Mise en forme d'une partition.

### Mode \lyricmode

Si l'on utilise le mode \lyricmode, il est possible d'indiquer la durée de chaque syllabe ; si la durée est omise, LyliPond la détermine de manière automatique comme avec \addlyrics.

#### Exemple

Ce mode permet de placer des paroles dans une variable.

### Mode \lyricsto

Le mode \lyricsto permet de travailler avec des portées ayant plusieurs voix. En effet, si l'on donne un nom à une voix, on peut alors associer explicitement les paroles à une voix.

#### Exemple

Dans ce mode, le placement des syllabes est déterminé de manière automatique, comme avec \addlyrics. Par ailleurs, lorsque des notes sont liées par un legato, cela est automatiquement considéré comme un mélisme. Pour qu'un groupe non lié soit considéré comme un mélisme, il faut placer \melisma après la première note et \melismaEnd après la dernière note du groupe.

## Instruments transpositeurs

Dans le cas d'un instrument transpositeur, comme une clarinette ou une trompette en si ♭, on écrit la hauteur des notes que doit lire l'instrumentiste. Si l'on veut générer un fichier midi, on indique à LilyPond qu'il faut décaler les notes par l'instruction :
Voir l'exemple dans Association de plusieurs voix > Voix sur plusieurs portées différentes.

## Batterie

Pour entrer une partie de batterie, on utilise la commande \drums à la place de \new Staff. À la place des noms des notes, on utilise les noms des accessoires (en anglais), ou bien leur abréviation. Les durées sont indiquées comme à l'habitude. Par exemple, pour un coup de grosse caisse sonnant durant une noire, on peut entrer bassdrum4 ou bien bd4.

### Exemple

    donne
    Fichier:Ly intro queen another one bites the dust.png
    écouter l'extrait
Nom et abréviations des accessoires :
| Accessoire | Nom LilyPond | Abréviation |
| frappe de baguettes | sidestick | ss |
| grosse caisse | bassdrum | bd |
| caisse claire | snare | sn |
| tom aigu | hightom | tomh |
| tom moyen aigu | himidtom | tommh |
| tom moyen grave | lowmidtom | tomml |
| tom grave | lowtom | toml |
| charleston | hihat | hh |
| charleston ouvert | hihatopen | hho |
| charleston semi-ouvert | halfopenhihat | hhho |
| charleston fermé | closedhihat | hhc |
| pédale de charleston | pedalhihat | hhp |
| crash | crashcymbal | cymc |
| splash | splashcymbal | cyms |
| ride | ridecymbal | cymr |
| cloche du ride | ridebell | rb |
| frappe de main | handclap | hc |
La liste des accessoires se trouve dans le fichier drumpitch-init.LY situé dans un dossier ly (par exemple LiLypond\ usr\ share\ lilypond\ current\ ly\).

## Voir aussi
### Dans Wikipédia

Gestion de partitions volumineuses < ↑ > Mise en forme d'une partition

# Mise en forme d'une partition

LilyPond se charge lui-même de la mise en page. Il est toutefois possible de lui donner des directives.

## Note

    On attribue des valeurs aux variables avec le signe égale : variable = valeur. Dans certains cas, le chiffre est précédé du croisillon # (parfois appelé, à tort, « dièse ») ; de manière générale :
   * le croisillon est un symbole de Scheme (le langage dans lequel est écrit LilyPond) ; le croisillon est en général optionnel puisque les valeurs sont par défaut interprétées en tant qu'expression de Scheme, mais il devient obligatoire lorsqu'il y a une ambiguïté (par exemple, « -1 » est normalement interprété comme un doigté, il faut écrire « #-1 » pour qu'il soit interprété comme « moins un ») ;
   * il ne doit pas y avoir de croisillon lorsque l'expression ne doit pas être interprétée par Scheme (comme par exemple celles contenant une unité, par exemple dans le cas de « 2\cm » pour « deux centimètres »).
    Si l'on ne connaît pas Scheme, le mieux est de reproduire la syntaxe des exemples de la documentation officielle, ou de procéder par essai-erreur.
    Certaines variables sont des booléens, c'est-à-dire ont pour valeur « vrai » ou « faux ». La valeur « vrai » est notée « #t » (true) et la valeur « faux » est notée « #f » (false). Si ces valeurs sont précédées du croisillon, on écrit variable = ##t ou variable = ##f.

## Retour de ligne et saut de page

On peut forcer un retour de ligne avec l'instruction \break. Cette commande ne peut se placer que là où se trouve une barre de mesure « valide » (par exemple, une note qui dépasse d'une mesure rend impossible le saut de ligne). Il est possible de forcer un retour au milieu d'une mesure en introduisant une barre de mesure « invisible », avec la commande \bar "".
On peut à l'inverse empêcher un retour de ligne avec la commande \noBreak. Cette commande doit aussi être placée à une barre de mesure valide.
Si l'on veut faire des retours de ligne régulier, on peut alors créer un voix qui ne contiendra que des retours de ligne, parallèle à la musique. Les retours de lignes sont alors séparés par des valeurs temporelles s (space).

### Exemple

    Pour forcer un retour de ligne toutes les quatre mesures pour une mesure à quatre temps, sur vingt-huit mesures (7×4) :
On peut forcer un saut de page avec la commande \pageBreak, et on peut interdire un saut de page avec \noPageBreak.

## « Écrire plus petit »

L'exemple suivant permet de mettre « plus de notes dans une page » que le comportement par défaut :
La valeur de set-global-staff-size est en points typographiques. Les valeurs habituelles sont entre 11 et 16 pour des livrets de poche, 18 pour un carnet de chant et 20 à 25 pour une partition. La valeur par défaut est 20.
La valeur indent est le décalage de la première ligne. La valeur par défaut est 15\mm (1.5\cm).
La valeur common-shortest-duration indique quelle est la figure de base. La valeur par défaut, 1/4, désigne une noire ; les notes plus courtes sont suivie d'une espace proportionnelle à la durée. Si nous prenons une valeur de référence plus longue, ici 1/2 pour une blanche, cela resserre les notes.

## Configurer le comportement

On peut modifier la manière dont LilyPond place les différents éléments.
Dans un fichier .LY, il y a deux endroits où l'on peut indiquer les paramètres. Ces « blocs de définition » sont :
* le bloc de définition du papier, \paper {…}, qui se place en début de document, avant la partition ;
* le bloc de définition de la mise en forme, \layout {…}, qui se place au sein de la partition.
La structure globale du fichier est donc :

### Blocs de définition du papier

Le bloc \paper {…} peut contenir plusieurs paramètres.

#### Choix du format du papier

On peut définir le format du papier avec la commande #(set-paper-size "format"), où format est :
* a6 (10,5×14,8 cm), a5 (14,8×21 cm), a4 (21×29,6 cm), ou a3 (29,7×42 cm) : formats standards ISO ;
* legal (21,6×35,6 cm), letter (21,6×27,9 cm) et 11x17 (27,9×43,2 cm) : formats étatsuniens.
Le format par défaut est a4.
L'orientation par défaut est « portrait » (la grande dimension est verticale). Pour que le papier soit orienté en « paysage » (la grande dimension à l'horizontale), il faut alors utiliser la commande
placée au début du fichier (pas dans le bloc \paper).
Si l'on veut générer une image de petit format, par exemple juste quelques lignes de musique à intégrer dans autre document, on peut utiliser les variables paper-width (largeur de page), line-width (largeur de ligne) et paper-height, par exemple
L'attribution de la valeur « faux » à la variable make-footer enlève le pied de page.
Par défaut lilypond ajoute un pied de page "Music engraving by LilyPond (N° de version) — www.lilypond.org". On peut le modifier dans le bloc \paper.
Exemple :
compose une ligne rappelant le titre de la partition sur sa partie gauche et indiquant son N° de version sur la droite.
On peut également ajuster la largeur des portées (line-width), les marges (top-margin, right-margin, bottom-margin, left-margin), la distance entre l'en-tête et la première portée (head-separation) ou entre le pied de page et la dernière portée (foot-separation), l'espacement entre les systèmes de portées (between-system-space), …

#### Marges et espacement entre blocs

On peut définir la taille des marges sous la forme variable = valeur. La valeur peut être indiquée en millimètres, en ajoutant \mm derrière la valeur, en en centimètres, en ajoutant \cm, en pouces, en ajoutant \in, et en point typographique en ajoutant \pt. Les variables pour les marges sont les suivantes
* top-margin : distance entre le haut de la feuille et le haut des caractères de la première ligne (5 mm par défaut)
* bottom-margin : distance entre le bas de la feuille et le bas des caractères de la dernière ligne (6 mm par défaut)
* left-margin distance entre la gauche de la feuille et la gauche du premiers caractère de chaque ligne (pas de défaut).
Les marges de gauche et de droite sont en fait définis par la largeur de la ligne, déterminée par la variable line-width (20 mm par défaut). Si left-margin n'est pas défini, la ligne est centrée. La marge de droite dépend de la marge de gauche et de la largeur de la ligne.
Par ailleurs, on peut aussi définir l'espacement entre les différents blocs de la page :
* head-separation : distance entre l'en-tête (titre, auteur…) et la première portée (4 mm par défaut) ;
* foot-separation : distance entre la dernière portée et le pied de page (4 mm par défaut) ;
* horizontal-shift : décalage vers la droite de certains éléments, laissant plus de place pour les noms d'instrument (0 par défaut) ;

#### Sauts de page

LilyPond peut utiliser trois algorithmes différents pour déterminer les sauts de page :
* optimal-breaking (par défaut) : cherche à éviter que les notes soient trop resserrées ou espacées ;
* page-turn-breaking : cherche à placer les sauts de page aux endroits où il y a des silences, afin de diminuer la difficulté liée au fait de tourner les pages ; on peut aussi indiquer qu'un saut de page est possible avec l'instruction \allowPageTurn ;
* optimal-page-breaks (l'ancien algorithme).
Pour changer l'algorithme utilisé, il faut mettre dans le bloc de définition /paper la commande #(define page-breaking ly:algorithme).

##### Exemple
#### Numérotation des pages

On peut définir les variables suivantes :
* first-page-number : numéro de la première page (1 par défaut) ;
* print-first-page-number : vrai (##t) pour que la première page soit numérotée, faux (##f, valeur par défaut) pour qu'elle ne le soit pas ;
* print-page-number : vrai (##t, valeur par défaut) pour que les numéros de page soient imprimés, faux (##f) pour qu'ils ne le soient pas.

#### Extension sur la page

Par défaut, les notes sur une portée sont placées de manière à occuper toute la largeur de la ligne. Si l'on veut avoir une écriture plus compacte, alors il faut mettre la variable ragged-right sur vrai (##t). Ceci est utile lorsque l'on n'a qu'une seule ligne (par exemple, pour les courtes citations, les présentations d'un thème…).
On peut demander à LilyPond de n'avoir une écriture compacte que sur la dernière ligne de la partition. Ceci se fait en mettant la variable ragged-last sur vrai (##t).
La première ligne est en général en retrait (indentation). On peut modifier ce retrait en modifiant la valeur de la variable indent.
Par défaut, LilyPond ne cherche pas à remplir toute la page. On peut forcer Lilypond à augmenter l'espace entre les portées afin d'occuper tout l'espace vertical. Pour cela, il faut mettre la variable ragged-bottom sur vrai (##t).
Ceci ne s'applique pas à la dernière page. Pour que les portées s'espacent sur la dernière page, il faut mettre la variable ragged-last-bottom sur faux (##f).

### Autres paramètres globaux

Les paramètres globaux ne concernant pas le papier en lui-même sont fixés hors de tout bloc ou contexte.

#### Taille des portées

Il existe huit tailles de portée, exprimées en point typographique : 11 (pour les livrets de poche), 13, 14, 16, 18 (pour les livres de chant), 20 (pour les partitions classiques), 23 et 26.
Pour définir la taille de portée par défaut, on utilise la commande
    #(set-global-staff-size taille)
par exemple
    #(set-global-staff-size 14)

### Bloc de définition de la mise en page d'une partition

Le bloc \layout {…} peut contenir plusieurs paramètres, qui s'appliquent à une partition donnée (mais pas à tout un livre). On peut ainsi faire varier la mise en forme d'une pièce à l'autre d'une même œuvre, ou entre les morceaux d'un recueil.
On peut par exemple mettre les variables ragged-right, ragged-last ou indent dans le bloc \layout {…} plutôt que \paper {…}. Dans le cas où il n'y a qu'une seule partition dans le fichier, cela n'a aucune importance.

### Dans une expression musicale

Certaines modifications ne concernent qu'une expression musicale, ou qu'une partie de cette expression.

#### Taille des notes

La taille des notes est calculée en fonction de la taille de la portée (pour une portée de 20 points, les notes ont une taille de 10 points) ; la police utilisée pour les figures de notes est Feta.
On peut changer provisoirement la taille des notes avec la commande \set fontSize = #modificateur, où modificateur est un nombre entier, positif ou négatif :
* -6 : moitié de la taille normale ;
* 0 : taille normale ;
* 6 : double de la taille normale.
Un pas représente une variation d'environ 12 % de la taille précédente. Par exemple pour une portée de 20 points, \set fontSize = #-1 donnera des notes de taille 9 tandis que \set fontSize = #1 donnera des notes de taille 11.

## Quelques astuces
#### Positionnement vertical des silences

Les silences sont placés automatiquement sur la portée par Lilypond, la plupart du temps d'heureuse façon. Quelquefois cependant, il peut paraître nécessaire d'ajuster la position du silence sur la portée.
On utilise habituellement une commande du type fa4\rest par exemple pour placer un soupir à la hauteur de la note fa sur la portée.
On peut aussi utiliser une commande du type \once\override Rest #'extra-offset = #'(0.0 . 5.0) r4. Il faut placer cette commande juste avant le silence à modifier. Elle présente l'avantage de pouvoir aussi ajuster la position horizontale du silence. Cela peut servir dans des cas particuliers. Bien sûr les paramètres de la commande (ici ajustement horizontal 0.0 et ajustement vertical 5.0) sont à régler finement au cas par cas, le plus souvent par tatonnement. Ces paramètres peuvent être négatifs. Toutefois, cette commande ne fonctionne pas correctement pour les pauses et les demi-pauses à placer en dehors des portées.
Enfin la commande suivante peut aussi modifier la position verticale de pauses par exemple, tout au long de plusieurs mesures : \override MultiMeasureRest #'staff-position = #4.

#### Positionnement de textes

On peut modifier la position horizontale et verticale de textes au-dessus de la portée avec la commande \once\override Voice.TextScript #'extra-offset = #'(-1.5 . -1.0) par exemple.
Un texte peut comporter aussi une marque musicale, un trille, un point d'orgue par exemple. Voici un exemple complet : \once\override Voice.TextScript #'extra-offset = #'(-1.5 . -1.0) la4^\markup{"(" \hspace #0.5 \musicglyph #"scripts.ufermata" \hspace #-1 ")"} Il s'agit d'un point d'orgue placé entre parenthèses. La position du point d'orgue a été ici ajustée avec les paramètres -1.5 horizontalement et -1.0 verticalement.

## Voir aussi
### Dans Wikipédia

* Booléen
* Format de papier
* Point typographique
* Pouce (unité)
Notation spécifique à certains instruments < ↑ > Génération d'un fichier de son

# Génération d'un fichier de son

Pour que LilyPond génère un fichier de son, il faut indiquer \midi à la fin du fichier. La commande doit être placée à l'intérieur du contexte \score, mais après la description de la musique (après le dernier >> ou l'accolade de fermeture de la voix lorsqu'il n'y en a qu'une).
Le fichier Midi est alors généré automatiquement lors de la compilation. Cependant, il n'y a alors pas de fichier PS ou PDF généré.
Pour que la compilation génère la partition et le fichier son, il faut mettre également une commande \layout à côté de la commande \midi
La structure globale du fichier est donc :
ou bien, à plusieurs voix :

## Choix des instruments

On peut définir l'instrument associé à chaque voix. Pour cela, il faut définir la variable Staff.midiInstrument dans la voix (c'est-à-dire entre les accolades de la voix). Ceci est indépendant du nom qui est affiché, défini par la variable \set Staff.instrument (cette dernière n'est qu'une chaîne de caractères destinée à être affichée).

### Exemple

ou bien
Liste non exhaustive de noms d'instrument utilisables :
| Instrument | Nom codifié |
| Cordes frottées ||
| violon | violin, orchestral strings, string ensemble 1 ou 2, pizzicato strings, fiddle |
| alto | viola |
| violoncelle | cello |
| contrebasse | contrabass |
| Bois ||
| flute traversière piccolo | flute piccolo |
| hautbois cor anglais | oboe english horn |
| clarinette | clarinet |
| basson | bassoon |
| saxophone | soprano sax, alto sax, tenor sax, baritone sax |
| cornemuse, biniou | bagpipe |
| Cuivres ||
| trompette | trumpet |
| trombone | trombone |
| tuba | tuba |
| cor | french horn |
| Cordes pincées ||
| guitare classique guitare folk | acoustic guitar (nylon) acoustic guitar (steel) |
| guitare électrique | electric guitar (jazz), electric guitar (clean), electric guitar (muted), overdriven guitar, distorted guitar |
| basse | acoustic bass, electric bass (finger), electric bass (pick), fretless bass, slap bass 1 ou 2 |
| banjo | banjo |
| clavecin | harpsichord |
| harpe | orchestral harp |
| Claviers ||
| piano | acoustic grand, bright acoustic, electric grand, honky-tonk (bastringue), electric piano 1 ou 2 |
| clavecin | harpsichord |
| orgue | drawbar organ, percussive organ, rock organ, church organ |
| accordéon | accordion |
| Percussions ||
| cloches | glockenspiel, tubular bells, tinkle bell |
| xylophone | xylophone |
| boîte à musique | music box |
| Divers ||
| voix | choir aahs, voice oohs, synth voice |
| bruitages | fx 1 (rain), guitar fret noise, breath noise, seashore, bird tweet, telephone ring, helicopter, applause, gunshot |
Voir la totalité des noms utilisables sur la page MIDI instruments du site de LilyPond

## Paramètres de la commande \midi

Les accolades situées après \midi permettent de mettre des commandes de paramétrage — les accolades sont obligatoires même en l'absence de telles commandes.
Par exemple, si la description de la musique ne contient pas d'indication de tempo, il est possible de l'indiquer dans le contexte \midi, de la même manière.

### Exemple

    \midi { \tempo 4=90 }

## Paramètres de la sortie midi

La sortie midi prend en compte les indications présentes dans la partition, c'est-à-dire la hauteur des notes, le rythme, mais aussi les indications de nuance et de changements de tempo. Les crescendi et decrescendi se traduisent par un augmentation ou une diminution régulière du son entre le début et la fin du crescendo ou decrescendo ; toutefois cette fonction n'est pas opérationnelle sur une note isolée.

## Gestion des répétitions

Les répétitions (trémolos, répétitions de mesures, reprises…) ne sont normalement pas prises en compte lors de la génération du fichier midi. On peut les faire prendre en compte en utilisant la commande \unfoldRepeats ; tout se passe alors comme si les commandes \repeat avaient le style "unfold".
On peut par exemple avoir deux environnements \score contenant la même musique, le premier contenant \layout, le second ayant la même expression musicale, mais dans un environnement \unfoldRepeats et contenant \midi.

### Exemple
## Voir aussi
### Dans Wikipédia

Mise en forme d'une partition < ↑ > Programmation

# Afficher du texte

Nous avons vu à plusieurs endroits comment afficher du texte. Nous regroupons ici les informations.

## Comment afficher du texte
### Chaîne de caractères

Dans LilyPond, le texte à afficher peut être :
* mis entre guillemets anglais ", par exemple : "Texte à afficher" ; c'est la solution utilisée lorsque le texte est simple : sans caractère spécial, sans mise en forme (pas d'italique ni de gras, pas de retour à la ligne…) ;
* mis dans un environnement \markup{…}, par exemple : \markup{Texte à afficher}.
La chaîne vide s'écrit donc "" ou bien \markup.

### Dans l'en-tête

Il y a du texte qui est lié à l'en-tête du document : il est mis dans des variables dédiées. C'est en particulier le cas du titre de la pièce (dans la variable title) et du nom du compositeur (dans la variable composer) :
La liste des variable de l'en-tête est donnée au chapitre Partition de chant et grille d'accords > En-tête.

### Dans la nomenclature

Il y a du texte qui est lié à la portée, il est lui aussi mis dans des variables ; il s'agit du nom de l'instrument (dans les variables instrumentName et shortInstrumentName) qui s'affiche dans la nomenclature (marge à gauche de la portée) :

### Au niveau des fonctions qui structurent la partition

Il y a du texte attaché à certaines fonctions qui structurent la partition. C'est par exemple le cas de l'indication textuelle du tempo (qui suit la commande \tempo), des noms de section (qui suivent la commande \sectionLabel) ou des marques de répétition (qui suivent la commande \mark) :
Concernant les sections :
* cette fonctionnalité a été introduite avec la version 2.23
* la commande \section indique un changement de section et place automatiquement une double-barre de mesure || ;
* si l'on veut donner une indication avant la double-barre, par exemple une indication de saut (type D.C. ou D.S.) , on la met après une commande \jump, le texte est alors en italiques.

### Au niveau des notes ou des mesures

Il y a du texte qui est affiché au-dessus ou en dessous d'une note ; il s'agit en général d'un commentaire ou d'une indication de jeu. Pour placer ce texte, on le met après un trait d'union - pour laisser LilyPond placer le texte librement au-dessus ou en dessous ; après un tiret de soulignement _ pour le placer sous la portée, et après un accent circonflexe ^ pour le mettre au-dessus de la portée :
Il y a du texte attaché aux mesures ; il est placé au-dessus de la portée. Si le texte doit être aligné au début de la portée, on utilise une commande \textMark ; pour l'aligner à la fin de la mesure, on utilise \textEndMark.

### Paroles

Il y a le texte des paroles d'un chant. Il est dans un environnement \lyricmode. Ce mode est activé automatiquement avec la commande \addlyrics{…} (pour les chants simples) ou bien \lyricsto{…} (qui permet d'attacher les paroles à une voix Voice donnée) :
Pour avoir tout le texte en italique :

### Texte indépendant de la partition

On peut mettre un bloc de texte avant ou après un environnement \score{…}, par exemple pour mettre une introduction et des notes de fin.

### Note

Dans tous les exemples ci-dessous, on peut utiliser un environnement \markup{…} et des variables.
Par exemple :

## Mise en forme globale

Le bloc \layout{…} permet de définir des paramètres de mise en forme valables pour la partition pour certains contextes.

## Mise en forme d'une portée

Les paramètres de mise en forme concernant une portée sont placés dans l'environnement \with, ou ben au sein de l'environnement avec un \set :
Cela concerne :
* la nomenclature (nom de l'instrument) ;
* la clef ;
* le chiffrage de la mesure.

## Mise en forme d'un texte donné

Pour mettre en forme une chaîne de caractère, il faut utiliser le contexte \markup{…}.
Pour changer le corps (la taille du texte), on peut utiliser une commande mnémotechnique — dont le nom a un sens en anglais — comme tiny (minuscule) ou huge (énorme), ou bien en indiquant une variation de la variable fontSize (taille de fonte) :
* jusqu'à la version 2.18 : \set fontSize = #n ;
* à partir de la version 2.19 : \set fontSize = n.
Changement de corps :
| Commande mnémotechnique | fontSize |
| \teeny | -3 |
| \tiny | -2 |
| \small | -1 |
| \normalsize | 0 |
| \large | 1 |
| \huge | 2 |
Pour encadrer le texte, on utilise la commande \box{…} ; les mots sont encadrés séparément. Pour avoir un cadre commun à plusieurs mots, on utilise la commande \wordwrap{…}.
https://lilypond.org/doc/v2.23/Documentation/notation/formatting-text.fr.html

## Caractères spéciaux

\coda, \flat, \doubleflat, \semiflat, \sharp, \doublesharp, \semisharp, \natural, \fermata, \segno, \musicglyph "scripts.segno"
Pour afficher une note dans un contexte \markup, on peut utiliser :
* \note {"m} #n où m est la durée (par exemple {4} pour une noire, {4.} pour une noire pointée) et n est la longueur de hampe (#1 pour une hampe de longueur standard vers le haut, #-0.75 pour une hampe plus courte vers le bas) ; jusqu'à la version 2.21 de LilyPond, la syntaxe est : \note #"m" #n ;
* \note\note-by-number #m #n #p où m est la durée de base, n est le nombre de points et p est la longueur de hampe ;
* à partir de la version 2.23, on peut utiliser la commande \rythm{musique} dans laquelle musique est le motif rythmique écrit sans hauteur de note (par exemple \rythm{\tuplet 3/2{4 8}} pour une noire et une croche en triolet).
On peut créer une espace de longueur définie, positive ou négative (cela rapproche le caractère suivant) avec \hspace (horizontal space, espace horizontale) et \vspace (vertical space, espace verticale), par exemple : \hspace #0.75.

## Notes et références

* « 1.8.2 Mise en forme du texte », sur LilyPond (consulté le 5 avril 2024)
Génération d'un fichier de son < ↑ > Programmation

# Programmation
## Concepts de base
### Expression musicale

Une « expression musicale » est un ensemble d'instructions comprises dans une paire d'accolades {…} ou par une paire de double-crochets pointus <<…>>. Les expressions musicales peuvent s'imbriquer.
* A single music expression
* Music expressions explained

### Contexte d'interprétation

Les expressions musicales sont interprétées pour donner la partition. Cette interprétation prend en compte des paramètres tels que la clef, le chiffrage de la mesure, l'armure…
Au sein d'une même partition, on peut avoir plusieurs contextes d'interprétation possibles. On a plusieurs niveaux qui s'imbriquent :
* le fichier LilyPond est bien entendu un contexte ; il peut être séparé en plusieurs livres (\book {…}), chaque livre est alors un contexte (certains paramètres s'appliquent à un livre et pas à un autre) ;
* certains paramètres s'appliquent à toute la partition ; la partition, introduite par \score, est donc un contexte ;
* au sein de la partition, certains paramètres s'appliquent à telle ou telle portée (par exemple la clef) ; la portée, introduite (en général) par \new Staff, est donc un contexte ;
* au sein d'une portée, certains paramètres s'appliquent à telle ou telle voix ; la voix, expression musicale au sein d'un <<…>> (éventuellement introduite par \new Voice), est donc un contexte.
Interpretation contexts

## En-tête

Il est important d'indiquer la version, par exemple :
en effet, cela permet :
* de savoir quelle version était utilisée lorsque l'on reprend un « vieux » fichier ;
* d'utiliser un programme, convert-ly, qui transforme automatiquement le fichier pour qu'il soit compatible avec une version plus récente.

## Chaînes de caractère
### Mise en forme

à utiliser dans \markup :

#### Police

* \bold : texte en gras ;
* \italic : texte en italique ;
* \smallCaps : petites capitales ;
* \typewriter : police type machine à écrire ;

#### Corps (taille)

* \large : plus grand ;
** \huge : encore plus grand ;
** bigger plus grand que la taille courante ;
* \small : plus petit ;
** \tiny : encore plus petit ;
** \teeny : encore encore plus petit ;
** \smaller : plus petit que la taille courante ;

#### Position

* \combine : comme ci-dessus, mais sans barre de fraction ;
* \fraction : met les deux chaînes suivantes en fraction ;
* \hspace : espacement horizontal ; peut être négatif pour décaler vers la gauche, par exemple \hspace #-1 ;
* \sub : texte en indice ;
* \super : écriture en exposant ;

#### Encadrement

* \box : met un rectangle autour du caractère ;
* \circle : met un cercle autour du caractère.
Ces commandes s'appliquent à la chaîne qui les suit, mais pas à celles d'après ; si les chaînes ne sont pas entre guillemets, une commande s'applique jusqu'à une commande l'invalidant.

### Caractères spéciaux

à utiliser dans \markup :
* \arrow-head axe direction remplissage → tête de flèche ;
** \arrow-head #X #RIGHT ##t : horizontale (axe X), vers la droite (direction RIGHT), remplie (remplissage « vrai » #t) ;
** \arrow-head #Y #LEFT ##f : verticale (axe Y), vers le bas (direction LEFT), vide (remplissage « faux » #f) ;
* \doubleflat → ♭♭ ;
* \doublesharp → × ;
* \flat → ♭ ;
* \natural → ♮ ;
* \semiflat → demi-bémol (bémol inversé) ;
* \semisharp → demi-dièse (avec une seule barre verticale) ;
* \sesquiflat → trois-demi de bémol (double bémol barré) ;
* \sesquisharp → trois-demi de dièse (dièse avec trois barres verticales) ;
* \sharp → ♯ ;
Overview of text markup commands

## Programmation avancée

Lilypond a été écrit en Scheme. Il est possible de développer des modules en Scheme.
Interfaces pour programmeurs

## Voir aussi
### Dans Wikipédia

Afficher du texte < ↑ > LilyPond et Python

# LilyPond et Python

Le langage Python dispose d'un module python-ly qui permet de manipuler du code LilyPond.

## Importation du module

Pour télécharger le module, il faut utiliser la commande Python :
Cela met à disposition le module ly, qui contient lui-même plusieurs modules. Par la suite, il faut importer le module dont on a besoin dans le programme où on veut l'utiliser. Si par exemple on veut utiliser le module ly.musicxml pour manipuler le format musicXML, le début du programme sera donc :

## Voir aussi

* La page du projet : https://pypi.org/project/python-ly/ ;
* la page de documentation du projet : https://python-ly.readthedocs.io/.
Programmation < ↑ > Voir aussi

# Voir aussi

Voici quelques documents utiles pour aller plus ou loin, ou simplement pour se documenter sur des aspects précis de LilyPond.

## Dans Wikibooks

* MusiXTeX

## Dans Wikipédia

* Format Midi
* Langage informatique
* Logiciel libre
* LilyPond
* PDF
* PostScript

## Liens externes

* LilyPond, page officielle
* Musipedia : son piano virtuel génère directement du code LilyPond
* (anglais) Wiki LilyPond officieux
* L'extension MusicTeX sur le CTAN
* (en) « frescobaldi »
Programmation < ↑ > Index

# Index

* \1, \2, \3, \4, \5 : 1
* 7 : 1
* 7maj : 1
* 8va : 1
* * : 1
* . : 1, 2
* ! : 1
** \! : 1
* , : 1
* : : 1, 2
* ' : 1
* ^ : 1, 2
* - : 1, 2, 3
* _ : 1
* " : 1
* (, ) : 1
* {, } : 1, 2, 3, 4, 5, 6
* [, ] : 1
* <, > : 1, 2
** \<, \> : 1
** <<, >> : 1, 2, 3
* ~ : 1
* / : 1, 2, 3

## A

* a : 1
* \accent : 1
* Accent circonflexe : 1, 2
* Accentuée (note) : 1
* Acciaccatura, \acciaccatura : 1
* Accolade : 1, 2, 3, 4, 5, 6
* Accord : 1, 2
* \addlyrics : 1
* Altération : 1
* \alternative : 1
* Anacrouse : 1
* Apostrophe : 1
* Appogiature, \appoggiatura : 1
* Armure, armature : 1
* Arpège, \arpeggio : 1
* Astérisque : 1
* Attaque : 1
* aug : 1
* autochange : 1

## B

* b : 1
* Ballon de coda : 1
* \bar : 1
* Barre de fraction : 1, 2, 3
* Barre de mesure : 1
* Basse chiffrée : 1
* Bécarre : 1, 2
* Bémol : 1, 2
* Blanche : 1
* \book : 1
* \break : 1
* \breathe : 1

## C

* c : 1
* Cadence : 1
* \cadenzaOn, \cadenzaOff : 1
* Chiffrage de la mesure : 1
* Chiffrage d'un accord : 1
* ChoirStaff : 1
* \chordmode : 1
* \chords : 1
* Clef, \clef : 1, 2
* Coda, \coda : 1
* Compositeur, composer : 1
* Coulé : 1
* \cr : 1
* \column : 1, 2
* Crescendo : 1
* Croche : 1
* Crochet : 1
** ~ pointu : 1, 2, 3, 4

## D

* d : 1
* \decr : 1
* Decrescendo : 1
* Demi-pause : 1
* Demi-soupir : 1
* Demi-ton : 1
* Deux-points : 1, 2
* Diagramme d'accord : 1
* Dièse : 1, 2
* dim : 1
* Do : 1
* Double-barre : 1
* Double-bémol : 1
* Double-croche : 1
* Double-dièse : 1
* DVI : 1

## E

* e : 1
* es : 1
* eses : 1
* \espressivo : 1

## F

* f : 1
* \f : 1
* Fa : 1
* \fermata : 1
* Feta : 1
* \ff : 1
* \fff : 1
* Fichier
** .LY : 1
** .PDF : 1
** son : 1, 2, 3, 4
* \figures : 1
* \flat : 1, 2
* Forte : 1
* Forte-piano : 1
* Fortissimo : 1
* \fp : 1
* Fraction : 1, 2, 3
* \fret-diagram : 1

## G

* g : 1
* Glissando, \glissando : 1
* \grace : 1
* GrandStaff : 1
* Gruppetto : 1
* Guillemet : 1, 2
* Guitare : 1

## H

* hampe : 1
* \harmonic : 1
* Harmoniques : 1
* \header : 1
* Huitième de soupir : 1

## I

* Il piu fortissimo possibile : 1
* Il piu pianissimo possibile : 1
* Intonation : 1
* is : 1
* isis : 1

## K

* \key : 1

## L

* La : 1
* \laissezVibrer : 1
* LaTeX : 1
* \layout : 1, 2
* Legato : 1
* Levée : 1
* Liaison : 1
* Lien : 1
* \line : 1, 2
* Lourée (note) : 1
* .LY : 1
* \lyricmode : 1, 2
* Lyrics : 1
* \lyricsto : 1

## M

* m : 1
* Majeur : 1, 2
* \major : 1
* \marcato : 1
* \markup : 1
* \markup : 1, 2, 3, 4, 5
* Mélisme : 1, 2
* Mezzo forte : 1
* Mezzo piano : 1
* \mf : 1
* Mi : 1
* Midi, \midi : 1, 2, 3
* Mineur : 1, 2
* \minor : 1
* Mode : 1
* Mordant : 1
* \mordent : 1
* \mp : 1

## N

* \natural : 1
* \newSpacingSection : 1
* \noBreak : 1
* Noire : 1
* \noPageBreak : 1
* Note :
** ~ accentuée : 1
** ~ lourée : 1
** ~ piquée : 1
** ~ portée : 1
* Nuance : 1
* Numérotation
** des mesures : 1
** des pages : 1

## O

* Octave : 1
* Octaviation : 1, 2
* \ottava : 1

## P

* \p : 1
* \pageBreak : 1
* \paper : 1
* Parenthèse : 1
* \partial : 1
* Pause : 1
* PDF : 1, 2
* Pédale : 1
* Phrasé : 1
* Pianissimo, pp : 1
* Piano
** nuance, p : 1
** instrument : 1
* PianoStaff : 1
* Piquée (note) : 1
* PNG : 1
* Point : 1
** ~ d'exclamation : 1, 2
** ~ d'orgue : 1
* Police de caractère : 1
* Portée (ligne) : 1, 2, 3, 4, 5, 6, 7, 8, 9
** ~ groupées : 1, 2, 3
** taille : 1
* Portée (note) : 1
* PostScript, PS : 1, 2
* \pp : 1
* \ppp : 1
* \prall : 1

## Q

* Quadruple-croche : 1
* Quart de soupir : 1

## R

* r : 1
* R : 1, 2
* Ré : 1
* \relative : 1
* \repeat : 1, 2
* \repeatTie : 1
* Répétition : 1
* Reprise : 1
* Résolution d'un accord dissonant : 1
* \reverseturn : 1
* Ronde : 1
* Ronde carrée : 1

## S

* s : 1, 2
* \score : 1
* \segno : 1
* Seizième de soupir : 1
* \set : 1, 2
* set-octavation : 1
* Sextolet : 1
* Sforzando : 1
* \sharp : 1
* \sfz : 1
* Si : 1
* Signe
** ~ inférieur : 1, 2
** ~ moins : 1, 2
** ~ supérieur : 1, 2, 3
* Silence : 1, 2
* \smaller : 1, 2
* Sol : 1
* Son : 1
* \sostenutoDown, \sostenutoUp : 1
* Soupir : 1
* sus : 1
* Staccato, \staccato : 1
* Staff : 1
* StaffGroup : 1
* \startTrillSpan : 1
* \stopTrillSpan : 1
* \sustainDown, \sustainUp : 1
* SVG : 1
* Système : 1

## T

* Tablature : 1
* TabStaff : 1
* Tempo, \tempo : 1
* \tenuto : 1
* TeX : 2
* Tildé : 1
* \time : 1
* \times : 1
* Titre de l'œuvre, title : 1
* Tiret : 1, 2
** ~ de soulignement : 1, 2
* Ton : 1
* \transpose : 1
* \transposition : 1
* \treCorde : 1
* Trémolo : 1
* Trille, \trill : 1
* Triolet : 1
* Triple-croche : 1
* \turn : 1

## U

* \unaCorda : 1

## V

* Virgule : 1
* \voiceOne, \voiceTwo, \voiceThree, \voiceFour, : 1
Voir aussi < ↑ |