@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore Translation of GIT committish: 899e6ead9babb17d3eb160171a56efc94b77472d When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' Guide, node Updating translation committishes.. @end ignore @c \version "2.12.0" @c Translators: Nicolas Grandclaude, Ludovic Sardain, Gauvain Pocentek @c Translation checkers: Jean-Charles Malahieude, Valentin Villenave, John Mandereau @c Translation status: post-GDP @node Tutoriel @chapter Tutoriel @translationof Tutorial Ce tutoriel est une introduction au langage musical utilisé par LilyPond, qui vous permettra de faire fonctionner le logiciel pour produire une partition. @menu * Compilation d'un fichier:: * Notation simple:: * Travail sur les fichiers d'entrée:: * Bien lire le manuel:: @end menu @node Compilation d'un fichier @section Compilation d'un fichier @translationof Compiling a file @cindex compilation @cindex exemple, premier @cindex premier exemple Pour créer une partition avec LilyPond, on écrit un fichier texte, appelé fichier source, qui décrit la notation musicale. La @emph{compilation} de ce fichier source par LilyPond produit un fichier graphique imprimable, et si on le désire un fichier MIDI qui peut être joué par un séquenceur. Voici un premier exemple simple de fichier source LilyPond. @example @{ c' e' g' e' @} @end example @noindent La compilation de ce fichier donnera quelque chose de sembable à l'image ci-dessous. @c in this case we don't want verbatim @lilypond[quote] { c' e' g' e' } @end lilypond @c DIV specific Il est aussi possible d'utiliser les noms de notes français @qq{@w{do re mi fa sol la si}}, en insérant au début du fichier la ligne @w{@code{\include@tie{}"italiano.ly"}}. @c END DIV @warning{Tout extrait de code LilyPond doit être entouré d'une @strong{@{ paire d'accolades @}}. De plus, pour éviter toute ambiguïté, il est préférable d'entourer les accolades par des espaces ou retours à la ligne. Bien que certains exemples de ce manuel ne comportent pas d'accolades, ne les oubliez pas dans vos partitions ! Pour plus d'informations sur l'affichage des exemples de cette documentation, consultez @ref{Bien lire le manuel}.} @cindex casse, prise en compte de la @cindex prise en compte de la casse @cindex sensibilité à la casse De plus, LilyPond est @strong{sensible à la casse} : le code @w{@code{@{ c d e @}}} est valide, alors que @w{@code{@{ C D E @}}} produira un message d'erreur. @smallspace @subheading Saisie de la musique et visualisation de la partition produite @cindex fichier PDF @cindex PDF @cindex partition, lire @cindex lire la partition @cindex éditeurs de texte @cindex LilyPond et MacOS X @cindex MacOS X et LilyPond @cindex LilyPond et Windows @cindex Windows et LilyPond @cindex LilyPond et Unix @cindex Unix et LilyPond Dans cette section nous expliquerons quelles commandes exécuter et comment voir ou imprimer le résultat produit par LilyPond. Notez qu'il existe plusieurs éditeurs de texte disponibles avec un bon support de LilyPond ; consultez @rprogram{LilyPond et les éditeurs de texte}. @warning{Le premier démarrage de LilyPond peut prendre une minute ou deux, afin de générer la liste des polices du système. LilyPond démarre en principe plus rapidement lors des exécutions suivantes.} @subsubheading MacOS X Si vous double-cliquez sur @code{LilyPond.app}, un fichier d'exemple s'ouvrira. Sauvegardez-le, par exemple, sous @code{test.ly} sur votre bureau, puis traitez-le avec la commande de menu @w{@code{Compile > Typeset File}}. Le fichier PDF résultant sera alors affiché à l'écran. À l'avenir, vous aurez certainement recours aux commandes @qq{Nouveau} ou @qq{Ouvrir}. Vous devez enregistrer votre fichier avant de lancer la gravure de la partition par LilyPond. Si une erreur apparaît pendant le traitement, vous la trouverez dans la fenêtre @qq{log}. @subsubheading Windows Sous Windows, double-cliquez sur l'icône LilyPond qui se trouve sur le bureau, un fichier d'exemple s'ouvre dans un simple éditeur de texte. Enregistrez-le, par exemple en tant que @code{test.ly} sur le bureau, puis double-cliquez sur son icône (qui montre une note de musique) pour le traiter. Après quelques secondes, vous obtiendrez un fichier @code{test.pdf} sur le bureau, fichier que vous pourrez ouvrir pour voir la partition gravée. Une autre méthode pour lancer le traitement du fichier @code{test.ly} est de le glisser avec votre souris sur l'icône de LilyPond. Pour modifier un fichier @code{.ly} existant, faites un clic droit dessus et sélectionnez @qq{Éditer la source}. Pour partir d'un fichier vide, lancez l'éditeur en ouvrant un fichier existant et utilisez la commande @qq{New} du menu @qq{File}. En double-cliquant sur le fichier, vous obtiendrez, en plus du fichier PDF, un fichier @code{.log} qui récapitule les opérations que LilyPond a effectuées sur votre fichier. Si une erreur survient, vous en trouverez les détails dans ce fichier. @subsubheading UNIX Créez un fichier texte @code{test.ly} qui contient @verbatim { c' e' g' e' } @end verbatim @noindent Pour traiter @code{test.ly}, entrez la commande suivante dans un terminal : @example lilypond test.ly @end example @noindent Vous verrez quelque chose ressemblant à @example lilypond test.ly GNU LilyPond @version{} Traitement de « test.ly » Analyse... Interprétation en cours de la musique... Pré-traitement des éléments graphiques... Détermination du nombre optimal de pages... Répartition de la musique sur une page... Dessin des systèmes... Sortie mise en page vers « test.ps »... Conversion à « ./test.pdf »... @end example @c DIV specific @noindent Suivant votre installation, ces messages peuvent être traduits ou non. @c END DIV @node Notation simple @section Notation simple @translationof Simple notation @cindex simple, notation @cindex notation simple Il y a certains éléments graphiques de notation que LilyPond ajoute automatiquement. Dans l'exemple suivant, nous n'avons fourni que quatre hauteurs, mais LilyPond a ajouté une clef, un chiffre de mesure et du rythme. @lilypond[verbatim,quote] { c' e' g' e' } @end lilypond @noindent Ces valeurs automatiques simplifient la saisie du code source dans bien des cas ; nous verrons plus loin comment les indiquer explicitement. @subheading Hauteurs @cindex hauteurs @cindex mode relatif @cindex apostrophe @cindex virgule @cindex altérations et mode relatif @cindex mode relatif et altérations @funindex \relative @funindex relative @funindex ' @funindex , Glossaire musical : @rglos{pitch}, @rglos{interval}, @rglos{scale}, @rglos{middle C}, @rglos{octave}, @rglos{accidental}. Le moyen le plus simple d'entrer des notes est d'utiliser le mode d'octaves relatives, ou mode @code{\relative}. Dans ce mode, l'octave de chaque note est sélectionnée automatiquement de façon à ce qu'elle soit le plus proche possible de la note précédente, c'est-à-dire de façon à ce que l'intervalle avec la note précédente soit au plus d'une quarte. Commençons par saisir une partition très simple, à savoir une gamme. @lilypond[verbatim,quote] % set the starting point to middle C \relative c' { c d e f g a b c } @end lilypond La note de départ est le @notation{do central}. Chacune des notes qui suivent est placée à l'octave la plus proche de la note précédente -- en d'autres termes, le premier @code{c} est le do central, entre la clef de sol et la clef de fa, puis est suivi par le @notation{ré} le plus proche, et ainsi de suite. On peut bien sûr créer des mélodies avec de plus grands intervalles, toujours avec le mode @code{\relative} : @lilypond[verbatim,quote] \relative c' { d f a g c b f d } @end lilypond @noindent Remarquez que cet exemple ne commence plus sur le @notation{do central} : la première note -- le @code{d} -- est le ré qui en est le plus proche. Dans l'exemple suivant, on remplace @code{c'} dans la commande @w{@code{\relative c' @{}} par @code{c''}, afin de calculer l'octave de la première note par rapport au do situé une octave au-dessus du do central : @lilypond[verbatim,quote] % one octave above middle C \relative c'' { e c a c } @end lilypond Le mode d'octaves relatives peut être déroutant au début, mais c'est souvent la façon la plus économique de saisir les hauteurs en utilisant le clavier de l'ordinateur de façon classique. Détaillons dans un exemple le calcul des octaves relatives. En partant d'un si sur la troisième ligne de la clé de sol, un do, un ré ou un mi sans indication d'octave particulière seront placés juste au-dessus du si, c'est-à-dire au plus à une quarte ascendante du si, alors qu'un la, un sol ou un fa seront placés juste en-dessous du si, c'est-à-dire au plus à une quarte descendante du si. @lilypond[verbatim,quote] \relative c'' { b c % c is 1 staff space up, so is the c above b d % d is 2 up or 5 down, so is the d above b e % e is 3 up or 4 down, so is the e above b a % a is 6 up or 1 down, so is the a below b g % g is 5 up or 2 down, so is the g below b f % f is 4 up or 3 down, so is the f below } @end lilypond Notez que le calcul des octaves relatives @strong{ne tient pas compte des altérations} des notes, dièse bémol ou bécarre. Pour obtenir des intervalles supérieurs à une quarte, on peut ajouter des apostrophes @code{'} -- qui font chacune monter la hauteur d'une octave -- ou des virgules @code{,} -- qui font chacune descendre la hauteur d'une octave -- au nom de la note. @lilypond[verbatim,quote] \relative c'' { a a, c' f, g g'' a,, f' } @end lilypond @noindent Pour déplacer une note deux octaves (ou davantage !) plus haut ou plus bas, il suffit de mettre deux (ou davantage) @code{'} ou @code{,} -- attention cependant à bien mettre deux apostrophes @code{''}, et non un guillemet @code{"}@tie{}! C'est de cette même manière que l'on peut modifier la valeur de départ de @w{@code{\relative c'}}. @subheading Durées et rythme @cindex note, durée @cindex durées @cindex rhythmes @cindex ronde @cindex blanche @cindex noire @cindex note pointée @cindex spécification des durées Glossaire musical : @rglos{beam}, @rglos{duration}, @rglos{whole note}, @rglos{half note}, @rglos{quarter note}, @rglos{dotted note}. La @notation{durée} d'une note est indiquée par un nombre qui suit sa hauteur : @code{1} pour une @notation{ronde}, @code{2} pour une @notation{blanche}, @code{4} pour une @notation{noire} et ainsi de suite. Les @notation{crochets} et @notation{liens} sont ajoutés automatiquement. Si aucune durée n'est indiquée pour une note, la dernière durée entrée est utilisée. En l'absence d'indication de durée, la première note est une noire. @lilypond[verbatim,quote] \relative c'' { a1 a2 a4 a8 a a16 a a a a32 a a a a64 a a a a a a a a2 } @end lilypond Une @notation{note pointée} s'obtient en ajoutant un point @code{.} à la valeur rythmique. Le point doit être précédé d'un nombre spécifiant la durée de base. @lilypond[verbatim,quote] \relative c'' { a a a4. a8 a8. a16 a a8. a8 a4. } @end lilypond @subheading Silences @cindex silences @cindex notation des silences Glossaire musical : @rglos{rest}. On saisit un @notation{silence} tout comme une note, mais avec la lettre @code{r} (pour @emph{rest}). @lilypond[verbatim,quote] \relative c'' { a r r2 r8 a r4 r4. r8 } @end lilypond @subheading Métrique @cindex métrique @cindex chiffre de mesure @funindex \time @funindex time Glossaire musical : @rglos{time signature}. La @notation{métrique}, aussi appelée @notation{chiffre de mesure}, peut être définie à l'aide de la commande @code{\time} : @lilypond[verbatim,quote] \relative c'' { \time 3/4 a4 a a \time 6/8 a4. a \time 4/4 a4 a a a } @end lilypond @subheading Clefs @cindex clef @cindex clé @cindex sol, clef de @cindex ut, clef d' @cindex fa, clef de @funindex \clef @funindex clef Glossaire musical : @rglos{clef}. La @notation{clef} peut être définie à l'aide de la commande @code{\clef} : @lilypond[verbatim,quote] \relative c' { \clef treble c1 \clef alto c1 \clef tenor c1 \clef bass c1 } @end lilypond @subheading Tout ensemble Voici un bref exemple qui rassemble tous les éléments que nous déjà vus : @lilypond[verbatim,quote] \relative c, { \time 3/4 \clef bass c2 e8 c' g'2. f4 e d c4 c, r4 } @end lilypond @seealso Manuel de notation : @ruser{Écriture des hauteurs de note}, @ruser{Écriture du rythme}, @ruser{Écriture des silences}, @ruser{Métrique}, @ruser{Clefs}. @node Travail sur les fichiers d'entrée @section Travail sur les fichiers d'entrée @translationof Working on input files Le traitement des fichiers source de LilyPond est semblable à celui du code de nombreux langages de programmation. La casse est prise en compte, et les caractères considérés comme espaces ont généralement peu d'importance. Les expressions sont délimitées par des accolades @{ @}, et les commentaires par @code{%} ou @w{@code{%@{ dots{} @}}}. Si cette phrase vous paraît incompréhensible, ne vous en faites pas ! Expliquons tous ces termes : @cindex casse, prise en compte de @cindex prise en compte de la casse @cindex sensibilité à la casse @itemize @item @strong{La casse} : LilyPond est sensible à la casse, c'est à dire qu'une lettre capitale n'a pas la même valeur qu'une lettre minuscule. Les notes, par exemple, doivent être entrées en minuscule : @w{@code{@{ c d e @}}} est un code valide, alors que @w{@code{@{ C D E @}}} produira un message d'erreur. @cindex espaces multiples, insensibilité @cindex insensibilité aux espaces multiples @item @strong{Les espaces multiples} : LilyPond ne tient pas compte du nombre d'espaces, ou de retours à la ligne. @code{@{ c d e @}} a le même sens que @code{@{ c @tie{} @tie{} d @tie{} e @}} ou que @example @{ c d e @} @end example @noindent Bien sûr, ce dernier exemple est illisible. Une bonne habitude à prendre est d'indenter les blocs de code avec soit des tabulations soit des doubles espaces : @example @{ c d e @} @end example @cindex expressions @funindex { ... } @item @strong{Expressions musicales} : Tout morceau saisi dans LilyPond doit être placé entre @strong{@{ accolades @}}. Ces caractères indiquent à LilyPond que ce bloc de texte représente une et une seule expression musicale, tout comme les parenthèses @code{()} en mathématiques. Pour éviter toute ambiguïté, il est préférable d'entourer ces accolades d'espaces ou de retours à la ligne. Un appel de fonction -- @w{@code{\relative @{ @}}} par exemple -- compte également comme une seule expression musicale. @cindex commentaire @cindex commentaire de fin de ligne @cindex commentaire-bloc @cindex bloc de commentaire @funindex % @funindex %@{ ... %@} @item @strong{Les commentaires} : Un commentaire est une indication pour tout lecteur humain d'un fichier source de musique ; il est ignoré par l'ordinateur, et n'a donc aucun effet sur la partition imprimée. On distingue deux types de commentaires. Le commentaire de fin de ligne, introduit par le symbole @code{%} : tout ce qui suit ce symbole sur la même ligne sera ignoré. Par convention, un commentaire qui occupe une ligne entière se place juste @emph{au-dessus} de la ligne à laquelle il fait référence. @example a4 a a a % ce commentaire fait référence aux si b2 b @end example Le bloc de commentaire, qui peut occuper plusieurs lignes, voire toute une section : tout ce qui se trouve entre @code{%@{} et @code{%@}} est ignoré. Les blocs de commentaires ne peuvent s'imbriquer, ce qui signifie que vous ne pouvez pas placer un commentaire-bloc à l'intérieur d'un autre commentaire-bloc. Si jamais vous essayez, vous verrez que la première occurence de @code{%@}} terminera @qq{les @emph{deux} commentaires-blocs}. Le fragment suivant met en évidence quelques usages possibles des commentaires : @example % voici les notes de "ah vous dirai-je maman" c4 c g' g a a g2 %@{ Ces lignes et les notes qui suivent seront ignorées, car elles se trouvent dans un bloc de commentaire. f f e e d d c2 %@} @end example @end itemize @node Bien lire le manuel @section Bien lire le manuel @translationof How to read the manual @cindex bien lire le manuel @cindex manuel, lecture @cindex compulser le manuel @cindex exemples cliquables @cindex cliquables, exemples @cindex conseils de construction des fichiers @cindex squelettes @cindex construction des fichiers, conseils @cindex fichiers, conseils de construction Comme nous l'avons vu dans @ref{Travail sur les fichiers d'entrée}, un code LilyPond doit être encadré par des accolades @{ @} ou bien par @code{@w{\relative c'' @{ @dots{} @}}}. Cependant, dans la suite de ce manuel, la plupart des exemples ne feront pas apparaître ces signes. Pour reproduire les exemples, vous pouvez copier et coller le code affiché, mais @strong{à condition} d'ajouter @code{@w{\relative c'' @{ @}}} de la façon suivante : @example \relative c'' @{ ...collez ici votre exemple... @} @end example Pourquoi avoir omis les accolades ? La plupart des exemples de ce manuel peuvent être insérés au milieu d'un morceau de musique plus long. Il n'y a donc aucune raison d'ajouter @code{@w{\relative c'' @{ @}}} à ces exemples -- en effet, il n'est pas possible d'insérer une expression @code{\relative} à l'intérieur d'une autre expression @code{\relative}. Si nous mettions tous nos exemples dans une expression @code{\relative}, vous ne pourriez plus copier un bref exemple de la documentation pour le coller dans vos pièces. @subheading Exemples cliquables Beaucoup de gens apprennent à utiliser les programmes en les essayant et en bidouillant avec. C'est également possible avec LilyPond. Si vous cliquez sur une image dans la version HTML de ce manuel, vous verrez exactement le code LilyPond utilisé pour générer cette image. Essayez sur cette image : @c no verbatim here @c KEEP LY @lilypond[quote,ragged-right] \relative c'' { c-\markup { \bold \huge { Cliquez ici. } } } @end lilypond En copiant-collant le code à partir du commentaire @qq{ly snippet} vers un fichier test, vous aurez un modèle de base pour faire vos expériences. Pour obtenir une gravure à l'identique, copiez tout le code à partir de @qq{Start cut-&-pastable section}. @c No longer in the text in English, but should we really @c remove this? --jm @ignore Si vous apprenez de cette façon, vous aurez probablement envie d'imprimer ou de garder un lien vers @ruser{Aide-mémoire}, tableau qui répertorie les commandes usuelles pour une consultation rapide. @end ignore @seealso Vous trouverez plus de conseils pour construire des fichiers source dans @ref{Suggestions pour la saisie de fichiers LilyPond}. Cependant, lors d'une première lecture il est préférable de terminer d'abord la lecture du tutoriel.