@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @c This file is part of lilypond.tely @ignore Translation of GIT committish: 71b67137f76fa4e8aede58299630369f616004d9 When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @end ignore @c \version "2.11.38" @ignore Tutorial guidelines: - unless you have a really good reason, use either @l ilypond[quote,ragged-right,verbatim] or @l ilypond[quote,ragged-right,verbatim,fragment,relative=2] (without spaces) Don't use any other relative=X commands (make it a non-fragment example), and don't use fragment without relative=2. - use "aes" and "ees" instead of "as" and "aes". I know it's not correct Dutch naming, but let's not confuse people with this until we get to the Basic notation chapter. @end ignore @c old info that will probably be removed. @c TODO: @c * more details about running lilypond; error messages, @c compiling/viewing (emacs?) @c * where to go from First steps+More basics? @c wherever possible, do not include index entries here; the @c index should point to stuff in the reference manual. -gp @c Your first LilyPond score in 10 minutes? @c Translators: Nicolas Grandclaude, Ludovic Sardain, Gauvain Pocentek @c Translation checkers: Jean-Charles Malahieude, Valentin Villenave, John Mandereau @node Tutorial @chapter Tutorial Ce tutoriel commence par une introduction au langage musical utilisé par LilyPond, qui vous permettra de faire fonctionner le logiciel pour produire une partition. Après ce premier contact, nous verrons comment créer des partitions utilisant une notation musicale courante. @ifhtml 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 et en collant tout le code de l'extrait ly dans un fichier test, vous aurez un modèle de base pour faire vos expériences. Si vous apprenez de cette façon, vous aurez probablement envie d'imprimer ou de garder un lien vers l'@ruser{Cheat sheet}, tableau qui répertorie les commandes usuelles pour une consultation rapide. @end ifhtml @menu * First steps:: * Single staff notation:: * Multiple notes at once:: * Songs:: * Final touches:: @end menu @node First steps @section First steps Cette section présente sommairement la façon de travailler avec LilyPond. @menu * Compiling a file:: * Simple notation:: * Working on text files:: * How to read the tutorial:: @end menu @node Compiling a file @subsection Compiling a file Le premier exemple montre comment débuter avec LilyPond. Pour créer une partition, on écrit un fichier de texte qui décrit la notation musicale. Par exemple, si l'on écrit @example @{ c' e' g' e' @} @end example @noindent le résultat ressemblera à @c in this case we don't want verbatim @lilypond[quote,ragged-right] { c' e' g' e' } @end lilypond @c DIV specific Il est aussi possible d'utiliser les noms de notes français @samp{do re mi fa sol la si}, en insérant au début du fichier la ligne @samp{\include "italiano.ly"} @c END DIV @emph{Attention :} tout extrait de code LilyPond doit être entouré d'une @{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 ! @cindex casse, prise en compte de De plus, LilyPond est sensible à la casse. @code{ @{ c d e @} } est un code valide ; @code{ @{ C D E @} } produira un message d'erreur. @sp 1 @subheading Entering music and viewing output Dans cette section nous expliquerons quelles commandes exécuter et comment voir ou imprimer le résultat de LilyPond. @subsubheading MacOS X Si vous double-cliquez sur @code{LilyPond.app}, un fichier d'exemple s'ouvrira. Sauvegardez-le, par exemple, sous @file{test.ly} sur votre bureau, et traitez-le ensuite avec la commande du menu @samp{Compile > Typeset File}. Le fichier PDF résultant sera alors affiché sur votre écran. Notez que le premier démarrage peut prendre une minute ou deux, car toutes les polices système doivent être d'abord analysées. À l'avenir, vous aurez certainement recours aux commandes @qq{Nouveau} ou @qq{Ouvrir}. Vous devez enregistrer votre fichier avant de lancer la création de la partition. Si une erreur advient pendant le traitement, vous la trouverez dans la fenêtre @qq{log}. @subsubheading Windows Sous Windows, lorsque vous 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 @file{test.ly} sur votre 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 @file{test.pdf} sur votre Bureau, fichier que vous pourrez ouvrir pour voir la partition imprimée. Une autre méthode pour lancer le traitement du fichier @file{test.ly} est de le glisser avec votre souris sur l'icône de LilyPond. Pour modifier un fichier @file{.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 @file{.log} qui récapitule les opérations que LilyPond a effectuées sur votre fichier. Si une erreur survient, c'est ce fichier qu'il vous faudra étudier. Notez qu'il existe d'autres éditeurs de texte, certains disposant d'un meilleur support pour LilyPond ; reportez-vous à @rprogram{Text editor support}. @subsubheading Unix Commencez par ouvrir une fenêtre de terminal et un éditeur de texte. Par exemple, vous pouvez ouvrir un xterm et exécuter @code{joe}. @footnote{Il existe des fichiers de macros pour les fans de VIM et un @code{LilyPond-mode} pour les fans d'Emacs. S'ils ne sont pas encore installés, consultez le fichier @file{INSTALL.txt}. L'outil d'édition le plus facile d'utilisation est de loin @file{LilyPondTool}. Vous trouverez plus d'informations dans @rprogram{Text editor support}.} Dans votre éditeur, entrez le texte suivant et sauvegardez le fichier sous @file{test.ly} @verbatim { c' e' g' e' } @end verbatim @noindent Pour traiter @file{test.ly}, procédez comme ceci : @example lilypond test.ly @end example @noindent Vous verrez quelque chose ressemblant à : @example lilypond test.ly GNU LilyPond 2.10.0 Processing `test.ly' Parsing... Interpreting music... [1] Preprocessing graphical objects... Calculating line breaks... [2] Layout output to `test.ps'... Converting to `test.pdf'... @end example @c DIV specific Suivant votre installation, ces messages peuvent être traduits. @c END DIV @cindex fichier PDF @cindex visionnage de la musique @noindent De tout cela résulte un fichier @file{test.pdf}, que vous pouvez imprimer ou visualiser avec les outils standards de votre système d'exploitation. @footnote{Si votre système ne dispose pas des outils nécessaires, vous pouvez essayer @uref{http://@/www@/.cs@/.wisc@/.edu/@/~ghost/,Ghostscript}, un programme pour afficher et imprimer librement les fichiers PDF et PostScript.} @node Simple notation @subsection Simple notation Il y a certains éléments graphiques que LilyPond ajoute automatiquement. Dans l'exemple suivant, nous n'avons fourni que quatre hauteurs, mais LilyPond a ajouté une clé, un chiffre de mesure et du rythme. @lilypond[quote,ragged-right,verbatim] { c' e' g' e' } @end lilypond @noindent Ce comportement peut être modifié, mais dans bien des cas ces attributions automatiques s'avèrent utiles. @subheading Pitches Le moyen le plus simple d'entrer des notes est d'utiliser le mode @code{\relative}. Avec ce mode, l'@rglos{interval} entre la note et celle qui la précède est supposé inférieur ou égal à une @rglos{fourth}. Commençons par entrer la partition la plus élémentaire qui soit, une @rglos{scale}. @lilypond[quote,ragged-right,verbatim] \relative c' { c d e f g a b c } @end lilypond La note de départ est @rglos{middle C}. Chacune des notes qui suivent est à moins d'une quarte de la note précédente --- en d'autres termes, le premier @samp{c} est le do central, entre la clé de sol et la clé de fa, puis est suivi par le ré le plus proche, et ainsi de suite. On peut bien sûr créer des mélodies d'intervalles plus étendus : @lilypond[quote,ragged-right,verbatim] \relative c' { d f a g c b f d } @end lilypond @noindent Comme vous l'aurez remarqué, cet exemple ne commence plus sur le do du milieu. La première note --- le @samp{d} --- est le ré qui en est le plus proche. Pour ajouter des intervalles supérieurs à une quarte, il suffit d'indiquer si la note est à l'octave supérieure ou inférieure, en ajoutant respectivement une apostrophe @code{'} ou une virgule @code{,} au nom de la note. @lilypond[quote,ragged-right,verbatim] \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 plusieurs @code{''} ou plusieurs @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 @code{\relative c'}. @subheading Durations (rhythms) La @rglos{duration} d'une note est indiquée par un nombre qui suit son nom : @samp{1} pour une @rglos{whole note}, @samp{2} pour une @rglos{half note}, @samp{4} pour une @rglos{quarter note} et ainsi de suite. Les hampes sont ajoutées automatiquement. @lilypond[quote,ragged-right,verbatim] \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 @noindent Si aucune durée n'est indiquée, la dernière durée entrée sera utilisée pour les notes suivantes. En l'absence d'indication, la première note est une noire. Une @rglos{dotted note} s'obtient en ajoutant un point @samp{.} à la valeur rythmique. @lilypond[quote,ragged-right,verbatim] \relative c'' { a a a4. a8 a8. a16 a a8. a8 a4. } @end lilypond @subheading Rests On saisit un @rglos{rest} tout comme une note, mais avec le caractère @samp{r}. @lilypond[quote,ragged-right,verbatim] \relative c'' { a r r2 r8 a r4 r4. r8 } @end lilypond @subheading Time signature La @rglos{time signature} peut être définie à l'aide de la commande @code{\time} : @lilypond[quote,ragged-right,verbatim] \relative c'' { \time 3/4 a4 a a \time 6/8 a4. a \time 4/4 a4 a a a } @end lilypond @subheading Clef La @rglos{clef} peut être définie à l'aide de la commande @code{\clef} : @lilypond[quote,ragged-right,verbatim] \relative c' { \clef treble c1 \clef alto c1 \clef tenor c1 \clef bass c1 } @end lilypond @subheading All together Voici un bref exemple qui montre tous ces éléments ensemble : @lilypond[quote,ragged-right,verbatim] \relative c, { \time 3/4 \clef bass c2 e8 c' g'2. f4 e d c4 c, r4 } @end lilypond @seealso @quotation @table @asis @item Entrer des hauteurs et des durées voir @ruser{Pitches} and @ruser{Durations}. @item Les silences voir @ruser{Rests}. @item Les chiffres de mesure et autres commandes de métrique voir @ruser{Time signature}. @item Les clés voir @ruser{Clef}. @end table @end quotation @node Working on text files @subsection Working on text files Le traitement des fichiers source de LilyPond est semblable à celui du code de nombreux langages de programmation répandus : 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 @code{%@{ ... %@}}. Si cette phrase vous paraît incompréhensible, ne vous en faites pas ! Tous ces termes vont être expliqués : @itemize @cindex casse, prise en compte de @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 minuscules : @code{@{ c d e @}} est un code valide, alors que @code{@{ C D E @}} produira un message d'erreur. @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 difficile à lire. 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 @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 est une et une seule expression musicale, tout comme les parenthèses @samp{()} en mathématiques. Il est préférable, pour éviter toute ambiguïté, d'entourer tous ces crochets d'espaces, à moins qu'ils se trouvent au début ou à la fin d'une ligne. Une fonction --- @code{\relative @{ @}} par exemple --- compte également comme une seule expression musicale. @cindex commentaires @cindex commentaire de fin de ligne @cindex commentaire-bloc @item @strong{Les commentaires} : Un commentaire est une indication pour tout lecteur humain d'un fichier 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 : @itemize @bullet @item la ligne de commentaire, introduite par le symbole @samp{%} : tout ce qui suit ce symbole sur cette ligne sera ignoré. @item le bloc de commentaire, qui peut être de plusieurs lignes voire de toute une section : tout ce qui se trouve entre @code{%@{} et @code{%@}} est ignoré. Les blocs de commentaires ne peuvent s'imbriquer. @end itemize 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. g g f f e e d d c2 %@} @end example @end itemize Vous trouverez plus d'astuces pour organiser vos fichiers LilyPond dans @ref{Suggestions for writing LilyPond files}. @node How to read the tutorial @subsection How to read the tutorial Comme nous l'avons vu dans @ref{Working on text files}, un code LilyPond doit être encadré par des @{ @} ou bien par @code{\relative c'' @{ ... @}} afin d'être compris. Cependant, dans la suite de ce manuel, la plupart des exemples ne feront pas apparaître ces signes. Si vous consultez la documentation au format HTML, et que vous souhaitez voir la source exacte d'un exemple, il vous suffit de cliquer sur l'image. Si vous ne disposez pas de la version HTML, il vous est possible de simplement copier et coller le code affiché, mais @strong{à condition} d'ajouter @code{\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{\relative c'' @{ @}} à ces exemples --- en effet, il n'est pas possible d'insérer un @code{\relative} à l'intérieur d'un autre @code{\relative}. Il vous serait donc devenu impossible de copier un bref exemple de la documentation et de le coller dans une pièce de votre cru. @node Single staff notation @section Single staff notation Cette section présente la notation courante dont on a besoin pour écrire une seule voix sur une seule portée. @menu * Relative note names:: * Accidentals and key signatures:: * Ties and slurs:: * Articulation and dynamics:: * Automatic and manual beams:: * Advanced rhythmic commands:: @end menu @node Relative note names @subsection Relative note names Comme nous l'avons vu dans @ref{Simple notation}, LilyPond calcule la hauteur de chaque note en fonction de la précédente@footnote{Il existe un autre mode de saisie des hauteurs, le mode @ref{Absolute note names}, mais en pratique il est bien plus aisé et sûr d'avoir recours au mode de hauteurs relatives.}. Si aucune indication supplémentaire d'octaviation n'est ajoutée, il en concluera que chaque hauteur est située à une quarte au plus de la note précédente. Lilypond tient compte des intervalles induits par les noms des notes --- en d'autres termes, une quarte augmentée n'est @emph{pas} équivalente à une quinte diminuée. Ainsi, si l'on part d'un Do, un Fa dièse sera placé au-dessus, tandis qu'un Sol bémol sera placé au-dessous. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] c2 fis c2 ges @end lilypond @seealso @quotation @table @asis @item Les hauteurs de note relatives voir @ruser{Relative octaves}. @item Les vérifications d'octaves voir @ruser{Octave check}. @end table @end quotation @node Accidentals and key signatures @subsection Accidentals and key signatures @subheading Accidentals Dans la notation par défaut, un @rglos{sharp} s'obtient en ajoutant @samp{is} au nom de la note, et un @rglos{flat} en ajoutant @samp{es}. Comme vous pouvez vous y attendre, un double dièse ou double bémol est alors obtenu en ajoutant @samp{isis} ou @samp{eses}@footnote{Cette syntaxe est dérivée de la convention de dénomination des notes dans les langues nordiques et germaniques, comme l'allemand ou le hollandais.}. @c DIV specific Cependant, si vous utilisez la commande @samp{\include "italiano.ly"} pour entrer les noms de notes français au lieu des noms hollandais, il faudra ajouter un @samp{d} pour un dièse, et un @samp{b} pour un bémol. Le double dièse et le double bémol s'obtiennent en ajoutant respectivement @samp{dd} et @samp{bb} @c END DIV Pour en savoir plus sur les autres langues disponibles, voir @ruser{Note names in other languages}. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] cis1 ees fisis, aeses @end lilypond @cindex armure, définition de @subheading Key signatures L'armure est déterminée par la commande @code{\key}, suivie d'une hauteur puis de @code{\major} (majeur) ou @code{\minor} (mineur) : @lilypond[quote,ragged-right,verbatim,fragment,relative=2] \key d \major a1 \key c \minor a @end lilypond @sp 1 @subheading Warning: key signatures and pitches La combinaison de l'armure et des hauteurs de note --- y compris les altérations --- permet à LilyPond de déterminer dans quel cas afficher les altérations accidentelles. L'armure n'affecte que les altérations @emph{imprimées}, et non les hauteurs réelles ! Cette fonctionnalité est souvent source de confusion pour les nouveaux utilisateurs, aussi expliquons-la en détail. LilyPond fait une nette distinction entre le contenu musical et la mise en forme. L'altération d'une note --- bémol, bécarre ou dièse --- fait partie de sa hauteur, et relève donc du contenu musical. La présence ou non d'une altération accidentelle --- un @emph{signe} bémol, bécarre ou dièse --- devant la note correspondante est une question qui relève de la mise en page. Mettre en page une partition se fait selon des règles ; les altérations accidentelles seront donc automatiquement imprimées suivant ces règles. Les hauteurs de note, en revanche, relèvent de ce que vous voulez entendre ; et, dans la mesure où la musique que vous entrez est censée être celle que vous voulez entendre, LilyPond (qui n'est chargé que de la gravure) ne les choisira pas à votre place. Dans cet exemple, @lilypond[quote,ragged-right,verbatim,fragment,relative=2] \key d \major d cis fis @end lilypond @noindent aucune note n'a d'altération accidentelle, et pourtant vous devrez entrer le @samp{is} pour les notes @code{cis} et @code{fis}. Le code @samp{e} ne veut pas dire @qq{Imprimez-moi un point noir sur la première ligne de la portée.} Cela signifie plutôt : @qq{Ici se trouve une note dont la hauteur est un mi naturel.} Avec l'armure de la bémol majeur, ce mi sera flanqué d'un bécarre accidentel : @lilypond[quote,ragged-right,verbatim,fragment,relative=2] \key aes \major e @end lilypond Ajouter explicitement toutes les altérations requiert un peu plus d'effort dans la phase de saisie, mais la transposition en sera grandement facilitée. De plus les altérations accidentelles peuvent être imprimées suivant plusieurs conventions. Regardez @ruser{Automatic accidentals} pour connaître les différentes manières dont les altérations accidentelles peuvent être imprimées, suivant les règles que vous choisirez. @seealso @quotation @table @asis @item Les altérations voir @ruser{Accidentals} and @ruser{Automatic accidentals}. @item Les armures voir @ruser{Key signature}. @end table @end quotation @node Ties and slurs @subsection Ties and slurs @cindex liaisons de prolongation @subheading Ties Une @rglos{tie}@footnote{parfois aussi appelée liaison de tenue} se crée en ajoutant un tilde @samp{~} à la première note liée. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] g4~ g c2~ c4 ~ c8 a8 ~ a2 @end lilypond @cindex liaisons d'articulation @subheading Slurs @c Le terme de "slur" a deux sens en français : articulation et phrasé. @c Je garde ici le terme "legato", tel qu'il apparaît dans le texte original, @c car c'est celui qui me semble le plus couramment employé. Une @rglos{slur} d'articulation (ou @qq{legato}) peut englober plusieurs notes. Les notes de départ et d'arrivée reçoivent respectivement un signe @samp{(} et @samp{)}. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] d4( c16) cis( d e c cis d) e( d4) @end lilypond @cindex liaisons de phrasé @subheading Phrasing slurs De plus longues liaisons, dites de phrasé, sont délimitées par @code{\(} et @code{\)}. Il est possible d'avoir en même temps des legatos et des phrasés, mais pas plusieurs liaisons de phrasé ou de legato à la fois. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] a8(\( ais b c) cis2 b'2 a4 cis,\) @end lilypond @sp 1 @cindex liaisons de phrasé et de prolongation, différences @subheading Warnings: slurs vs. ties Une liaison d'articulation ou de phrasé ressemble à une liaison de tenue, mais n'a pas la même signification. Alors qu'une liaison de tenue ne peut relier que deux notes de même hauteur, le legato indique une articulation de plusieurs notes, éventuellement nombreuses. Les liaisons de tenue peuvent être enchâssées dans un legato ou un phrasé. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] c2~( c8 fis fis4 ~ fis2 g2) @end lilypond @seealso @quotation @table @asis @item @ruser{Ties}, @item @ruser{Slurs}, @item @ruser{Phrasing slurs}. @end table @end quotation @node Articulation and dynamics @subsection Articulation and dynamics @cindex articulation @cindex accents @cindex staccato @subheading Articulations Des @rglos{articulation}s peuvent être ajoutées à une note, au moyen d'un tiret @samp{-} suivi d'un caractère : @lilypond[quote,ragged-right,verbatim,fragment,relative=2] c-. c-- c-> c-^ c-+ c-_ @end lilypond @cindex doigtés @subheading Fingerings De même, des indications de doigté peuvent être ajoutées à une note en utilisant un tiret (@samp{-}) et le chiffre à écrire : @lilypond[quote,ragged-right,verbatim,fragment,relative=2] c-3 e-5 b-2 a-1 @end lilypond Articulations et doigtés sont habituellement placés automatiquement, mais vous pouvez spécifier une direction en utilisant @samp{^} (en haut) ou @samp{_} (en bas). Vous pouvez aussi utiliser plusieurs articulations sur la même note. Dans la plupart des cas, cependant, il est mieux de laisser LilyPond déterminer l'emplacement de l'articulation. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] c_-^1 d^. f^4_2-> e^-_+ @end lilypond @subheading Dynamics Les signes de nuances sont obtenus en ajoutant à la note les noms des nuances, précédées d'un anti-slash @samp{\} : @lilypond[quote,ragged-right,verbatim,fragment,relative=2] c\ff c\mf c\p c\pp @end lilypond @cindex nuances @cindex decrescendo @cindex crescendo @c Pluriel des termes musicaux italiens : @c selon Littré, plutôt à la française (en "-os" qu'en "-i") Crescendos et decrescendos débutent avec les commandes @code{\<} et @code{\>}. Ils se terminent soit par une nuance d'arrivée, par exemple @code{\f}, soit par la commande @code{\!} : @lilypond[quote,ragged-right,verbatim,fragment,relative=2] c2\< c2\ff\> c2 c2\! @end lilypond @seealso @quotation @table @asis @item @ruser{Articulations}. @item @ruser{Fingering instructions}. @item @ruser{Dynamics}. @end table @end quotation @node Automatic and manual beams @subsection Automatic and manual beams @cindex ligatures manuelles Toutes les @rglos{beam} sont dessinées automatiquement : @lilypond[quote,ragged-right,verbatim,fragment,relative=2] a8 ais d ees r d c16 b a8 @end lilypond @noindent Lorsqu'on n'aime pas la manière dont les notes sont automatiquement groupées, il est possible de les ligaturer manuellement, en marquant la première note à attacher d'un @samp{[} et la dernière d'un @samp{]}. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] a8[ ais] d[ ees r d] a b @end lilypond @seealso @quotation @table @asis @item Groupements de notes et ligatures automatiques voir @ruser{Automatic beams}. @item Groupements et ligatures manuels voir @ruser{Manual beams}. @end table @end quotation @node Advanced rhythmic commands @subsection Advanced rhythmic commands @cindex levée @cindex anacrouse @cindex mesure incomplète @subheading Partial measure Une levée (ou @rglos{anacrusis}) est entrée avec la commande @code{\partial}, suivie d'une durée : @code{\partial 4} est une levée d'une noire et @code{\partial 8} d'une croche. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] \partial 8 f8 c2 d @end lilypond @cindex nolets @cindex triolets @subheading Tuplets Les nolets sont créés avec la commande @code{\times}, qui prend deux arguments : une fraction et une expression musicale. La durée des notes de l'expression musicale est multipliée par la fraction. Par exemple les notes d'un triolet durent les deux tiers du temps de leur notation réelle, cette fraction est donc de 2/3 pour les triolets : @lilypond[quote,ragged-right,verbatim,fragment,relative=2] \times 2/3 { f8 g a } \times 2/3 { c r c } \times 2/3 { f,8 g16[ a g a] } \times 2/3 { d4 a8 } @end lilypond @cindex notes d'ornement @cindex ornementation @cindex appoggiature @subheading Grace notes Des notes d'ornement sont produites par la commande @code{\grace}, mais aussi en préfixant une expression musicale avec le mot-clé @code{\appoggiatura} ou @code{\acciaccatura} : @lilypond[quote,ragged-right,verbatim,fragment,relative=2] c2 \grace { a32[ b] } c2 c2 \appoggiatura b16 c2 c2 \acciaccatura b16 c2 @end lilypond @seealso @quotation @table @asis @item Notes d'ornement voir @ruser{Grace notes}, @item nolets voir @ruser{Tuplets}, @item levées voir @ruser{Upbeats}. @end table @end quotation @node Multiple notes at once @section Multiple notes at once Cette section traite des situations où l'on a plus d'une note à la fois : plusieurs instruments, plusieurs portées pour un même instrument (le piano, par exemple), et les accords. La polyphonie, en théorie musicale, est la notion d'une musique constituée de plusieurs voix ; dans lilypond, ce terme désigne les situations où il y a plus d'une voix sur une même portée. @menu * Music expressions explained:: * Multiple staves:: * Piano staves:: * Combining notes into chords:: * Single staff polyphony:: @end menu @node Music expressions explained @subsection Music expressions explained Dans les fichiers source LilyPond, la musique est représentée par ce qu'on appelle des @emph{expressions musicales}. En soi, une seule note peut constituer une expression musicale, si tant est qu'elle soit correctement encadrée : @lilypond[quote,ragged-right,verbatim,fragment,relative=2] a4 @end lilypond Mettre un groupe de notes entre accolades crée une nouvelle expression musicale : @lilypond[quote,ragged-right,verbatim,fragment,relative=2] { a4 g4 } @end lilypond Placer une séquence d'expressions musicales --- des notes par exemple --- entre accolades signifie qu'elles doivent être jouées successivement, les unes après les autres. Le résultat est une expression, qui peut elle-même être regroupée séquentiellement avec d'autres expressions. Ici, l'expression de l'exemple précédent est combinée à deux notes : @lilypond[quote,ragged-right,verbatim,fragment,relative=2] { { a4 g } f g } @end lilypond @subheading Simultaneous music expressions: multiple staves Cette technique est utile pour de la musique polyphonique. Pour entrer une musique avec plusieurs voix ou plusieurs portées, nous pouvons aussi combiner en parallèle les expressions. Deux voix qui doivent être jouées en même temps, sont entrées comme une combinaison simultanée de deux expressions. Une expression musicale @q{simultanée} est formée en entourant les expressions entre @code{<<} et @code{>>}. Dans l'exemple suivant, trois expressions (contenant chacune deux notes distinctes) sont combinées simultanément. @lilypond[quote,ragged-right,verbatim] \relative c'' { << { a4 g } { f e } { d b } >> } @end lilypond Notez que nous avons ici indenté chaque niveau du fichier d'entrée avec un nombre d'espaces différent. LilyPond se moque de l'espace qu'il peut y avoir (ou pas) au début d'une ligne, mais en indentant votre code vous le rendrez bien plus facile à lire pour les humains. @strong{Attention} : chaque note saisie est relative à la précédente, mais pas au @code{c''} de la commande @code{\relative} de départ. @subheading Simultaneous music expressions: single staff Pour déterminer le nombre de portées, LilyPond regarde le premier élément autre qu'une accolade. Si c'est une seule note, il y a une portée ; si c'est une expression simultanée, il y aura plus d'une portée. @lilypond[quote,ragged-right,verbatim] \relative c'' { c2 <> << { e f } { c <> } >> } @end lilypond @cindex expression @cindex expression musicale @subheading Analogy: mathematical expressions Ce mécanisme est similaire au formules mathématiques : une grosse formule est créée en assemblant plusieurs petites formules. Ces types de formules, appelées expressions, ont une définition récursive, de telle sorte que vous pouvez fabriquer des expressions arbitrairement longues et complexes. Par exemple, @example 1 1 + 2 (1 + 2) * 3 ((1 + 2) * 3) / (4 * 5) @end example Ceci est une suite d'expressions, où chacune est contenue dans la suivante. Les expressions les plus simples sont les nombres, et de plus grandes expressions sont produites en combinant des expressions avec des opérateurs --- comme @samp{+}, @samp{*} et @samp{/} --- et des parenthèses. Tout comme les expressions mathématiques, les expressions musicales peuvent être imbriquées avec une profondeur arbitraire, ce qui est nécessaire pour de la musique complexe comme des partitions polyphoniques. @node Multiple staves @subsection Multiple staves Comme nous l'avons vu dans @ref{Music expressions explained}, un fichier d'entrée LilyPond est fait d'expressions musicales. Si la partition commence par plusieurs expressions simultanées, LilyPond créera plusieurs portées. Cependant, il est plus facile de voir ce qu'il advient si l'on crée explicitement chacune des portées. Pour créer plus d'une portée, chaque partie de la musique constituant une portée est entrée en la faisant précéder de @code{\new Staff}. Ces éléments @code{Staff} sont ensuite combinés en parallèle avec @code{<<} et @code{>>}, comme ceci : @lilypond[quote,ragged-right,verbatim] \relative c'' { << \new Staff { \clef treble c } \new Staff { \clef bass c,, } >> } @end lilypond La commande @code{\new} introduit un @qq{contexte de notation}. Un contexte de notation est un environnement dans lequel les événements musicaux --- comme les notes ou les commandes @code{\clef} --- sont interprétés. Pour des pièces simples, ces contextes sont créés automatiquement. Pour des pièces plus complexes, il est préférable de spécifier explicitement les contextes. Cela assure que chaque fragment aura sa propre portée. Il existe différents types de contextes. Les contextes @code{Staff} (portée), @code{Voice} (voix) et @code{Score} (partition) gèrent la notation de la mélodie, alors que @code{Lyrics} gère les paroles et @code{ChordNames} imprime le nom des accords. En termes de syntaxe, faire précéder une expression musicale de @code{\new} crée une plus grosse expression musicale. En reprenant la comparaison, cela ressemble au signe @qq{moins} en mathématiques. La formule @math{(4+5)} est une expression, donc @math{-(4+5)} est une plus grosse expression. Les chiffres de métrique indiqués sur une portée affectent toutes les autres portées@footnote{Ce comportement peut être modifié si nécessaire, voir @ruser{Polymetric notation}.}. En revanche l'armure d'une portée n'affecte @emph{pas} les autres portées. @lilypond[quote,ragged-right,verbatim] \relative c'' { << \new Staff { \clef treble \time 3/4 c } \new Staff { \clef bass \key d \major c,, } >> } @end lilypond @node Piano staves @subsection Piano staves @cindex changement de portée manuel @cindex voix changeant manuellement de portée La musique pour piano s'écrit sur deux portées reliées par une accolade. Imprimer ce type de portée revient au même que dans l'exemple de musique polyphonique de @ref{Multiple staves}, mais maintenant cette expression entière doit être interprétée dans un contexte @code{PianoStaff} : @example \new PianoStaff << \new Staff @dots{} \new Staff @dots{} >> @end example Voici un bref exemple : @lilypond[quote,ragged-right,verbatim] \relative c'' { \new PianoStaff << \new Staff { \time 2/4 c4 e g g, } \new Staff { \clef bass c,, c' e c } >> } @end lilypond @seealso @quotation Voir @ruser{Keyboard instruments}. @end quotation @node Combining notes into chords @subsection Combining notes into chords @cindex accords Des accords peuvent être produits en entourant les hauteurs de notes par des angles gauche et droit --- @samp{<} et @samp{>} --- @lilypond[quote,fragment,verbatim,relative=2,fragment] r4 4 2 @end lilypond Vous pouvez combiner les indications comme les liaisons et les ligatures de croches avec les accords. Ils doivent cependant être placés en dehors des angles : @lilypond[quote,fragment,verbatim,relative=2,fragment] r4 8[ ]~ 2 @end lilypond @lilypond[quote,fragment,verbatim,relative=2,fragment] r4 8\>( 4 \!) @end lilypond @node Single staff polyphony @subsection Single staff polyphony @cindex polyphonie @cindex voix multiples sur une portée Quand différentes lignes mélodiques sont combinées sur une seule et même portée, elles sont imprimées comme des voix polyphoniques ; chaque voix a ses propre hampes@footnote{familièrement appelées queues de note.}, liaisons et ligatures, la voix supérieure ayant les hampes vers le haut, la voix inférieure vers le bas. Ce type de partition est réalisé en entrant chaque voix comme une séquence (avec @code{@{...@}}), en combinant simultanément les voix et en les séparant par @code{\\} : @lilypond[quote,ragged-right,verbatim,fragment,relative=2] << { a4 g2 f4~ f4 } \\ { r4 g4 f2 f4 } >> @end lilypond Pour l'écriture de musique polyphonique, les silences invisibles s'avèrent bien pratiques : ce sont des silences qui ne s'impriment pas. Ils sont utiles pour remplir des voix qui, temporairement, ne jouent rien. On peut voir ici le même exemple avec un silence invisible (@code{s}) à la place d'un silence normal (@code{r}) : @lilypond[quote,ragged-right,verbatim,fragment,relative=2] << { a4 g2 f4~ f4 } \\ { s4 g4 f2 f4 } >> @end lilypond @noindent Là encore, ces expressions peuvent s'imbriquer arbitrairement : @lilypond[quote,fragment,verbatim,relative=2,fragment] << \new Staff << { a4 g2 f4~ f4 } \\ { s4 g4 f2 f4 } >> \new Staff << \clef bass { 1 ~ 4 } \\ { e,,4 d e2 ~ e4} >> >> @end lilypond @seealso @quotation Voir @ruser{Basic polyphony}. @end quotation @node Songs @section Songs Cette section présente l'écriture vocale et les partitions de variété. @menu * Printing lyrics:: * A lead sheet:: @end menu @node Printing lyrics @subsection Printing lyrics @cindex paroles @cindex chansons Prenons une mélodie toute simple : @lilypond[quote,ragged-right,verbatim] \relative c'' { a4 e c8 e r4 b2 c4( d) } @end lilypond Des paroles peuvent être associées à ces notes, en les combinant avec la commande @code{\addlyrics}. Les paroles sont entrées en séparant chaque syllable par un espace : @lilypond[quote,ragged-right,verbatim] << \relative c'' { a4 e c8 e r4 b2 c4( d) } \addlyrics { One day this shall be free } >> @end lilypond @cindex mélisme @cindex ligne d'extension Cette mélodie se termine sur un @rglos{melisma}, c'est-à-dire qu'une seule syllable (@qq{free}) correspond à plus d'une note. Ceci est indiqué avec une @emph{ligne d'extension}. Elle est entrée avec deux caractères souligné (@code{_}), c'est-à-dire : @lilypond[quote,ragged-right,verbatim] << \relative c'' { a4 e c8 e r4 b2 c4( d) } \addlyrics { One day this shall be free __ } >> @end lilypond De la même manière, les séparations syllabiques d'un mot peuvent être entrées avec deux tirets (@code{-}), ce qui produit un tiret centré entre les deux syllabes : @c no ragged-right here because otherwise the hypens get lost. @lilypond[quote,verbatim] << \relative c' { \time 2/4 f4 f c c } \addlyrics { A -- le -- gri -- a } >> @end lilypond @seealso @quotation Plus de possibilités, comme celle d'ajouter plusieurs lignes de paroles en dessous d'une même mélodie sont exposées dans @ruser{Vocal music}. @end quotation @node A lead sheet @subsection A lead sheet @cindex partition de chanson @cindex chanson, partition complète @cindex accords, noms @cindex noms d'accords En musique de variété, il est courant d'indiquer l'accompagnement par le nom des accords. De tels accords peuvent être entrés comme les notes : @lilypond[quote,ragged-right,verbatim] \chordmode { c2 f4. g8 } @end lilypond Maintenant, chaque hauteur est lue comme la base de l'accord à la place de la note. Ce mode est activé avec @code{\chordmode}. D'autres accords peuvent être créés en ajoutant des modificateurs après deux points. L'exemple suivant montre quelques modificateurs usuels : @lilypond[quote,verbatim,ragged-right] \chordmode { c2 f4:m g4:maj7 gis1:dim7 } @end lilypond Pour la musique improvisée, les accords ne sont pas imprimés sur des portées mais comme des lignes à part entière. Ceci s'obtient en utilisant @code{\chords} à la place de @code{\chordmode}. La même syntaxe sera utilisée que dans le cas de@code{\chordmode}, mais le rendu des notes interviendra dans un contexte @code{ChordNames}, avec le résultat suivant : @lilypond[quote,verbatim,ragged-right] \chords { c2 f4.:m g4.:maj7 gis8:dim7 } @end lilypond @cindex partition de chanson @cindex chanson, partition complète Une fois assemblés, les accords, paroles et mélodie forment une partition de chanson : @lilypond[quote,verbatim,ragged-right] << \chords { c2 g:sus4 f e } \relative c'' { a4 e c8 e r4 b2 c4( d) } \addlyrics { One day this shall be free __ } >> @end lilypond @seealso @quotation Une liste complète de modificateurs et d'autres options de mise en forme se trouve à la section @ruser{Chord notation}. @end quotation @node Final touches @section Final touches L'ultime section de ce tutoriel montre comment ajouter une touche finale à des morceaux simples, et consititue une introduction au reste du manuel. @menu * Version number:: * Adding titles:: * Absolute note names:: * Organizing pieces with identifiers:: * After the tutorial:: * How to read the manual:: @end menu @node Version number @subsection Version number @cindex versions La déclaration @code{\version} stipule le numéro de la version de LilyPond pour laquelle le fichier a été écrit, @example \version @w{"@version{}"} @end example @noindent que l'on place par convention en début de fichier. Cette annotation permet de faciliter les prochaines mises à jour de LilyPond. Les changements dans la syntaxe sont gérés avec un programme spécial, @file{convert-ly} --- voir @rprogram{Updating files with convert-ly} --- et il utilise @code{\version} pour déterminer les règles de conversion à appliquer au fichier. @node Adding titles @subsection Adding titles Les informations bibliographiques (nom du morceau, du compositeur, etc) sont entrées dans un bloc séparé, le bloc d'en-tête (@code{\header}), qui existe indépendamment des expressions musicales principales. Le bloc @code{\header} est habituellement placé en début de fichier. @example \version "2.11.38" \header @{ title = "Symphonie" composer = "Moi" opus = "Op. 9" @} @{ @dots{} music @dots{} @} @end example Quand le fichier est traité, le titre et le compositeur sont imprimés en haut de la partition. Vous trouverez plus d'informations sur les titres à @ruser{Creating titles}. @node Absolute note names @subsection Absolute note names Jusqu'ici nous n'avons utilisé que le mode @code{\relative} pour définir les hauteurs de notes. Si c'est effectivement le moyen le plus simple d'entrer la majeure partie de votre musique, il existe une autre façon de procéder : le mode des hauteurs absolues. Si vous omettez la commande @code{\relative}, LilyPond considérera toutes les hauteurs comme des hauteurs absolues. Un @code{c'} sera toujours un do du milieu, un @code{b} sera toujours une note au-dessous du précédent, et un @code{g,} sera toujours la note la plus grave dans la portée de clé de fa. @lilypond[quote,verbatim,ragged-right] { \clef bass c' b g, g, g, f, f c' } @end lilypond Voici une gamme sur 4 octaves : @lilypond[quote,verbatim,ragged-right] { \clef bass c, d, e, f, g, a, b, c d e f g a b c' d' \clef treble e' f' g' a' b' c'' d'' e'' f'' g'' a'' b'' c'''1 } @end lilypond Comme vous pouvez le voir, il faut beaucoup d'apostrophes pour écrire de la musique dans un registre aigu. Regardez cet extrait de Mozart : @lilypond[quote,verbatim,ragged-right] { \key a \major \time 6/8 cis''8. d''16 cis''8 e''4 e''8 b'8. cis''16 b'8 d''4 d''8 } @end lilypond Toutes ces apostrophes rendent le fichier moins lisible, et c'est donc une source d'erreurs. En mode @code{\relative}, le même exemple devient bien plus facile à lire : @lilypond[quote,verbatim,ragged-right] \relative c'' { \key a \major \time 6/8 cis8. d16 cis8 e4 e8 b8. cis16 b8 d4 d8 } @end lilypond Si d'aventure vous faites une erreur d'octaviation, le mode @code{\relative} la rendra frappante --- toutes les notes suivantes seront placées à la mauvaise octave. En mode de hauteurs absolues, une erreur isolée ne serait pas auntant visible, et donc aussi facile à dénicher. Cependant, le mode de hauteurs absolues reste utile pour les musiques où les intervalles sont étendus, surtout pour les fichiers LilyPond créés par ordinateur. @node Organizing pieces with identifiers @subsection Organizing pieces with identifiers Lorsque l'on combine tous les éléments étudiés plus haut pour produire des fichiers plus volumineux, les blocs @code{\score} deviennent beaucoup plus gros parce que les expressions musicales sont plus longues et, dans le cas des pièces polyphoniques, profondément imbriquées. De telles expressions imposantes finissent par devenir peu maniables. Cet inconvénient peut être résolu par l'utilisation d'@emph{identificateurs}. En utilisant ces identificateurs, que l'on pourrait aussi appeler variables ou macros, il est possible de découper des expressions musicales complexes. Un identificateur se définit comme suit : @example MusiqueToto = @{ @dots{} @} @end example Le contenu de l'expression musicale @code{MusiqueToto} pourra être utilisé plus loin en faisant précéder son nom d'un anti-slash, c'est-à-dire @code{\MusiqueToto}, juste comme n'importe quelle commande LilyPond. Tous les identificateurs doivent être définis @emph{avant} l'expression musicale principale. @lilypond[quote,verbatim,ragged-right] violin = \new Staff { \relative c'' { a4 b c b }} cello = \new Staff { \relative c { \clef bass e2 d }} { << \violin \cello >> } @end lilypond @noindent Le nom d'un identificateur ne doit comporter que des caractères alphabétiques non accentués, aucun nombre ni tiret. Il est possible d'utiliser des variables de types variés. Par exemple, @example width = 4.5\cm name = "Wendy" aFivePaper = \paper @{ paperheight = 21.0 \cm @} @end example En fonction de son contenu, un identificateur peut être utilisé à différents endroits. L'exemple suivant utilise la variable ci-dessus : @example \paper @{ \aFivePaper line-width = \width @} @{ c4^\name @} @end example @node After the tutorial @subsection After the tutorial Après avoir parcouru ce tutoriel, vous devriez vous essayer à écrire un morceau ou deux. Commencez par copier l'un des @ref{Templates} types et ajoutez-y des notes. Si vous voulez employer une notation que vous n'avez pas trouvé dans le tutoriel, consultez la référence de notation, en commençant par la @ruser{Musical notation}. Si vous désirez écrire pour un ensemble instrumental non couvert par les @ref{Templates}, lisez la section @ref{Extending the templates}. Après avoir écrit quelques pièces courtes, lisez les chapitres 3 à 5 du manuel d'apprentissage. Rien ne s'oppose à ce que vous consultiez dès à présent les autres chapitres, bien sûr ! Néanmoins, le reste du manuel de l'utilisateur part du principe que vous avez déjà bien assimilé la syntaxe de LilyPond. Vous pouvez toujours survoler le reste du manuel, et y revenir plus tard après avoir acquis de l'expérience. @node How to read the manual @subsection How to read the manual Comme nous l'avons déjà vu dans @ref{How to read the tutorial}, de nombreux exemples du tutoriel n'ont pas fait apparaître @code{\relative c'' @{ ... @}} dans l'extrait de code affiché. Dans le reste du manuel, les exemples utilisés sont encore beaucoup plus souples : parfois il leur manque le @code{\relative c'' @{ ... @}}, mais d'autres fois ils ont recours à une autre hauteur de référence, telle que @code{c'} ou @code{c,,}), et dans certains cas c'est même l'exemple entier qui est en mode de hauteurs absolues ! Cependant, de telles ambiguïtés ne se trouvent que dans des contextes où les hauteurs n'ont que peu d'importance. Dans tous les exemples où elles en ont, le mode @code{\relative} ou absolu @code{@{ @}} est explicitement spécifié. Si vous ne vous y retrouvez toujours pas pour savoir quel code LilyPond produit précisément tel ou tel exemple, consultez la version HTML de ce manuel si ce n'est pas déjà le cas, et cliquez sur l'image de la partition. La source exacte utilisée pour générer ce manuel s'affichera alors. Pour en savoir plus sur l'organisation de la suite de ce manuel, reportez-vous à @ref{About the documentation}.