@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @c This file is part of ../user/lilypond.tely @ignore Translation of GIT committish: e4135d227f80ed5ded732f32f0e9e3f9a1fff774 When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @end ignore @node Instrument-specific notation @chapter Instrument-specific notation Ce chapitre traite de la notation spécifique à certains instruments. @menu * Piano music:: * Chord names:: * Vocal music:: * Rhythmic music:: * Guitar:: * Bagpipe:: * Ancient notation:: * Other instrument specific notation:: @end menu @node Piano music @section Piano music Les systèmes de piano comprennent deux portées réunies par une accolade. Les portées sont largement autonomes, mais il arrive que des voix passent de l'une à l'autre. Cette notation sert également à la harpe ou à d'autres instruments à clavier. Le contexte @internalsref{PianoStaff} est précisément conçu pour gérer la notation spécifique au piano, notamment ces croisements. @menu * Automatic staff changes:: * Manual staff switches:: * Pedals:: * Staff switch lines:: * Cross staff stems:: @end menu @refbugs Les nuances ne sont pas centrées verticalement, mais il existe des astuces. Voir à ce sujet le modèle @q{alignement des nuances au piano} au chapitre @ref{Piano templates}. @cindex hampe, enjambement portées @cindex distance entre deux portées de piano @node Automatic staff changes @subsection Automatic staff changes @cindex Changements de portées automatiques Les voix peuvent passer automatiquement d'une portée à l'autre, au moyen de la syntaxe suivante : @quotation @example \autochange @dots{}@var{musique}@dots{} @end example @end quotation @noindent Deux portées seront alors créées au sein du contexte @code{PianoStaff}, nommées respectivement @code{up} et @code{down}. La portée du bas, par défaut, sera en clé de fa. Une section en mode @code{\relative} se situant en dehors de la commande @code{\autochange} n'aura pas d'effet sur les hauteurs de l'expression @var{musique} ; si on utilise @code{\relative}, il est donc préférable de mettre @code{\relative} @emph{après} @code{\autochange} et non avant : @quotation @example \autochange \relative @dots{} @dots{} @end example @end quotation La commande @code{\autochange} bascule les notes d'une portée à l'autre en fonction de leur hauteur (le do du milieu servant de charnière), et place les silences en fonction des notes qui les suivront. Ainsi : @lilypond[quote,verbatim,ragged-right] \new PianoStaff \autochange \relative c' { g4 a b c d r4 a g } @end lilypond @seealso Dans ce même manuel : @ref{Manual staff switches}. Référence du programme : @internalsref{AutoChangeMusic}. @refbugs Les changements de portée automatiques n'interviennent pas toujours à l'endroit le plus opportun. Pour un résultat de meilleure qualité, il vaut mieux indiquer soi-même ces changements. @code{\autochange} ne peut intervenir à l'intérieur d'une commande @code{\times}. @node Manual staff switches @subsection Manual staff switches @cindex changements de portées manuels @cindex changement de portée, manuel Il est possible de passer d'une portée à l'autre de façon manuelle, au moyen de la commande @example \change Staff = @var{nomDeLaPortee} @var{musique} @end example @noindent La valeur @var{nomDeLaPortee} est le nom de la portée sur laquelle va se déplacer la voix courante. Pour des raisons pratiques, on nomme la portée supérieure @code{"haut"} et la portée inférieure @code{"bas"}, donc @var{nomDeLaPortee} désigne habituellement @code{"haut"} ou @code{"bas"}. Dans tous les cas, le contexte de portée ainsi utilisé doit exister au préalable. C'est pourquoi il est d'usage de commencer par définir les portées @example << \new Staff = "haut" @{ \skip 1 * 10 % @emph{de façon à prolonger la portée} @} \new Staff = "bas" @{ \skip 1 * 10 % @emph{idem} @} >> @end example avant d'insérer une mélodie au moyen d'un contexte @context{Voice} : @example \context Staff = bas \new Voice @{ @dots{} \change Staff = haut @dots{} @} @end example @node Pedals @subsection Pedals @cindex Pédales Le piano possède deux pédales, parfois trois, permettant de modifier l'émission du son. Il est possible d'indiquer précisément chacune d'entre elles, en ajoutant à une note ou un accord les commandes suivantes : @multitable {enfoncerr} {pédale de tenuee} {pédale una cordaa} {\sostenutoDownnnn} @item @tab pédale de tenue @tab pédale @emph{una corda} @tab pédale tonale @item enfoncer @tab @code{\sustainDown} @tab @code{\unaCorda} @tab @code{\sostenutoDown} @item relâcher @tab @code{\sustainUp} @tab @code{\treCorde} @tab @code{\sostenutoUp} @end multitable @lilypond[quote,ragged-right,fragment,verbatim] c'4\sustainDown c'4\sustainUp @end lilypond Les modalités d'impression de ces indications sont définies par la propriété @code{pedal@var{X}Strings}, @var{X} étant l'une des trois pédales @code{Sustain}, @code{Sostenuto} ou @code{UnaCorda}. Voyez la référence du programme, section @internalsref{SustainPedal}, pour en savoir plus. La propriété @code{pedalSustainStyle} permet différentes notations de pédale, en utilisant des crochets @lilypond[quote,ragged-right,fragment,verbatim,relative=2] \set Staff.pedalSustainStyle = #'bracket c\sustainDown d e b\sustainUp\sustainDown b g \sustainUp a \sustainDown \bar "|." @end lilypond @noindent ou en mélangeant indications textuelles et crochets @lilypond[quote,ragged-right,fragment,verbatim,relative=2] \set Staff.pedalSustainStyle = #'mixed c\sustainDown d e b\sustainUp\sustainDown b g \sustainUp a \sustainDown \bar "|." @end lilypond @code{text} est le style de notation par défaut pour la pédale de tenue --- le traditionnel @q{*Ped.}. La pédale tonale, en revanche, utilise @code{mixed} par défaut. @lilypond[quote,ragged-right,fragment,verbatim,relative=2] c\sostenutoDown d e c, f g a\sostenutoUp @end lilypond Il est possible de d'affiner l'apparence d'un crochet de pédale, au moyen des propriétés @code{edge-width}, @code{edge-height}, et @code{shorten-pair}, appliquées aux objets @code{PianoPedalBracket} --- voir la référence du programme, section @internalsref{PianoPedalBracket}. Par exemple, on peut étirer le crochet jusqu'à l'extrémité droite de la dernière note : @lilypond[quote,ragged-right,fragment,verbatim,relative=2] \override Staff.PianoPedalBracket #'shorten-pair = #'(0 . -1.0) c\sostenutoDown d e c, f g a\sostenutoUp @end lilypond @seealso Dans ce manuel : @ref{Laissez vibrer ties}. @node Staff switch lines @subsection Staff switch lines @cindex voix entre deux portées @cindex changements de portée @cindex mélodie d'une portée à une autre @funindex followVoice Lorsqu'une voix change de portée, il est possible d'imprimer automatiquement une ligne reliant les notes, en attribuant à la variable @code{followVoice} la valeur @emph{vrai} : @lilypond[quote,ragged-right,fragment,relative=1,verbatim] \new PianoStaff << \new Staff="one" { \set followVoice = ##t c1 \change Staff=two b2 a } \new Staff="two" { \clef bass \skip 1*2 } >> @end lilypond @seealso Référence du programme : @internalsref{VoiceFollower}. @refcommands @funindex \showStaffSwitch @code{\showStaffSwitch}, @funindex \hideStaffSwitch @code{\hideStaffSwitch}. @node Cross staff stems @subsection Cross staff stems Pour écrire des accords qui enjambent deux portées, on allonge la hampe de l'accord de l'une des deux portées de façon à ce qu'elle rejoigne celle de l'autre portée. @lilypond[ragged-right,verbatim,quote] stemExtend = { \once \override Stem #'length = #10 \once \override Stem #'cross-staff = ##t } noFlag = \once \override Stem #'flag-style = #'no-flag \new PianoStaff << \new Staff { \stemDown \stemExtend f'4 \stemExtend \noFlag f'8 } \new Staff { \clef bass a4 a8 } >> @end lilypond @node Chord names @section Chord names @menu * Introducing chord names:: * Chords mode:: * Printing chord names:: @end menu @c awkward name; awkward section name. @c still, the Basic "chords" seems like a good name... :( @node Introducing chord names @subsection Introducing chord names @cindex accords, chiffrage jazz LilyPond permet de désigner les accords par leur chiffrage jazz. S'il est possible d'entrer un accord sous sa forme musicale, avec @code{<.. >}, on peut aussi le saisir par son nom. Pour LilyPond, un accord demeure un ensemble de hauteurs, et leur transposition est donc possible. @lilypond[quote,ragged-right,verbatim,ragged-right] twoWays = \transpose c c' { \chordmode { c1 f:sus4 bes/f } } <<\new ChordNames \twoWays \new Voice \twoWays >> @end lilypond Cet exemple montre également que les jeux d'instructions qui permettent à LilyPond d'imprimer des accords ne cherchent pas à se montrer intelligents. Ici, le dernier accord n'est pas interprété comme inversé. Notez bien que la valeur rythmique des accords doit être indiquée @emph{à l'extérieur} des symboles @code{<>}. @example 2 @end example @node Chords mode @subsection Chords mode @cindex Mode Accords Dans le mode accords, introduit par la commande @code{\chordmode}, les accords ne sont indiqués que par leur note fondamentale. @lilypond[quote,ragged-right,fragment,verbatim] \chordmode { es4. d8 c2 } @end lilypond @cindex saisir des accords @cindex mode accords On peut cependant obtenir des accords différents, en le spécifiant avec le caractère deux points (@code{:}). @lilypond[quote,fragment,verbatim] \chordmode { e1:m e1:7 e1:m7 } @end lilypond Le nombre accolé à la note fondamentale est considéré comme @qq{chiffrage jazz} de l'accord, qui est de ce fait construit par un empilement de tierces : @lilypond[quote,fragment,verbatim] \chordmode { c:3 c:5 c:6 c:7 c:8 c:9 c:10 c:11 } @end lilypond @cindex note fondamentale @cindex notes ajoutées @cindex accords incomplets Des accords encore plus complexes peuvent être élaborés en plusieurs étapes séparées. Ainsi, on peut enrichir l'accord par des notes ajoutées, que l'on indique après le chiffrage principal et que l'on sépare par des points : @lilypond[quote,verbatim,fragment] \chordmode { c:5.6 c:3.7.8 c:3.6.13 } @end lilypond On peut augmenter ou diminuer certains intervalles au moyen des signes @code{-} ou @code{+} : @lilypond[quote,verbatim,fragment] \chordmode { c:7+ c:5+.3- c:3-.5-.7- } @end lilypond On peut aussi enlever certaines notes de l'accord, en les spécifiant après un signe @code{^} --- les notes ajoutées doivent être indiquées @emph{avant} les notes à enlever. @lilypond[quote,verbatim,fragment] \chordmode { c^3 c:7^5 c:9^3.5 } @end lilypond Voici les différents chiffrages disponibles, en plus des nombres que nous venons de voir : @table @code @item m Accord mineur. Ce chiffrage minorise la tierce, et la septième s'il y en a une. @item dim Accord diminué. Ce chiffrage minorise la tierce, diminue la quinte et la septième s'il y en a une. @item aug Accord augmenté. Ce chiffrage augmente la quinte. @item maj Accord de septième majeure. Ce chiffrage majorise la septième s'il y en a une (dans le cas d'un accord parfait, ce chiffrage est facultatif). @item sus Accord "sus". Ce chiffrage supprime la tierce, et y ajoute, suivant que vous spécifiez @code{2} ou @code{4}, la seconde ou la quarte. @end table Il est bien sûr possible de mélanger ces chiffrages avec des notes ajoutées. @lilypond[quote,verbatim,fragment] \chordmode { c:sus4 c:7sus4 c:dim7 c:m6 } @end lilypond @cindex chiffrages des accords @funindex aug @funindex dim @funindex maj @funindex sus @funindex m Dans la mesure où un accord de treizième naturelle ne sonne pas très bien avec la onzième, cette note sera enlevée automatiquement (à moins que vous ne le spécifiez explicitement). @lilypond[quote,ragged-right,fragment,verbatim] \chordmode { c:13 c:13.11 c:m13 } @end lilypond @funindex / Les accords peuvent être disposés de façon particulière, ou combinés avec une note étrangère à la basse, au moyen de @code{@var{accord}/}@var{note} @lilypond[quote,ragged-right,fragment,verbatim] \chordmode { c1 c/g c/f } @end lilypond @funindex /+ Si la note de basse précisée appartient à l'accord, la doublure supérieure sera supprimée. Pour l'éviter, utilisez la syntaxe @code{/+}@var{note}. @lilypond[quote,ragged-right,fragment,verbatim] \chordmode { c1 c/+g c/+f } @end lilypond Le mode accords est semblable à @code{\lyricmode} ou autre, c'est-à-dire que la plupart des commandes sont encore disponibles ; ainsi @code{r} ou @code{\skip} peuvent servir à insérer des silences ou des silences invisibles. De plus, les propriétés des objets peuvent être ajustées ou modifiées. @refbugs Aucune note ne peut être indiquée deux fois dans un accord. Ainsi, dans l'accord suivant seule la quinte augmentée, indiquée en dernier, est affichée : @cindex agrégats @lilypond[quote,ragged-right,verbatim,fragment] \chordmode { c:5.5-.5+ } @end lilypond @node Printing chord names @subsection Printing chord names @cindex chiffrages d'accords @cindex accords Les chiffrages d'accords sont liés au contexte @internalsref{ChordNames}. Les accords peuvent être saisis soit au moyen de la notation indiquée ci-dessus, soit directement avec les symboles @code{<} et @code{>}. @lilypond[quote,verbatim,ragged-right] harmonies = { \chordmode {a1 b c} } << \new ChordNames \harmonies \new Staff \harmonies >> @end lilypond Vous pouvez faire ressortir les chiffrages d'accords en définissant comme vraie (##t pour "true") la propriété @code{chordChanges} dans le contexte @internalsref{ChordNames}. De cette façon, les chiffrages ne s'afficheront que lorsque les accords changeront, ou au début d'une nouvelle ligne. @lilypond[quote,verbatim,ragged-right] harmonies = \chordmode { c1:m c:m \break c:m c:m d } << \new ChordNames { \set chordChanges = ##t \harmonies } \new Staff \transpose c c' \harmonies >> @end lilypond Les exemples précédents montrent des chiffrages placés au-dessus de la portée, mais ce n'est pas obligé : les accords peuvent également être imprimés séparément -- auquel cas vous aurez peut-être besoin d'ajouter le @internalsref{Volta_engraver} et le @internalsref{Bar_engraver} afin que les éventuelles barres de reprises s'affichent correctement. @lilypond[ragged-right,verbatim] \new ChordNames \with { \override BarLine #'bar-size = #4 voltaOnThisStaff = ##t \consists Bar_engraver \consists "Volta_engraver" } \chordmode { \repeat volta 2 { f1:maj7 f:7 bes:7 c:maj7 } \alternative { es e } } @end lilypond Le modèle par défaut des chiffrages d'accord est celui de Klaus Ignatzek pour le Jazz (cf. @ref{Literature list}). Il s'agit d'une notation anglo-saxonne ; cependant vous pouvez indiquer vos chiffrages en notation française au moyen de la commande \frenchChords (voir plus bas). Il est possible de créer votre propre modèle de chiffrages en réglant les propriétés suivantes : @table @code @itemize @bullet @funindex chordNameExceptions @item chordNameExceptions C'est une liste d'accords pour lesquels vous voulez une mise en forme particulière. Cette liste d'exceptions s'indique de la façon suivante : On commence par créer une expression musicale telle que @example @code{chExceptionMusic} = @{ 1 \markup @{ \super "7" "wahh" @} @} @end example puis on la transforme en liste d'exceptions au moyen du code suivant : @example (sequential-music-to-chord-exceptions chExceptionMusic #t) @end example On peut alors ajouter ces exceptions aux exceptions par défaut (définies dans @file{ly/@/chord@/-modifier@/-init@/.ly}) : @example (append (sequential-music-to-chord-exceptions chExceptionMusic #t) ignatzekExceptions) @end example Voir aussi concernant cette propriété : @lsr{chords/,chord@/-name@/-exceptions@/.ly} @cindex exceptions, chiffrages d'accords. @funindex majorSevenSymbol @item majorSevenSymbol Cette propriété définit l'objet employé pour indiquer une septième majeure. Les options prédéfinies sont @code{whiteTriangleMarkup} (triangle blanc) et @code{blackTriangleMarkup} (triangle noir). Voir aussi @lsr{chords,chord@/-name@/-major7@/.ly}. @funindex chordNameSeparator @item chordNameSeparator Les différents termes d'un chiffrage jazz (par exemple les notes de l'accord et la basse) sont habituellement séparés par un trait oblique. La propriété @code{chordNameSeparator} vous permettra néanmoins de spécifier un autre séparateur de votre choix : @lilypond[quote,ragged-right,fragment,verbatim] \new ChordNames \chordmode { c:7sus4 \set chordNameSeparator = \markup { \typewriter "|" } c:7sus4 } @end lilypond @funindex chordRootNamer @item chordRootNamer Dans les chiffrages d'accord jazz, la note fondamentale de chaque accord est exprimée par une lettre capitale, parfois suivie d'une altération, correspondant à la notation anglo-saxonne de la musique. Cette propriété est justement en charge de cet affichage ; c'est donc en la définissant que l'on peut produire des chiffrages spéciaux, adaptés par exemple aux systèmes de notation d'autres pays. @funindex chordNoteNamer @item chordNoteNamer Lorsqu'un chiffrage mentionne une note ajoutée (par exemple la basse), les règles utilisées sont par défaut celles définies par la propriété @code{chordRootNamer} ci-dessus. Cependant, la propriété @code{chordNoteNamer} permet de régler cet élément indépendamment, par exemple pour imprimer la basse en caractères minuscules. @funindex chordPrefixSpacer @item chordPrefixSpacer Le petit @q{m} qui indique un accord mineur est, dans la notation anglo-saxonne, attaché à la lettre de l'accord. Cependant il est possible d'ajouter un espace en définissant comme vraie la propriété @code{chordPrefixSpacer}. Cet espace sera omis si une altération est présente. @end itemize @end table Les propriétés ci-dessus font l'objet de commandes prédéfinies adaptées aux notations de différents pays : @code{\germanChords} et @code{\semiGermanChords} pour la notation allemande, @code{\italianChords} pour la notation italienne et enfin @code{\frenchChords} pour la notation française. Voyez par vous-même : @lilypondfile[ragged-right]{chord-names-languages.ly} LilyPond intègre également deux autres modèles de chiffrages : une notation Jazz alternative, et un modèle appelé le système Banter. Voir à ce sujet @ref{Chord name chart} et @code{input/@/test,chord@/-names@/-jazz@/.ly} pour la mise en œuvre de ces modèles. @cindex Banter @cindex jazz accords chiffrages @cindex accords jazz chiffrages @refcommands @funindex \germanChords @code{\germanChords}, @funindex \semiGermanChords @code{\semiGermanChords}. @funindex \italianChords @code{\italianChords}. @funindex \frenchChords @code{\frenchChords}. @seealso Exemples : @lsr{chords/,chord@/-name@/-exceptions@/.ly}, @lsr{chords,chord@/-name@/-major7@/.ly} et @code{input/@/test,chord@/-names@/-jazz@/.ly}. Fichiers internes : @file{scm/@/chords@/-ignatzek@/.scm}, et @file{scm/@/chord@/-entry@/.scm}. @refbugs Les chiffrages d'accords ne sont déterminés que par la succession des hauteurs de notes. En d'autres termes, les accords inversés ne sont pas reconnus, ni les notes ajoutées à la basse. Aussi les accords saisis au moyen de la syntaxe @code{<.. >} peuvent-ils produire des chiffrages étranges. @node Vocal music @section Vocal music Dans la mesure où les fichiers LilyPond sont constitués de texte, traiter de la musique vocale demande de prendre en compte deux spécificités : @itemize @bullet @item Les paroles sont saisies comme étant du texte, non des notes. Ainsi, le code@tie{}@code{d} sera interprété comme une syllabe, et non comme la note@tie{}ré (D pour les non latinistes). @item Les paroles doivent s'aligner avec les notes de la mélodie correspondante. @end itemize Plusieurs solutions existent pour ajouter des paroles ; nous les examinerons par degré croissant de complexité. @menu * Setting simple songs:: * Entering lyrics:: * Aligning lyrics to a melody:: * Working with lyrics and identifiers:: * Flexibility in placement:: * Spacing lyrics:: * More about stanzas:: * Ambitus:: * Other vocal issues:: @end menu @commonprop S'assurer que tous les éléments textuels et les paroles respectent les marges du document requiert des calculs relativement lourds ; c'est la raison pour laquelle LilyPond, par défaut, ne s'en préoccupe pas. Vous pouvez cependant l'y forcer en définissant @example \override Score.PaperColumn #'keep-inside-line = ##t @end example Pour que les paroles évitent également les barres de mesure, procédez comme suit : @example \layout @{ \context @{ \Lyrics \consists "Bar_engraver" \consists "Separating_line_group_engraver" \override BarLine #'transparent = ##t @} @} @end example @node Setting simple songs @subsection Setting simple songs @cindex \addlyrics Le plus simple pour ajouter des paroles à une mélodie est d'adjoindre @example \addlyrics @{ @var{les paroles} @} @end example @noindent à la mélodie. En voici un exemple : @lilypond[ragged-right,verbatim,fragment,quote] \time 3/4 \relative { c2 e4 g2. } \addlyrics { play the game } @end lilypond On peut ajouter davantage de couplets en multipliant le nombre de sections @code{\addlyrics}. @lilypond[ragged-right,verbatim,fragment,quote] \time 3/4 \relative { c2 e4 g2. } \addlyrics { play the game } \addlyrics { speel het spel } \addlyrics { joue le jeu } @end lilypond Cependant, la commande @code{\addlyrics} ne peut gérer les constructions polyphoniques. Dans ce cas, mieux vaut employer @code{\lyricsto} et @code{\lyricmode}, comme nous le verrons dans @ref{Entering lyrics}. @node Entering lyrics @subsection Entering lyrics @cindex paroles @funindex \lyricmode @cindex ponctuation @cindex espaces, dans les paroles @cindex guillemets, dans les paroles Il existe un mode de saisie spécialement adapté aux paroles. On l'introduit avec le mot-clé @code{\lyricmode}, ou en utilisant @code{\addlyrics} ou @code{\lyricsto}. Ce mode vous permet de saisir des paroles, ainsi que leur ponctuation, et le caractère @code{d} ne sera plus interprété comme une note, mais comme une syllabe. Les syllabes sont saisies comme des notes, mais les hauteurs sont alors remplacées par du texte. Exemple avec une comptine anglaise : @example \lyricmode @{ Twin-4 kle4 twin- kle litt- le star2 @} @end example Ici on a choisi de saisir explicitement la durée de chaque syllabe. Cependant, il est aussi possible d'attribuer automatiquement chaque syllabe à une note d'une mélodie ou d'une voix existante, avec @code{\addlyrics} ou @code{\lyricsto}. @c TODO: broken but exists Aligning lyrics @c For more details see @ref{The Lyrics context}. Dans les paroles, un mot ou une syllabe commence par une lettre de l'alphabet, et se termine par un espace (éventuellement précédé d'un chiffre). Toute syllabe doit donc être séparée d'une autre par un espace, tout autre caractère étant considéré comme partie intégrante de cette même syllabe. L'exemple suivant comporte une faute de frappe évidente : @example \lyricmode @{ lah- lah@} @end example la dernière syllabe contient une @code{@}}, il y a de fait un défaut de parité avec l'accolade ouvrante, et la compilation échouera fort probablement. @funindex \property in \lyricmode @noindent De la même manière, un point concluant une suite de lettres sera partie intégrante de la chaîne résultante. Par conséquent, il est impératif d'insérer des espaces lorsque vous modifiez les propriétés d'une commande. En d'autres termes, ne saisissez pas @example \override Score.LyricText #'font-shape = #'italic @end example @noindent mais plutôt @example \override Score . LyricText #'font-shape = #'italic @end example @funindex _ @cindex espaces, dans les paroles @cindex guillemets, dans les paroles @cindex liaisons, dans les paroles Pour attribuer plus d'une syllabe à une même note, vous pouvez mettre ces syllabes entre guillemets, ou bien remplacer les espaces par des caractères souligné (@code{_}), ou encore utiliser des tildes (@code{~}) pour obtenir des liaisons entre les syllabes. @lilypond[quote,relative=2,ragged-right,fragment,verbatim] \time 3/4 \relative { c2 e4 g2 e4 } \addlyrics { gran- de_a- mi- go } \addlyrics { pu- "ro y ho-" nes- to } \addlyrics { pu- ro~y~ho- nes- to } @end lilypond Cette liaison adaptée aux paroles correspond au caractère Unicode U+203F, et n'apparaîtra que si la police utilisée l'inclut (par exemple DejaVuLGC). Pour utiliser des lettres accentuées ou des caractères spéciaux (cœurs ou guillemets inversés par exemple), il suffit de les insérer dans le fichier et de veiller à sauvegarder ce dernier en encodage utf-8. Voir à ce sujet @ref{Text encoding} pour plus de détails. @lilypond[quote,ragged-right,fragment,verbatim] \relative { e4 f e d e f e2 } \addlyrics { He said: “Let my peo ple go”. } @end lilypond Pour utiliser des guillemets informatiques standard, faites-les précéder d'une barre oblique inversée : @lilypond[quote,ragged-right,fragment,verbatim] \relative c' { \time 3/4 e4 e4. e8 d4 e d c2. } \addlyrics { "\"I" am so lone- "ly\"" said she } @end lilypond Expliquer exactement comment LilyPond repère le début d'un mot en mode paroles (Lyrics) est quelque peu compliqué. En mode Lyrics, un mot peut commencer par : tout caractère alphabétique, @code{_}, @code{?}, @code{!}, @code{:}, @code{'}, les codes de contrôle @code{^A} à @code{^F}, et @code{^Q} à @code{^W}, @code{^Y}, @code{^^}, ou tout caractère ASCII -- à définir sur 8 bits au-delà du 127ième -- ou enfin tout symbole @code{`}, @code{'}, @code{"}, ou @code{^}, s'il est précédé d'une barre oblique inverse. Pour inclure des paroles dans un identificateur, il faut utiliser @code{lyricmode}. @example verseOne = \lyricmode @{ Joy to the world the Lord is come @} \score @{ << \new Voice = "one" \relative c'' @{ \autoBeamOff \time 2/4 c4 b8. a16 g4. f8 e4 d c2 @} \addlyrics @{ \verseOne @} >> @} @end example @seealso Référence du Programme : @internalsref{LyricText}, @internalsref{LyricSpace}. @node Aligning lyrics to a melody @subsection Aligning lyrics to a melody @funindex \lyricmode @funindex \addlyrics @funindex \lyricsto Avant d'être imprimées, les paroles sont interprétées par le programme dans le contexte @internalsref{Lyrics}. @example \new Lyrics \lyricmode @dots{} @end example Il y a deux grandes méthodes pour gérer le placement horizontal des syllabes : @itemize @bullet @item en alignant automatiquement les paroles sur une mélodie ou une autre voix, en ayant recours à @code{\addlyrics} ou @code{\lyricsto} ; @item en affectant à chaque syllabe une durée explicite, au sein du contexte @code{\lyricmode} @end itemize @menu * Automatic syllable durations:: * Another way of entering lyrics:: * Assigning more than one syllable to a single note:: * More than one note on a single syllable:: * Extenders and hyphens:: @end menu @node Automatic syllable durations @subsubsection Automatic syllable durations @cindex durées automatiques des syllabes @cindex paroles et mélodies Les paroles peuvent être automatiquement alignées sous une mélodie. Il suffit pour cela de combiner la mélodie et les paroles avec la commande @code{\lyricsto}. @example \new Lyrics \lyricsto @var{nom} @dots{} @end example Cette commande adapte les paroles aux notes de la variable @var{nom} qui désigne un contexte @internalsref{Voice} précédemment défini. Ce contexte @code{Voice}, quel qu'il soit, intervient avant de spécifier les paroles avec @code{\lyricsto}. La commande @code{\lyricsto} introduit automatiquement le mode @code{\lyricmode}, aussi n'avez-vous pas à taper vous-même @code{\lyricmode} dans ce cas. L'exemple suivant récapitule les différentes manières de saisir des paroles. @lilypond[quote,fragment,ragged-right,verbatim] << \new Voice = "one" \relative c'' { \autoBeamOff \time 2/4 c4 b8. a16 g4. f8 e4 d c2 } \new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 } \new Lyrics \lyricmode { Joy to the earth! the Sa -- viour reigns. } \new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. } >> @end lilypond Le deuxième couplet n'est pas correctement disposé, aucune durée n'ayant été spécifiée. Dans un tel cas, il aurait mieux valu utiliser @code{\lyricsto}, comme dans le troisième couplet. La commande @code{\addlyrics} n'est en fait qu'une simplification de la structure employée par LilyPond pour définir les paroles. @example @{ MUSIQUE @} \addlyrics @{ PAROLES @} @end example @noindent est exactement la même chose que @example \new Voice = "blah" @{ musique @} \new Lyrics \lyricsto "blah" @{ PAROLES @} @end example @node Another way of entering lyrics @subsubsection Another way of entering lyrics On peut aussi se passer de @code{\addlyrics} et de @code{\lyricsto} pour saisir des paroles. Dans ce cas, les syllabes sont entrées tout comme des notes -- du texte remplace les hauteurs -- et vous devrez définir leur durée explicitement : @example play2 the4 game2. sink2 or4 swim2. @end example La mélodie associée à ces paroles peut être spécifiée par la propriété @code{associatedVoice} : @example \set associatedVoice = #"lala" @end example @noindent La valeur que vous attribuerez à cette propriété (ici @code{"lala"}) doit désigner un contexte @internalsref{Voice}, sans quoi les mélismes ne seront pas imprimés correctement. Voici un exemple de cette manière de procéder : @lilypond[relative=1,ragged-right,verbatim,fragment,quote] << \new Voice = "melody" { \time 3/4 c2 e4 g2. } \new Lyrics \lyricmode { \set associatedVoice = #"melody" play2 the4 game2. } >> @end lilypond @seealso Référence du Programme : @internalsref{Lyrics}. @node Assigning more than one syllable to a single note @subsubsection Assigning more than one syllable to a single note @funindex _ @cindex liaisons, dans les paroles Pour attribuer plus d'une syllabe à une même note, vous pouvez les mettre entre guillemets, remplacer les espaces par des caractères souligné (@code{_}) pour obtenir des espaces, ou bien encore utiliser des tildes (@code{~}) pour obtenir des liaisons entre les syllabes@footnote{Une liaison adaptée aux paroles correspond au caractère Unicode U+203F, et n'apparaîtra que si la police utilisée l'inclut (par exemple DejaVuLGC)}. @lilypond[quote,relative=2,ragged-right,fragment,verbatim] \time 3/4 \relative { c2 e4 g2 e4 } \addlyrics { gran- de_a- mi- go } \addlyrics { pu- "ro y ho-" nes- to } \addlyrics { pu- ro~y~ho- nes- to } @end lilypond @seealso Référence du programme : @internalsref{LyricCombineMusic}. @c Here come the section which used to be "Melismata" @c the new title might be more self-explanatory @node More than one note on a single syllable @subsubsection More than one note on a single syllable @cindex mélisme @cindex vocalise @c better here @cindex phrasé, pour des paroles Parfois, tout particulièrement dans la musique médiévale, plusieurs notes correspondent à une même syllabe. Ces vocalises sont appelées mélismes. @c this method seems to be the simplest; therefore @c it might be better to present it first - vv Il est possible d'indiquer tous les mélismes lors de la saisie des paroles. Il suffit pour cela d'utiliser le caractère @code{_} pour chaque note du mélisme. @lilypond[relative=1,verbatim,fragment,quote] { \set melismaBusyProperties = #'() c d( e) f f( e) e e } \addlyrics { Ky -- _ _ ri __ _ _ _ e } @end lilypond En définissant, comme dans l'exemple ci-dessus, la propriété @code{melismaBusyProperties}, vous obtiendrez automatiquement toutes les liaisons de tenue et de phrasé requises. D'autre part, la commande @code{\lyricsto} arrive aussi à détecter automatiquement les mélismes : une seule syllabe sera placée sous un groupe de notes comprenant des liaisons de tenue ou de phrasé. Au cas où un mélisme doit s'appliquer à des notes non liées, il suffit d'adjoindre @code{\melisma} à la première note du groupe, et @code{\melismaEnd} à la dernière : @lilypond[quote,relative=2,ragged-right,fragment,verbatim] << \new Voice = "lala" { \time 3/4 f4 g8 \melisma f e f \melismaEnd e2 } \new Lyrics \lyricsto "lala" { la di __ daah } >> @end lilypond Enfin, lorsque la fonction de ligature automatique (cf. @ref{Setting automatic beam behavior}) est désactivée, le fait de les connecter manuellement créera un mélisme. @c TODO: there might be some more relevant place for @c the following link (?) @cindex SATB @cindex choral score Vous trouverez un exemple complet de partition pour chœur dans la section @ref{Vocal ensembles}. @refcommands @code{\melisma}, @code{\melismaEnd} @funindex \melismaEnd @funindex \melisma @seealso Référence du Programme : @internalsref{Melisma_translator}, @lsr{vocal,lyric@/-combine.ly}. @refbugs Certains mélismes ne sont pas détectés automatiquement ; vous devrez alors prolonger vous-même les syllabes concernées. @node Extenders and hyphens @subsubsection Extenders and hyphens @cindex mélisme @cindex extenseur @cindex prolongateur Un mélisme est indiqué par une ligne horizontale basse centrée entre une syllabe et la suivante. Une telle ligne, que nous appellerons prolongateur ou extenseur, s'obtient en saisissant @samp{ __ } (notez les espaces entourant le souligné double). @cindex trait d'union Un trait d'union séparant deux syllabes d'un même mot s'obtient en saisissant @samp{ -- } (notez les espaces entourant le tiret double). Ce trait d'union sera centré entre les deux syllabes et sa longueur sera proportionnelle à l'espace les séparant. Dans les partitions très serrées, les traits d'union peuvent ne pas être imprimés. Cet inconvénient peut être contrôlé par @code{minimum-distance} pour gérer l'espace minimum entre deux syllabes, et @code{minimum-length} (seuil en deçà duquel il n'y aura pas de trait d'union). @seealso Référence du Programme : @internalsref{LyricExtender}, @internalsref{LyricHyphen} @node Working with lyrics and identifiers @subsection Working with lyrics and identifiers @cindex paroles, identificateurs La fonction @code{\lyricmode} permet de définir un identificateur pour les paroles. Point n'est besoin de spécifier les durées si vous utilisez @code{\addlyrics} ou @code{\lyricsto} lorsque vous y faites référence. @example verseOne = \lyricmode @{ Joy to the world the Lord is come @} \score @{ << \new Voice = "one" \relative c'' @{ \autoBeamOff \time 2/4 c4 b8. a16 g4. f8 e4 d c2 @} \addlyrics @{ \verseOne @} >> @} @end example @c TODO: Move the following section to @c "Working with lyrics and identifiers" Pour une organisation différente ou plus complexe, mieux vaut commencer par définir la hiérarchie des portées et des paroles : @example \new ChoirStaff << \new Voice = "soprano" @{ @emph{musique} @} \new Lyrics = "sopranoParoles" @{ s1 @} \new Lyrics = "tenorParoles" @{ s1 @} \new Voice = "tenor" @{ @emph{musique} @} >> @end example puis combiner correctement les mélodies et les paroles : @example \context Lyrics = sopranoParoles \lyricsto "soprano" @emph{les paroles} @end example @noindent Le résultat donnera ainsi quelque chose comme : @example <<\new ChoirStaff << @emph{définition de la musique} >> \lyricsto "soprano" @emph{etc} \lyricsto "alto" @emph{etc} @emph{etc} >> @end example @seealso @c TODO: document \new Staff << Voice \lyricsto >> bug Référence du Programme : @internalsref{LyricCombineMusic}, @internalsref{Lyrics}. @node Flexibility in placement @subsection Flexibility in placement Une même mélodie peut se voir traitée différemment suivant les couplets. La commande @code{\lyricsto} permet de prendre en compte ces variantes. @menu * Lyrics to multiple notes of a melisma:: * Divisi lyrics:: * Switching the melody associated with a lyrics line:: * Lyrics independent of notes:: @end menu @node Lyrics to multiple notes of a melisma @subsubsection Lyrics to multiple notes of a melisma Il peut survenir que les paroles comportent un mélisme pour l'un des couplets, mais plusieurs syllabes pour d'autres. Une solution consiste à temporairement ignorer les mélismes dans le couplet ayant plus de syllabes. Il suffit pour cela de définir la propriété @code{ignoreMelismata} à l'intérieur du contexte Lyrics. Petit détail qui a son importance : la définition de @code{ignoreMelismata} doit intervenir une syllabe @emph{avant} les syllabes auxquelles elle s'appliquera : @c FIXME: breaks compile @lilypond[verbatim,ragged-right,quote] %{ << \relative \new Voice = "lahlah" { \set Staff.autoBeaming = ##f c4 \slurDotted f8.[( g16]) a4 } \new Lyrics \lyricsto "lahlah" { more slow -- ly } \new Lyrics \lyricsto "lahlah" { \set ignoreMelismata = ##t % applies to "fas" go fas -- ter \unset ignoreMelismata still } >> %} @end lilypond Ici la fonction @code{ignoreMelismata} concerne la syllabe @q{fas}, bien qu'elle ait été définie avant la syllabe @q{go}. L'inverse est aussi possible : prendre une mélodie syllabique pour en faire un mélisme. Il faudra alors insérer des sauts invisibles @code{\skip} dans vos paroles. Chaque @code{\skip} décale le texte suivant d'une note : @lilypond[verbatim,ragged-right,quote] \relative { c c g' } \addlyrics { twin -- \skip 4 kle } @end lilypond @node Divisi lyrics @subsubsection Divisi lyrics En donnant un nom à chaque voix et en leur attribuant spécifiquement des paroles, on peut créer des paroles alternatives -- également qualifiées de @q{divisi}. @lilypond[verbatim,ragged-right,quote] \score{ << \new Voice = "melody" { \relative c' { c4 << { \voiceOne c8 e } \new Voice = "splitpart" { \voiceTwo c4 } >> \oneVoice c4 c | c } } \new Lyrics \lyricsto "melody" { we shall not o- ver- come } \new Lyrics \lyricsto "splitpart" { will } >> } @end lilypond Cette astuce permet de faire varier les paroles lorsqu'une section est reprise. @lilypond[verbatim,ragged-right,quote] \score{ << \new Voice = "melody" \relative c' { c2 e | g e | c1 | \new Voice = "verse" \repeat volta 2 {c4 d e f | g1 | } a2 b | c1} \new Lyrics = "mainlyrics" \lyricsto melody \lyricmode { do mi sol mi do la si do } \context Lyrics = "mainlyrics" \lyricsto verse \lyricmode { do re mi fa sol } \new Lyrics = "repeatlyrics" \lyricsto verse \lyricmode { dodo rere mimi fafa solsol } >> } @end lilypond @node Switching the melody associated with a lyrics line @subsubsection Switching the melody associated with a lyrics line On peut créer des variations plus complexes à partir d'une mélodie à plusieurs voix. Les paroles peuvent suivre l'une ou l'autre des lignes mélodiques, et même basculer de l'une à l'autre si l'on définit la propriété @code{associatedVoice}. Considérez cet exemple : @lilypond[ragged-right,quote] << \relative \new Voice = "lahlah" { \set Staff.autoBeaming = ##f c4 << \new Voice = "alternative" { \voiceOne \times 2/3 { % show associations clearly. \override NoteColumn #'force-hshift = #-3 f8 f g } } { \voiceTwo f8.[ g16] \oneVoice } >> a8( b) c } \new Lyrics \lyricsto "lahlah" { Ju -- ras -- sic Park } \new Lyrics \lyricsto "lahlah" { % Tricky: need to set associatedVoice % one syllable too soon! \set associatedVoice = alternative % applies to "ran" Ty -- ran -- no -- \set associatedVoice = lahlah % applies to "rus" sau -- rus Rex } >> @end lilypond @noindent le texte du premier couplet s'aligne sur la mélodie que nous nommerons @q{lahlah}, @example \new Lyrics \lyricsto "lahlah" @{ Ju -- ras -- sic Park @} @end example Le second couplet est tout d'abord rattaché au contexte @code{lahlah}, mais doit basculer sur une autre mélodie à la syllabe @q{ran}. Nous utilisons alors @example \set associatedVoice = alternative @end example @noindent @q{alternative} fait référence au contexte @code{Voice} qui contient le triolet. Encore une fois, cette commande doit être spécifiée une syllabe en avance, c'est à dire ici avant la syllabe @q{Ty}. @example \new Lyrics \lyricsto "lahlah" @{ \set associatedVoice = alternative % applies to "ran" Ty -- ran -- no -- \set associatedVoice = lahlah % applies to "rus" sau -- rus Rex @} @end example @noindent Comme vous pouvez le voir, nous revenons ensuite à l'alignement sur la mélodie d'origine, en attribuant à la propriété @code{associatedVoice} la valeur @code{lahlah}. @node Lyrics independent of notes @subsubsection Lyrics independent of notes Dans certaines musiques vocales assez complexes, on peut avoir intérêt à imprimer les paroles indépendamment des notes. Ces paroles peuvent s'aligner sur un mélodie, ici nommée @q{lyricrhythm}, qui sera ensuite escamotée par le contexte @code{Devnull}. Seules subsistent alors de cette mélodie les valeurs rythmiques, sur lesquelles s'aligneront les paroles. @lilypond[quote,verbatim,ragged-right] voice = { c''2 \tag #'music { c''2 } \tag #'lyricrhythm { c''4. c''8 } d''1 } lyr = \lyricmode { I like my cat! } << \new Staff \keepWithTag #'music \voice \new Devnull="nowhere" \keepWithTag #'lyricrhythm \voice \new Lyrics \lyricsto "nowhere" \lyr \new Staff { c'8 c' c' c' c' c' c' c' c' c' c' c' c' c' c' c' } >> @end lilypond @node Spacing lyrics @subsection Spacing lyrics @cindex Espacer des paroles @cindex paroles, accroître l'espacement La propriété @code{#'minimum-distance} de l'objet LyricSpace permet d'accroître l'espacement des paroles. @lilypond[relative,verbatim,fragment,quote,ragged-right] { c c c c \override Lyrics.LyricSpace #'minimum-distance = #1.0 c c c c } \addlyrics { longtext longtext longtext longtext longtext longtext longtext longtext } @end lilypond Pour que ce réglage s'applique à toute la partition, définissez-le dans le bloc @code{\layout}. @lilypond[relative,verbatim,quote,ragged-right] \score { \relative c' { c c c c c c c c } \addlyrics { longtext longtext longtext longtext longtext longtext longtext longtext } \layout { \context { \Lyrics \override LyricSpace #'minimum-distance = #1.0 } } } @end lilypond @node More about stanzas @subsection More about stanzas @cindex numéro de couplet @subsubsection Adding stanza numbers On peut ajouter un numéro aux couplets en définissant la valeur @code{stanza} : @lilypond[quote,ragged-right,verbatim,relative=2,fragment] \new Voice { \time 3/4 g2 e4 a2 f4 g2. } \addlyrics { \set stanza = "1. " Hi, my name is Bert. } \addlyrics { \set stanza = "2. " Oh, che -- ri, je t'aime } @end lilypond @noindent Ces numéros se placeront juste avant le début de la première syllabe. @subsubsection Adding dynamics marks Lorsque des couplets ont des nuances différentes, vous pouvez le spécifier en l'indiquant avant leur numéro. LilyPond considère comme objet @code{StanzaNumber} tout ce qui précède le numéro du couplet. Pour des raisons techniques, vous devrez spécifier cette valeur @code{stanza} en dehors du mode @code{\lyricmode}. @lilypond[quote,ragged-right,verbatim] text = { \set stanza = \markup { \dynamic "ff" "1. " } \lyricmode { Big bang } } << \new Voice = "tune" { \time 3/4 g'4 c'2 } \new Lyrics \lyricsto "tune" \text >> @end lilypond @cindex nom de personnage @cindex nom du chanteur @subsubsection Adding singer names On peut également ajouter le nom de chaque rôle ; ils s'afficheront au début de chaque ligne comme les noms d'instruments. Il faut pour cela définir @code{vocalName}, et @code{shortVocalName} pour une version abrégée. @lilypond[fragment,ragged-right,quote,verbatim,relative=2] \new Voice { \time 3/4 g2 e4 a2 f4 g2. } \addlyrics { \set vocalName = "Bert " Hi, my name is Bert. } \addlyrics { \set vocalName = "Ernie " Oh, che -- ri, je t'aime } @end lilypond @subsubsection Printing stanzas at the end Il peut parfois s'avérer opportun d'aligner un seul couplet sur la mélodie, et de présenter tous les autres en bloc à la fin du morceau. Ces couplets additionnels peuvent être inclus dans une section @code{\markup} en dehors du bloc @code{\score} principal. Vous en trouverez un exemple ci-dessous ; notez également les deux méthodes différentes employées pour indiquer les sauts de ligne, entre le couplet ("Verse") 2 et le couplet 3. @lilypond[ragged-right,verbatim,quote] melody = \relative c' { e d c d | e e e e | d d e d | c1 | } text = \lyricmode { \set stanza = "1." Ma- ry had a lit- tle lamb, its fleece was white as snow. } \score{ << \new Voice = "one" { \melody } \new Lyrics \lyricsto "one" \text >> \layout { } } \markup { \column{ \line{ Verse 2. } \line{ All the children laughed and played } \line{ To see a lamb at school. } } } \markup{ \wordwrap-string #" Verse 3. Mary took it home again, It was against the rule." } @end lilypond @subsubsection Printing stanzas at the end in multiple columns Si les couplets sont vraiment nombreux, il est possible de les imprimer sur plusieurs colonnes. De plus, l'exemple suivant vous montrera comment faire en sorte que le numéro du couplet soit décalé à gauche, comme c'est traditionnellement le cas. @lilypond[ragged-right,quote,verbatim] melody = \relative c' { c c c c | d d d d } text = \lyricmode { \set stanza = "1." This is verse one. It has two lines. } \score{ << \new Voice = "one" { \melody } \new Lyrics \lyricsto "one" \text >> \layout { } } \markup { \fill-line { \hspace #0.1 % moves the column off the left margin; can be removed if % space on the page is tight \column { \line { \bold "2." \column { "This is verse two." "It has two lines." } } \hspace #0.1 % adds vertical spacing between verses \line { \bold "3." \column { "This is verse three." "It has two lines." } } } \hspace #0.1 % adds horizontal spacing between columns; if they are % still too close, add more " " pairs until the result % looks good \column { \line { \bold "4." \column { "This is verse four." "It has two lines." } } \hspace #0.1 % adds vertical spacing between verses \line { \bold "5." \column { "This is verse five." "It has two lines." } } } \hspace #0.1 % gives some extra space on the right margin; can % be removed if page space is tight } } @end lilypond @seealso Référence du Programme : @internalsref{LyricText}, @internalsref{StanzaNumber}, @internalsref{VocalName}. @node Ambitus @subsection Ambitus @cindex ambitus L'@emph{ambitus} est l'amplitude maximale des hauteurs d'une voix donnée dans une partition. Ce terme peut aussi désigner la tessiture qu'un instrument est capable d'atteindre. Souvent, cet ambitus est imprimé au début des partitions vocales, afin que les exécutants puissent voir au premier coup d'oeil s'ils sont en mesure de tenir la partie en question. Pour exprimer l'ambitus d'une pièce, on indique avant la clé deux notes représentant la hauteur la plus basse et la plus haute. Pour imprimer cet ambitus, il faut ajouter le graveur @internalsref{Ambitus_engraver} au contexte @internalsref{Voice}. Ainsi, @example \layout @{ \context @{ \Voice \consists Ambitus_engraver @} @} @end example @dots{} donne le résultat suivant : @lilypond[quote,ragged-right] \layout { \context { \Staff \consists Ambitus_engraver } } \relative \new Staff { as'' c e2 cis,2 } @end lilypond Si plusieurs voix se trouvent sur une même portée, on peut attribuer le graveur @internalsref{Ambitus_engraver} plutôt au contexte @internalsref{Staff} qu'au contexte @internalsref{Voice} ; l'ambitus affiché sera alors celui de toutes les voix cumulées, non d'une seule des voix actives. @lilypond[verbatim,ragged-right,quote] \new Staff \with { \consists "Ambitus_engraver" } << \new Voice \with { \remove "Ambitus_engraver" } \relative c'' { \override Ambitus #'X-offset = #-1.0 \voiceOne c4 a d e f2 } \new Voice \with { \remove "Ambitus_engraver" } \relative c' { \voiceTwo es4 f g as b2 } >> @end lilypond @noindent Cet exemple met en œuvre une fonctionnalité avancée : @example \override Ambitus #'X-offset = #-1.0 @end example @noindent Ce réglage déplace l'ambitus vers la gauche. Le même résultat aurait pu être obtenu avec @code{extra-offset}, mais alors la mise en forme automatisée n'aurait pas attribué d'espace supplémentaire pour l'objet déplacé. @seealso Référence du Programme : @internalsref{Ambitus}, @internalsref{AmbitusLine}, @internalsref{AmbitusNoteHead}, @internalsref{AmbitusAccidental}. Exemples : @lsr{vocal,ambitus@/.ly}. @refbugs Les collisions ne sont pas gérées si plusieurs ambitus sont présents sur une même portée. @node Other vocal issues @subsection Other vocal issues @ignore yeah, I'm giving up somewhat by stuffing a bunch of things in here. But at least they're in the manual now; it's easier to move them around in the manual once they're already here. Besides, if users complain about everything stuffed in here, I can ask them for specific instructions about where to move these examples, and that might get them more involved in the docs. -gp @end ignore Le @q{Parlato} est du texte scandé en rythme, mais sans hauteurs définies ; il est indiqué par des notes en croix, à l'instar des percussions. Voir @ref{Special noteheads}. @node Rhythmic music @section Rhythmic music La notation rythmique sert avant tout aux parties de percussions ou de batterie, mais on peut aussi s'en servir à des fins pédagogiques, pour montrer le rythme d'une mélodie. @menu * Showing melody rhythms:: * Entering percussion:: * Percussion staves:: * Ghost notes:: @end menu @node Showing melody rhythms @subsection Showing melody rhythms Au moyen d'une portée rythmique -- en anglais @q{rhythmic staff} -- on peut montrer seulement le rythme d'une mélodie : toutes les notes sont ramenées à la même hauteur, sur une portée qui ne compte elle-même qu'une seule ligne. @lilypond[quote,ragged-right,fragment,relative=1,verbatim] \new RhythmicStaff { \time 4/4 c4 e8 f g2 | r4 g r2 | g1:32 | r1 | } @end lilypond @seealso Référence du Programme : @internalsref{RhythmicStaff}. @node Entering percussion @subsection Entering percussion @cindex percussions @cindex batterie Les parties de percussions peuvent être saisies avec le mode @code{\drummode}, qui est l'équivalent du mode standard utilisé pour les notes à hauteur déterminée. Chaque instrument de percussion peut avoir, dans le fichier LilyPond, un nom complet et un nom raccourci. @lilypond[quote,ragged-right,verbatim] \drums { hihat hh bassdrum bd } @end lilypond Ces noms sont inventoriés dans le fichier d'initialisation @file{ly/@/drumpitch@/-init@/.ly}. @c TODO: properly document this. @seealso Référence du Programme : @internalsref{note-event}. @node Percussion staves @subsection Percussion staves @cindex percussions @cindex batterie Une partie de percussions utilisant plusieurs instruments requiert en général une portée de plusieurs lignes, où chaque hauteur sur la portée représente un instrument à percussion. Pour saisir cette musique, il faut que les notes soient situées dans des contextes @internalsref{DrumStaff} et @internalsref{DrumVoice}. @lilypond[quote,ragged-right,verbatim] up = \drummode { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat } down = \drummode { bassdrum4 snare8 bd r bd sn4 } \new DrumStaff << \new DrumVoice { \voiceOne \up } \new DrumVoice { \voiceTwo \down } >> @end lilypond L'exemple ci-dessus montre une notation polyphonique détaillée. La notation polyphonique abrégée peut être employée lorsque le contexte @internalsref{DrumVoice} est spécifié explicitement : @lilypond[quote,ragged-right,fragment,verbatim] \new DrumStaff << \new DrumVoice = "1" { s1 *2 } \new DrumVoice = "2" { s1 *2 } \drummode { bd4 sn4 bd4 sn4 << { \repeat unfold 16 hh16 } \\ { bd4 sn4 bd4 sn4 } >> } >> @end lilypond On peut choisir d'autres mises en forme si l'on définit la propriété @code{drumStyleTable} dans le contexte @internalsref{DrumVoice}. Quelques variables pré-définies sont disponibles : @table @code @item drums-style La notation par défaut : une batterie standard, sur une portée de cinq lignes. @lilypond[quote,line-width=10.0\cm] nam = \lyricmode { cymc cyms cymr hh hhc hho hhho hhp cb hc bd sn ss tomh tommh tomml toml tomfh tomfl } mus = \drummode { cymc cyms cymr hh hhc hho hhho hhp \break cb hc bd sn ss tomh tommh tomml toml tomfh tomfl s16 } \score { <<\new DrumStaff \with { \remove Bar_engraver \remove Time_signature_engraver \override Stem #'transparent = ##t \override Stem #'Y-extent-callback = ##f \override VerticalAxisGroup #'minimum-Y-extent = #'(-4.0 . 5.0) } \mus \new Lyrics \nam >> \layout { \context { \Score \override LyricText #'font-family = #'typewriter \override BarNumber #'transparent =##T } } } @end lilypond Le plan de la batterie peut inclure jusqu'à six toms différents. S'il y en a moins, contentez-vous de choisir celui qui vous convient : ainsi les trois toms des lignes du milieu sont @code{tommh}, @code{tomml}, et @code{tomfh}. @item timbales-style Ici une partie de timbales peut être saisie, sur une portée à deux lignes : @lilypond[quote,ragged-right] nam = \lyricmode { timh ssh timl ssl cb } mus = \drummode { timh ssh timl ssl cb s16 } << \new DrumStaff \with { \remove Bar_engraver \remove Time_signature_engraver \override Stem #'transparent = ##t \override Stem #'Y-extent-callback = ##f \override StaffSymbol #'line-count = #2 \override StaffSymbol #'staff-space = #2 \override VerticalAxisGroup #'minimum-Y-extent = #'(-3.0 . 4.0) drumStyleTable = #timbales-style } \mus \new Lyrics { \override LyricText #'font-family = #'typewriter \nam } >> @end lilypond @item congas-style De même, des congas peuvent s'écrire sur deux lignes : @lilypond[quote,ragged-right] nam = \lyricmode { cgh cgho cghm ssh cgl cglo cglm ssl } mus = \drummode { cgh cgho cghm ssh cgl cglo cglm ssl s16 } << \new DrumStaff \with { \remove Bar_engraver \remove Time_signature_engraver drumStyleTable = #congas-style \override StaffSymbol #'line-count = #2 %% this sucks; it will lengthen stems. \override StaffSymbol #'staff-space = #2 \override Stem #'transparent = ##t \override Stem #'Y-extent-callback = ##f } \mus \new Lyrics { \override LyricText #'font-family = #'typewriter \nam } >> @end lilypond @item bongos-style Ou encore des bongos, toujours sur deux lignes : @lilypond[quote,ragged-right] nam = \lyricmode { boh boho bohm ssh bol bolo bolm ssl } mus = \drummode { boh boho bohm ssh bol bolo bolm ssl s16 } << \new DrumStaff \with { \remove Bar_engraver \remove Time_signature_engraver \override StaffSymbol #'line-count = #2 drumStyleTable = #bongos-style %% this sucks; it will lengthen stems. \override StaffSymbol #'staff-space = #2 \override Stem #'transparent = ##t \override Stem #'Y-extent-callback = ##f } \mus \new Lyrics { \override LyricText #'font-family = #'typewriter \nam } >> @end lilypond @item percussion-style Ce style permet de saisir toute sorte de percussions sur des portées d'une ligne. @lilypond[quote,ragged-right] nam = \lyricmode { tri trio trim gui guis guil cb cl tamb cab mar hc } mus = \drummode { tri trio trim gui guis guil cb cl tamb cab mar hc s16 } << \new DrumStaff \with{ \remove Bar_engraver drumStyleTable = #percussion-style \override StaffSymbol #'line-count = #1 \remove Time_signature_engraver \override Stem #'transparent = ##t \override Stem #'Y-extent-callback = ##f } \mus \new Lyrics { \override LyricText #'font-family = #'typewriter \nam } >> @end lilypond @end table Cependant, si aucun des styles prédéfinis ne vous convient, il est aisé de définir le vôtre en haut de votre fichier. @lilypond[quote,ragged-right,verbatim] #(define mydrums '( (bassdrum default #f -1) (snare default #f 0) (hihat cross #f 1) (pedalhihat xcircle "stopped" 2) (lowtom diamond #f 3))) up = \drummode { hh8 hh hh hh hhp4 hhp } down = \drummode { bd4 sn bd toml8 toml } \new DrumStaff << \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \new DrumVoice { \voiceOne \up } \new DrumVoice { \voiceTwo \down } >> @end lilypond @seealso Fichier d'initialisation : @file{ly/@/drumpitch@/-init@/.ly}. Référence du Programme : @internalsref{DrumStaff}, @internalsref{DrumVoice}. @refbugs La bibliothèque MIDI générale ne contient pas les Rimshots (coups sur le bord de la caisse claire), aussi sont-ils remplacés par des Sidesticks (largement équivalents). @c FIXME: check name -gp @node Ghost notes @subsection Ghost notes Des notes fantômes peuvent être créées pour les parties de percussion grâce à la commande @code{\parenthesize}, dont vous trouverez une description détaillée dans @ref{Parentheses}. Cependant, le mode @code{\drummode} n'inclut pas par défaut le graveur @code{Parenthesis_engraver} qui permet d'imprimer ces signes. Il faut donc l'ajouter explicitement dans la définition du contexte, suivant la manœuvre indiquée dans @ref{Changing context properties on the fly}. @lilypond[quote,ragged-right,verbatim,fragment] \new DrumStaff \with { \consists "Parenthesis_engraver" } << \context DrumVoice = "1" { s1 *2 } \context DrumVoice = "2" { s1 *2 } \drummode { << { hh8[ hh] hh16 <\parenthesize sn > hh <\parenthesize sn > hh8 hh } \\ { bd4 r4 bd8 bd r8 bd } >> } >> @end lilypond @noindent Notez que les commandes @code{\parenthesize} obligent à ajouter des accords (sous la forme @code{< >}) autour de chaque élément. @node Guitar @section Guitar @cindex tablature @cindex tablature de guitare @menu * String number indications:: * Tablatures basic:: * Non-guitar tablatures:: * Banjo tablatures:: * Fret diagrams:: * Right hand fingerings:: * Other guitar issues:: @end menu @node String number indications @subsection String number indications @cindex cordes numérotées On peut ajouter aux accords les numéros de cordes, en les indiquant avec @code{\}@var{number} : @lilypond[relative,relative=1,ragged-right,fragment] @end lilypond @seealso Référence du Programme : @internalsref{StringNumber}, @lsr{guitar/,string-number.ly}. @node Tablatures basic @subsection Tablatures basic @cindex Tablatures de base La notation en tablature sert pour certains instruments à cordes pincées. Les hauteurs n'y sont pas suggérées par des têtes de notes, mais par des chiffres qui indiquent sur quelle corde, et à quelle case chaque note doit être jouée. Dans certaines limites, LilyPond vous permet d'écrire des tablatures. Chaque numéro de corde, associé à une note, doit être précédé d'une oblique inverse (ou @qq{antislash}). Ainsi, @code{c4\3} donnera un do noire à jouer sur la troisième corde. Par défaut, la première corde est celle du haut, et les cordes suivent l'accord traditionnel d'une guitare à six cordes. Les notes seront imprimées sous forme de tablature, dans les contextes @internalsref{TabStaff} et @internalsref{TabVoice}. @lilypond[quote,ragged-right,fragment,verbatim] \new TabStaff { a,4\5 c'\2 a\3 e'\1 e\4 c'\2 a\3 e'\1 } @end lilypond @funindex minimumFret @cindex cases Quand aucune corde n'est précisée, LilyPond choisit automatiquement la corde où la position est la moins élevée : en numérotant chaque case, on peut déterminer une valeur @code{minimumFret} en-dessous de laquelle LilyPond s'interdira d'aller, selon qu'on désire une position plus ou moins haute. Cette valeur est fixée à 0 par défaut, ce qui correspond donc à la position la plus basse. @example e16 fis gis a b4 \set TabStaff.minimumFret = #8 e16 fis gis a b4 @end example @lilypond[quote,ragged-right] frag = { \key e \major e16 fis gis a b4 \set TabStaff.minimumFret = #8 e16 fis gis a b4 } \new StaffGroup << \new Staff { \clef "G_8" \frag } \new TabStaff { \frag } >> @end lilypond @commonprop Pour obtenir des tablatures où les hampes seront dirigées vers le bas et les ligatures horizontales, réglez le contexte @code{TabStaff} comme suit : @example \stemDown \override Beam #'damping = #100000 @end example @seealso Référence du Programme : @internalsref{TabStaff}, @internalsref{TabVoice}. @refbugs Les accords ne sont pas traités de façon particulière ; de ce fait, la sélection automatique des cordes peut souvent aboutir à une même corde pour jouer deux notes de l'accord. @node Non-guitar tablatures @subsection Non-guitar tablatures @cindex Tablatures autres Vous pouvez bien sûr accorder vos cordes différemment. Cet accordage doit être indiqué sous forme d'une liste en langage Scheme, où chaque corde est représentée par un nombre entier qui indique sa hauteur à vide -- laquelle hauteur se compte en demi-tons à partir du do du milieu ; vous devez donc spécifier pour chaque corde le nombre de demi-tons à ajouter ou à retrancher depuis le do du milieu. Cette propriété, appelée @code{stringTuning}, permet donc aussi à LilyPond de déterminer le nombre de cordes. Dans l'exemple suivant, on a réglé @code{stringTunings} pour l'accord de la guitare basse, c'est-à-dire mi la ré sol. @lilypond[quote,ragged-right,fragment,verbatim] \new TabStaff << \set TabStaff.stringTunings = #'(-5 -10 -15 -20) { a,4 c' a e' e c' a e' } >> @end lilypond Cependant, LilyPond possède des jeux de cordes prédéfinis pour le banjo, la mandoline, la guitare et la guitare basse ; ainsi l'accord précédent peut également s'indiquer : @example \set TabStaff.stringTunings = #bass-tuning @end example Le jeu par défaut est celui de la guitare : @code{guitar-tuning}, c'est-à-dire le célèbre mi la ré sol si mi. Quelques autres jeux prédéfinis : @code{guitar-open-g-tuning}, @code{mandolin-tuning} et @code{banjo-open-g-tuning}. @seealso Vous trouverez une liste complète de ces jeux prédéfinis dans le fichier @file{scm/@/output@/-lib@/.scm}. Référence du Programme : @internalsref{Tab_note_heads_engraver}. @refbugs Aucun effet spécial de guitare n'a été implémenté à ce jour. @node Banjo tablatures @subsection Banjo tablatures @cindex Tablatures de banjo LilyPond permet d'écrire des tablatures de base pour le banjo à cinq cordes. Pour ce faire, pensez à utiliser le format de tablature pour banjo afin d'avoir le bon nombre de cordes, et le bon accord : @lilypond[quote,ragged-right,fragment,verbatim] \new TabStaff << \set TabStaff.tablatureFormat = #fret-number-tablature-format-banjo \set TabStaff.stringTunings = #banjo-open-g-tuning { \stemDown g8 d' g'\5 a b g e d' | g4 d''8\5 b' a'\2 g'\5 e'\2 d' | g4 } >> @end lilypond LilyPond connaît un certain nombre de manière d'accorder un banjo : @code{banjo-c-tuning} (Sol Do Sol Si Ré), @code{banjo-modal-tuning} (Sol Ré Sol Do Ré), @code{banjo-open-d-tuning} (La Ré Fa-dièse La Ré) et @code{banjo-open-dm-tuning} (La Ré Fa La Ré). Tous ces accords peuvent s'appliquer à un banjo à quatre cordes, si l'on utilise l'option @code{four-string-banjo} : @example \set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning) @end example @seealso Vous trouverez une liste complète des jeux de cordes prédéfinis pour le banjo dans le fichier @file{scm/@/output@/-lib@/.scm}. @node Fret diagrams @subsection Fret diagrams @cindex Schémas d'accords @cindex Schémas de barrés On peut ajouter des diagrammes d'accords au-dessus de n'importe quelle note, en tant qu'objets @code{\markup}. Cet objet contiendra toutes les informations sur le doigté et les éventuels barrés : @lilypond[verbatim, ragged-right, quote] \new Voice { d'^\markup \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-2;" d' d' d' fis'^\markup \override #'(size . 0.75) { \override #'(finger-code . below-string) { \fret-diagram-verbose #'((place-fret 6 2 1) (barre 6 1 2) (place-fret 5 4 3) (place-fret 4 4 4) (place-fret 3 3 2) (place-fret 2 2 1) (place-fret 1 2 1)) } } fis' fis' fis' c'^\markup \override #'(dot-radius . 0.35) { \override #'(finger-code . in-dot) { \override #'(dot-color . white) { \fret-diagram-terse #"x;3-1-(;5-2;5-3;5-4;3-1-);" } } } c' c' c' } @end lilypond Vous pouvez indiquer vos diagrammes de trois manières différentes : @qq{standard}, @qq{terse} ou @qq{verbeux}. Ces trois interfaces produisent des schémas similaires, mais demandent d'entrer plus ou moins d'informations. Vous trouverez tout cela de manière détaillée dans @ref{Overview of text markup commands}. Par ailleurs, plusieurs propriétés permettent d'ajuster les graphismes à votre convenance. Vous en trouverez les détails dans @internalsref{fret-diagram-interface}. @seealso Exemples : @code{input/@/test,fret@/-diagram@/.ly} @node Right hand fingerings @subsection Right hand fingerings Les doigtés de la main droite, dans les accords, peuvent être ajoutés au moyen de @code{@var{note}-\rightHandFinger @var{doigté}} @lilypond[verbatim,fragment,relative=2] @end lilypond Pour plus de clarté, vous pouvez traduire ou abréger la commande @code{\rightHandFinger}, par exemple en @code{\doigtMainDroite} ou même @code{\MD} : @example #(define MD rightHandFinger) @end example @cindex doigtés, main droite, guitare @cindex mains droite, doigtés guitare @commonprop Pour contrôler plus précisément les doigtés de main droite, réglez la propriété @code{strokeFingerOrientations} : @lilypond[quote,verbatim,ragged-right,fragment,relative=1] #(define RH rightHandFinger) { \set strokeFingerOrientations = #'(up down) 4 \set strokeFingerOrientations = #'(up right down) 4 } @end lilypond Les lettres utilisées dans ces doigtés sont définies par la propriété @code{digit-names}, mais on peut bien sûr les changer comme on veut : @lilypond[quote,verbatim,ragged-right,fragment,relative=1] #(define RH rightHandFinger) { \set strokeFingerOrientations = #'(right) \override StrokeFinger #'digit-names = ##("x" "y" "z" "!" "@") 4 4 } @end lilypond @seealso Référence : @internalsref{StrokeFinger} @node Other guitar issues @subsection Other guitar issues Voici comment insérer des indications de position. @lilypond[quote,ragged-right,fragment,verbatim,relative=0] \clef "G_8" b16 d16 g16 b16 e16 \textSpannerDown \override TextSpanner #'bound-details #'left #'text = "XII " g16\startTextSpan b16 e16 g16 e16 b16 g16\stopTextSpan e16 b16 g16 d16 @end lilypond Lorsque des notes doivent être jouées détimbrées (le doigt effleurant la corde sans la presser, en un effet presque percussif, mais où la hauteur est encore perceptible), on peut employer des têtes de notes spéciales en forme de croix. Vous trouverez plus de détails dans @ref{Special noteheads}. @node Bagpipe @section Bagpipe @cindex Cornemuse @menu * Bagpipe definitions:: * Bagpipe example:: @end menu @node Bagpipe definitions @subsection Bagpipe definitions LilyPond inclut des définitions spécifiques destinées à la notation pour cornemuse écossaise ; il suffit d'ajouter @example \include "bagpipe.ly" @end example @noindent en haut de votre fichier. Ainsi, vous bénéficierez de commandes raccourcies pour les appogiatures spéciales et idiomatiques de la cornemuse. Par exemple, vous pouvez écrire @code{\taor} au lieu de @example \grace @{ \small G32[ d G e] @} @end example @code{bagpipe.ly} prend également en charge les définitions de hauteurs pour la cornemuse ; vous n'avez donc pas à vous soucier d'employer @code{\relative} ou @code{\transpose}. @lilypond[ragged-right,verbatim,quote,notime] \include "bagpipe.ly" { \grg G4 \grg a \grg b \grg c \grg d \grg e \grg f \grA g A } @end lilypond La musique pour cornemuse est traditionnellement écrite en ré majeur. Dans la mesure où c'est la seule tonalité possible, l'usage est de ne pas indiquer l'armure explicitement. À cet effet, pensez à commencer votre partition par un @code{\hideKeySignature} -- ou bien @code{\showKeySignature} si, pour une raison ou pour une autre, vous tenez à afficher l'armure. Des compositions actuelles peuvent ne pas respecter cette tonalité traditionnelle, auquel cas les do et fa devraient être abaissés en utilisant @code{cflat} ou @code{fflat} ; ils seront représenté par une note en forme de croix. Lorsqu'elles jouent des œuvres moins cérémonieuses que pour une parade ou un défilé, peut survenir un sol aigu, au doux nom de @qq{piobaireachd}, et que l'on indiquera par @code{gflat}. @node Bagpipe example @subsection Bagpipe example Et voici en guise d'exemple, à quoi ressemble le chant populaire @emph{Amazing Grace}, noté dans l'idiome de la cornemuse. @lilypond[verbatim,quote] \include "bagpipe.ly" \layout { indent = 0.0\cm \context { \Score \remove "Bar_number_engraver" } } \header { title = "Amazing Grace" meter = "Hymn" arranger = "Trad. arr." } { \hideKeySignature \time 3/4 \grg \partial 4 a8. d16 \slurd d2 \grg f8[ e32 d16.] \grg f2 \grg f8 e \thrwd d2 \grg b4 \grG a2 \grg a8. d16 \slurd d2 \grg f8[ e32 d16.] \grg f2 \grg e8. f16 \dblA A2 \grg A4 \grg A2 f8. A16 \grg A2 \hdblf f8[ e32 d16.] \grg f2 \grg f8 e \thrwd d2 \grg b4 \grG a2 \grg a8. d16 \slurd d2 \grg f8[ e32 d16.] \grg f2 e4 \thrwd d2. \slurd d2 \bar "|." } @end lilypond @node Ancient notation @section Ancient notation @cindex Vaticana, Editio @cindex Medicaea, Editio @cindex hufnagel @cindex Petrucci @cindex mensural La gestion par LilyPond des formes de notation ancienne inclut des fonctionnalités spécifiques à la notation mensurale et au chant grégorien. La gestion de la basse chiffrée est à ce jour plus limitée. De nombreux objets graphiques (que nous appelons @qq{grob}) disposent d'une propriété @code{style}, comme nous le verrons dans @itemize @bullet @item @ref{Ancient note heads}, @item @ref{Ancient accidentals}, @item @ref{Ancient rests}, @item @ref{Ancient clefs}, @item @ref{Ancient flags}, @item @ref{Ancient time signatures}. @end itemize Manipuler cette propriété permet d'éviter la création d'un nouveau concept de notation. L'aspect typographique de l'objet ainsi affecté peut alors être adapté à une forme de représentation particulière. En plus des signes d'articulation standards décrits à la section @ref{Articulations}, la notation ancienne dispose de signes particuliers. @itemize @bullet @item @ref{Ancient articulations} @end itemize D'autres aspects de la notation ancienne ne peuvent pas être gérés aussi simplement qu'en jouant sur les propriétés d'un style appliqué à un objet graphique ou en lui ajoutant des articulations. Certains concepts sont spécifiques à la notation ancienne. @itemize @bullet @item @ref{Custodes}, @item @ref{Divisiones}, @item @ref{Ligatures}. @end itemize Si tout cela vous dépasse et que vous désirez plonger dans le vif du sujet sans trop vous préoccuper de personnaliser des contextes, consultez les pages dédiées aux contextes prédéfinis. Ils vous permettront d'adapter vos contextes de voix et de portée, et vous n'aurez plus qu'à saisir les notes. @itemize @bullet @item @ref{Gregorian Chant contexts}, @item @ref{Mensural contexts}. @end itemize La représentation de la basse chiffrée, typique de l'époque le baroque, n'est que partiellement gérée. @itemize @bullet @item @ref{Figured bass} @end itemize Voici les points que nous allons aborder : @menu * Ancient note heads:: * Ancient accidentals:: * Ancient rests:: * Ancient clefs:: * Ancient flags:: * Ancient time signatures:: * Ancient articulations:: * Custodes:: * Divisiones:: * Ligatures:: * Gregorian Chant contexts:: * Mensural contexts:: * Musica ficta accidentals:: * Figured bass:: @end menu @node Ancient note heads @subsection Ancient note heads @cindex têtes de note, musique ancienne Pour de la musique ancienne, vous disposez de plusieurs styles de tête de note, en plus de celui par défaut (@code{default} style). Vous pouvez affecter à la propriété @code{style} de l'objet @internalsref{NoteHead} les valeurs @code{baroque}, @code{neomensural}, @code{mensural} ou @code{petrucci}. En style @code{baroque}, la seule différence par rapport au style @code{default} concerne la @code{\breve} qui sera carrée et non pas ovoïde. Le style @code{neomensural} ajoute au @code{baroque} le fait que les notes de durée inférieure ou égale à une ronde sont en forme de losange, et les hampes centrées sur la tête. Ce style est particulièrement adapté à la transcription de la musique mesurée dans les incipits. Le style @code{mensural} permet de reproduire les têtes de note telles qu'imprimées au XVIième siècle. Enfin, le style @code{petrucci} qui imite les partitions historiques, bien qu'utilisant de plus grosses têtes. L'exemple suivant illustre le style @code{neomensural}. @lilypond[quote,fragment,ragged-right,verbatim] \set Score.skipBars = ##t \override NoteHead #'style = #'neomensural a'\longa a'\breve a'1 a'2 a'4 a'8 a'16 @end lilypond Si vous écrivez en notation grégorienne, le @internalsref{Gregorian_ligature_engraver} se chargera de sélectionner la tête de notre appropriée ; il n'est donc nul besoin de spécifier le style à utiliser. Vous pouvez cependant spécifier par exemple le style @code{vaticana_punctum} pour obtenir des neumes punctums. De même, c'est le @internalsref{Mensural_ligature_engraver} qui se chargera des ligatures mensurales. Consultez la section @ref{Ligatures} pour savoir comment fonctionnent les graveurs de ligature. @seealso Pour un aperçu de toutes les possibilités, consultez @ref{Note head styles}. @node Ancient accidentals @subsection Ancient accidentals @cindex altérations Pour utiliser les formes anciennes d'altération, utilisez la propriété @code{glyph-name-alist} des objets @internalsref{Accidental} et @internalsref{KeySignature}. @lilypond[quote,ragged-right,staffsize=26] \score { { \fatText s^\markup { \column { "vaticana" \line { " " \musicglyph #"accidentals.vaticana-1" " " \musicglyph #"accidentals.vaticana0" } } \column { "medicaea" \line { " " \musicglyph #"accidentals.medicaea-1" } } \column { "hufnagel" \line { " " \musicglyph #"accidentals.hufnagel-1" } } \column { "mensural" \line { " " \musicglyph #"accidentals.mensural-1" " " \musicglyph #"accidentals.mensural1" } } } } \layout { interscoreline = 1 \context { \Score \remove "Bar_number_engraver" } \context { \Staff \remove "Clef_engraver" \remove "Key_engraver" \remove "Time_signature_engraver" \remove "Staff_symbol_engraver" \override VerticalAxisGroup #'minimum-Y-extent = ##f } } } @end lilypond Vous noterez que chacun de ces styles ne comporte pas toutes les altérations. LilyPond changera de style s'il est besoin d'une altération indisponible dans le style utilisé, comme vous pouvez le constater dans @code{input/@/test,ancient@/-accidentals@/.ly}. À l'instar des altérations accidentelles, le style d'armure est géré par la propriété @code{glyph-name-alist} de l'objet @internalsref{KeySignature}. @seealso Dans ce même manuel : @ref{Pitches}, @ref{Cautionary accidentals} et @ref{Automatic accidentals} pour les principes généraux sur l'utilisation des altérations ; @ref{Key signature} pour les armures. Référence du Programme : @internalsref{KeySignature}. Exemples : @code{input/@/test,ancient@/-accidentals@/.ly}. @node Ancient rests @subsection Ancient rests @cindex silences, musique ancienne La propriété @code{style} de l'objet @internalsref{Rest} permet d'obtenir des silences de type ancien. Vous disposez des styles @code{classical}, @code{neomensural}, et @code{mensural}. Le style @code{classical} ne se distingue du style @code{default} que par le soupir (demi-soupir en miroir). Le style @code{neomensural} convient tout à fait à l'incipit lors de la transcription de musique mensurale. Le style @code{mensural}, enfin, imite la représentation des silences tels que dans les éditions du XVIième siècle. L'exemple suivant illustre le style @code{neomensural}. @lilypond[quote,fragment,ragged-right,verbatim] \set Score.skipBars = ##t \override Rest #'style = #'neomensural r\longa r\breve r1 r2 r4 r8 r16 @end lilypond Les styles @code{mensural} et @code{neomensural} ne disposent pas des 8ième et 16ième de soupir ; LilyPond utilisera dans de tels cas le style par défaut. Une liste exhaustive des silences est disponible à @code{input/@/test,rests@/.ly}. En ce qui concerne la notation grégorienne, il n'y a pas de silence. Par contre, elle utilise les @ref{Divisiones}. @seealso Dans ce même manuel : @ref{Rests} fournit les principes généraux sur l'utilisation des silences. @node Ancient clefs @subsection Ancient clefs @cindex clefs @cindex clés Avec LilyPond, de nombreuses clefs son disponibles, certaines dédiées à la musique ancienne. Le tableau suivant présente les différentes clés anciennes que vous pouvez sélectionner avec la commande @code{\clef}. Certaines de ces clés utilisent le même glyphe, attaché à l'une ou l'autre des lignes de la portée. Le chiffre porté en suffixe permet alors de les différencier. Vous pouvez néanmoins forcer le positionnement du glyphe sur une ligne, comme expliqué à la section @ref{Clef}. Dans la colonne exemple, la note suivant la clé montre le do médium. @multitable @columnfractions .4 .4 .2 @item @b{Description} @tab @b{Clé disponible} @tab @b{Exemple} @item Clé d'ut, style mensural moderne @tab @code{neomensural-c1}, @code{neomensural-c2},@* @code{neomensural-c3}, @code{neomensural-c4} @tab @lilypond[fragment,relative=1,notime] \clef "neomensural-c2" c @end lilypond @item Clé d'ut, style mensural Petrucci, positionnable sur différentes lignes (clé d'ut seconde pour l'exemple) @tab @code{petrucci-c1}, @code{petrucci-c2},@* @code{petrucci-c3}, @code{petrucci-c4},@* @code{petrucci-c5} @tab @lilypond[fragment,relative=1,notime] \clef "petrucci-c2" \override NoteHead #'style = #'mensural c @end lilypond @item Clé de fa, style mensural Petrucci @tab @code{petrucci-f} @tab @lilypond[fragment,relative=1,notime] \clef "petrucci-f" \override NoteHead #'style = #'mensural c @end lilypond @item Clé de sol, style mensural Petrucci @tab @code{petrucci-g} @tab @lilypond[fragment,relative=1,notime] \clef "petrucci-g" \override NoteHead #'style = #'mensural c @end lilypond @item Clé d'ut, style mensural historique @tab @code{mensural-c1}, @code{mensural-c2},@* @code{mensural-c3}, @code{mensural-c4} @tab @lilypond[fragment,relative=1,notime] \clef "mensural-c2" \override NoteHead #'style = #'mensural c @end lilypond @item Clé de fa, style mensural historique @tab @code{mensural-f} @tab @lilypond[fragment,relative=1,notime] \clef "mensural-f" \override NoteHead #'style = #'mensural c @end lilypond @item Clé de sol, style mensural historique @tab @code{mensural-g} @tab @lilypond[fragment,relative=1,notime] \clef "mensural-g" \override NoteHead #'style = #'mensural c @end lilypond @item Clé d'ut, style Editio Vaticana @tab @code{vaticana-do1}, @code{vaticana-do2},@* @code{vaticana-do3} @tab @lilypond[fragment,relative=1,notime] \override Staff.StaffSymbol #'line-count = #4 \override Staff.StaffSymbol #'color = #red \override Staff.LedgerLineSpanner #'color = #red \override Voice.Stem #'transparent = ##t \override NoteHead #'style = #'vaticana.punctum \clef "vaticana-do2" c @end lilypond @item Clé de fa, style Editio Vaticana @tab @code{vaticana-fa1}, @code{vaticana-fa2} @tab @lilypond[fragment,relative=1,notime] \override Staff.StaffSymbol #'line-count = #4 \override Staff.StaffSymbol #'color = #red \override Staff.LedgerLineSpanner #'color = #red \override Voice.Stem #'transparent = ##t \override NoteHead #'style = #'vaticana.punctum \clef "vaticana-fa2" c @end lilypond @item Clé d'ut, style Editio Medicaea @tab @code{medicaea-do1}, @code{medicaea-do2},@* @code{medicaea-do3} @tab @lilypond[fragment,relative=1,notime] \override Staff.StaffSymbol #'line-count = #4 \override Staff.StaffSymbol #'color = #red \override Staff.LedgerLineSpanner #'color = #red \override Voice.Stem #'transparent = ##t \override NoteHead #'style = #'medicaea.punctum \clef "medicaea-do2" c @end lilypond @item Clé de fa, style Editio Medicaea @tab @code{medicaea-fa1}, @code{medicaea-fa2} @tab @lilypond[fragment,relative=1,notime] \override Staff.StaffSymbol #'line-count = #4 \override Staff.StaffSymbol #'color = #red \override Staff.LedgerLineSpanner #'color = #red \override Voice.Stem #'transparent = ##t \override NoteHead #'style = #'medicaea.punctum \clef "medicaea-fa2" c @end lilypond @item Clé d'ut, style historique Hufnagel @tab @code{hufnagel-do1}, @code{hufnagel-do2},@* @code{hufnagel-do3} @tab @lilypond[fragment,relative=1,notime] \override Staff.StaffSymbol #'line-count = #4 \override Staff.StaffSymbol #'color = #red \override Staff.LedgerLineSpanner #'color = #red \override Voice.Stem #'transparent = ##t \override NoteHead #'style = #'hufnagel.punctum \clef "hufnagel-do2" c @end lilypond @item Clé de fa, style historique Hufnagel @tab @code{hufnagel-fa1}, @code{hufnagel-fa2} @tab @lilypond[fragment,relative=1,notime] \override Staff.StaffSymbol #'line-count = #4 \override Staff.StaffSymbol #'color = #red \override Staff.LedgerLineSpanner #'color = #red \override Voice.Stem #'transparent = ##t \override NoteHead #'style = #'hufnagel.punctum \clef "hufnagel-fa2" c @end lilypond @item Clé combinée ut/fa, style historique Hufnagel @tab @code{hufnagel-do-fa} @tab @lilypond[fragment,relative=1,notime] \override Staff.StaffSymbol #'color = #red \override Staff.LedgerLineSpanner #'color = #red \override Voice.Stem #'transparent = ##t \override NoteHead #'style = #'hufnagel.punctum \clef "hufnagel-do-fa" c @end lilypond @end multitable @emph{Moderne} signifie @qq{telles qu'on les édite dans les transcriptions contemporaines de musique mesurée.} @emph{Petrucci} signifie @qq{inspiré des éditions réalisées par le Maître graveur Petrucci (1466-1539).} @emph{Historique} signifie @qq{telles qu'apparaissent dans les éditions historiques, manuscrites ou non, autres que celles de Petrucci.} @emph{Editio XXX} signifie @qq{telles que représentées dans les ouvrages estampillés Editio XXX.} Les clés d'ut de Petrucci avaient une hampe gauche différente selon leur ligne de rattachement. @seealso Dans ce même manuel : voir @ref{Clef}. @refbugs La clé de sol mensurale est calquée sur celle de Petrucci. @node Ancient flags @subsection Ancient flags @cindex crochets Utiliser la propriété @code{flag-style} de l'objet hampe (@internalsref{Stem}) donne accès aux crochets de style ancien. Seul le style @code{mensural} en dispose. @lilypond[quote,fragment,ragged-right,verbatim] \override Stem #'flag-style = #'mensural \override Stem #'thickness = #1.0 \override NoteHead #'style = #'mensural \autoBeamOff c'8 d'8 e'8 f'8 c'16 d'16 e'16 f'16 c'32 d'32 e'32 f'32 s8 c''8 d''8 e''8 f''8 c''16 d''16 e''16 f''16 c''32 d''32 e''32 f''32 @end lilypond Notez que, pour chaque crochet mensural, l'extrémité la plus proche de la tête de note sera toujours attachée à une ligne de la portée. Il n'existe pas de crochet spécifique au style néo-mensural. Nous vous conseillons donc, lorsque vous réalisez l'incipit d'une transcription, d'utiliser le style par défaut. Les crochets n'existent pas en notation grégorienne. @refbugs Les crochets anciens s'attachent aux hampes avec un léger décalage, suite à des modifications intervenues au début de la série 2.3. L'alignement vertical des crochets par rapport aux lignes de la portée sous-entend que les hampes se terminent toujours soit sur une ligne, soit à l'exact milieu d'un interligne. Ceci n'est pas toujours réalisable, surtout si vous faites appel à des fonctionnalités avancées de présentation de la notation classique (ce qui, par définition, ne devrait pas s'appliquer à la notation mensurale). @node Ancient time signatures @subsection Ancient time signatures @cindex métrique Les possibilités de métrique sont limitées en musique mensurale. Les glyphes sont affectés à des métriques particulières. En d'autres termes, pour obtenir le glyphe correspondant à une métrique mensurale particulière à l'aide de la commande @code{\time n/m}, vous devrez définir @code{n} et @code{m} selon les valeurs suivantes : @lilypond[quote,ragged-right] \layout { indent = 0.0 \context { \Staff \remove Staff_symbol_engraver \remove Clef_engraver \remove Time_signature_engraver } } { \set Score.timing = ##f \set Score.barAlways = ##t s_\markup { "\\time 4/4" }^\markup { " " \musicglyph #"timesig.neomensural44" } s s_\markup { "\\time 2/2" }^\markup { " " \musicglyph #"timesig.neomensural22" } s s_\markup { "\\time 6/4" }^\markup { " " \musicglyph #"timesig.neomensural64" } s s_\markup { "\\time 6/8" }^\markup { " " \musicglyph #"timesig.neomensural68" } \break s_\markup { "\\time 3/2" }^\markup { " " \musicglyph #"timesig.neomensural32" } s s_\markup { "\\time 3/4" }^\markup { " " \musicglyph #"timesig.neomensural34" } s s_\markup { "\\time 9/4" }^\markup { " " \musicglyph #"timesig.neomensural94" } s s_\markup { "\\time 9/8" }^\markup { " " \musicglyph #"timesig.neomensural98" } \break s_\markup { "\\time 4/8" }^\markup { " " \musicglyph #"timesig.neomensural48" } s s_\markup { "\\time 2/4" }^\markup { " " \musicglyph #"timesig.neomensural24" } } @end lilypond La propriété @code{style} de l'objet @internalsref{TimeSignature} permet d'accéder aux indicateurs de métrique anciens. Sont disponibles les styles @code{neomensural} et @code{mensural}. Vous avez vu ci-dessus le style @code{neomensural}, particulièrement utilisé pour l'incipit des transcriptions. Le style @code{mensural} imite l'aspect des éditions du XVIième siècle. Voici les différences entre les différents styles : @lilypond[ragged-right,fragment,relative=1,quote] { \fatText \time 2/2 c1^\markup { \hspace #-2.0 \typewriter default } \override Staff.TimeSignature #'style = #'numbered \time 2/2 c1^\markup { \hspace #-2.0 \typewriter numbered } \override Staff.TimeSignature #'style = #'mensural \time 2/2 c1^\markup { \hspace #-2.0 \typewriter mensural } \override Staff.TimeSignature #'style = #'neomensural \time 2/2 c1^\markup { \hspace #-2.0 \typewriter neomensural } \override Staff.TimeSignature #'style = #'single-digit \time 2/2 c1^\markup { \hspace #-2.0 \typewriter single-digit } } @end lilypond @seealso Dans ce manuel : @ref{Time signature} fournit les principes généraux sur l'utilisation des indications de métrique. @refbugs Les équivalences de durées de note ne sont pas modifiées par un changement de métrique. Par exemple, l'équivalence 1 brève pour 3 semi-brèves (tempus perfectum) doit s'effectuer à la main en tapant : @example breveTP = #(ly:make-duration -1 0 3 2) @dots{} @{ c\breveTP f1 @} @end example @noindent Ce qui définira @code{breveTP} à 3/2 fois 2 = 3 fois une ronde. Le symbole @code{old6/8alt} (alternatif au symbole pour 6/8) ne peut être invoqué avec @code{\time}. Utilisez alors un @code{\markup}. @node Ancient articulations @subsection Ancient articulations @cindex articulations En plus des signes d'articulation standards décrits à la section @ref{Articulations}, LilyPond fournit des articulations pour la musique ancienne. Elles sont spécifiquement destinées au style Editio Vaticana. @lilypond[quote,ragged-right,verbatim] \include "gregorian-init.ly" \score { \new VaticanaVoice { \override TextScript #'font-family = #'typewriter \override TextScript #'font-shape = #'upright \override Script #'padding = #-0.1 a\ictus_"ictus" \break a\circulus_"circulus" \break a\semicirculus_"semicirculus" \break a\accentus_"accentus" \break \[ a_"episem" \episemInitium \pes b \flexa a b \episemFinis \flexa a \] } } @end lilypond @refbugs Certaines articulations sont verticalement trop proches de leurs têtes de note. Le trait d'un episem n'est bien souvent pas visualisable et, lorsqu'il l'est, son extension à droite est trop longue. @node Custodes @subsection Custodes @cindex custos @cindex custodes @cindex guidon Un guidon (en latin @emph{custos}, @emph{custodes} au pluriel) est un symbole qui apparaît à la fin d'une portée. Il montre la hauteur de la ou des premières notes de la portée suivante, donnant une indication judicieuse à l'exécutant lors de la représentation. Les guidons étaient couramment utilisés jusqu'au XVIIième siècle. De nos jours, on les retrouve uniquement dans quelques formes particulières de notation telles que les éditions contemporaines de chant grégorien comme les @emph{editio vaticana}. Différents glyphes existent selon le style de notation. L'impression de guidons s'obtient en affectant, dans un bloc @code{\layout}, le @internalsref{Custos_engraver} au contexte @code{Staff}, comme le montre l'exemple suivant. @example \layout @{ \context @{ \Staff \consists Custos_engraver Custos \override #'style = #'mensural @} @} @end example Le résultat ressemblera à : @lilypond[quote,ragged-right] \score { { a'1 \override Staff.Custos #'style = #'mensural \break g' } \layout { \context { \Staff \consists Custos_engraver } } } @end lilypond Le glyphe du guidon est déterminé par la propriété @code{style}. Les styles disponibles sont : @code{vaticana}, @code{medicaea}, @code{hufnagel}, et @code{mensural}. En voici un aperçu : @lilypond[quote,ragged-right,fragment] \new Lyrics \lyricmode { \markup { \column { \typewriter "vaticana" \line { " " \musicglyph #"custodes.vaticana.u0" } } } \markup { \column { \typewriter "medicaea" \line { " " \musicglyph #"custodes.medicaea.u0" } }} \markup { \column { \typewriter "hufnagel" \line { " " \musicglyph #"custodes.hufnagel.u0" } }} \markup { \column { \typewriter "mensural" \line { " " \musicglyph #"custodes.mensural.u0" } }} } @end lilypond @seealso Référence du Programme : @internalsref{Custos}. Exemples : @lsr{ancient,custodes@/.ly}. @node Divisiones @subsection Divisiones @cindex divisio @cindex divisiones @cindex finalis Une division est un symbole ajouté à la portée et utilisé en chant grégorien pour séparer les phrases ou parties. @emph{Divisio minima}, @emph{divisio maior} et @emph{divisio maxima} peuvent respectivement s'interpréter comme des pauses courte, moyenne ou longue, à l'image des marques de respiration (cf. @ref{Breath marks}). Le signe @emph{finalis} n'est pas uniquement une marque de fin de chant ; il sert aussi à indiquer la fin des parties dans une structure verset/répons. Les divisions sont disponibles après inclusion du fichier @file{gregorian@/-init@/.ly}. Grâce à cela, il vous suffit d'insérer @code{\divisioMinima}, @code{\divisioMaior}, @code{\divisioMaxima} ou @code{\finalis} à l'emplacement approprié du fichier source. Certaines éditions utilisent @emph{virgula} ou @emph{caesura} en lieu et place de @emph{divisio minima} ; c'est pourquoi @file{gregorian@/-init@/.ly} définit aussi @code{\virgula} et @code{\caesura}. @lilypondfile[quote,ragged-right]{divisiones.ly} @refcommands @funindex \virgula @code{\virgula}, @funindex \caesura @code{\caesura}, @funindex \divisioMinima @code{\divisioMinima}, @funindex \divisioMaior @code{\divisioMaior}, @funindex \divisioMaxima @code{\divisioMaxima}, @funindex \finalis @code{\finalis}. @seealso Dans ce même manuel : @ref{Breath marks}. Référence du Programme : @internalsref{BreathingSign}. Exemples : @code{input/@/test,divisiones@/.ly}. @node Ligatures @subsection Ligatures @cindex Ligatures @c TODO: Should double check if I recalled things correctly when I wrote @c down the following paragraph by heart. Une ligature est un symbole graphique qui représente deux notes au moins. Les ligatures ont commencé à apparaître dans les manuscrits de chant grégorien, pour indiquer des suites ascendantes ou descendantes de notes. Les ligatures s'indiquent par une inclusion entre @code{\[} et @code{\]}. Certains styles de ligature peuvent demander un complément de syntaxe spécifique. Par défaut, le graveur @internalsref{LigatureBracket} place un simple crochet au dessus de la ligature : @lilypond[quote,ragged-right,verbatim] \transpose c c' { \[ g c a f d' \] a g f \[ e f a g \] } @end lilypond Il faudra, selon le style de ligature désiré, ajouter au contexte @internalsref{Voice} le graveur de ligature approprié, comme nous le verrons plus loin. Seules sont disponibles les ligatures mensurales blanches, avec quelques limitations. @refbugs La gestion des espacements spécifiques aux ligatures n'est à ce jour pas implémentée. En conséquence, les ligatures sont trop espacées les unes des autres et les sauts de ligne mal ajustés. De plus, les paroles ne s'alignent pas de manière satisfaisante en présence de ligatures. Les altérations ne pouvant être imprimées à l'intérieur d'une ligature, il faut les rassembler et les imprimer juste avant. La syntaxe utilisée correspond à l'ancienne convention de préfixage @code{\[ expr. musicale\]}. Pour des raisons d'uniformité, nous opterons probablement pour le style suffixage (postfix) @code{note\[ ... note\]}. En attendant, vous pouvez inclure le fichier @file{gregorian@/-init@/.ly}, qui fournit une fonction Scheme @example \ligature @var{expr. musicale} @end example qui aura les mêmes effets et est reconnue stable. @menu * White mensural ligatures:: * Gregorian square neumes ligatures:: @end menu @node White mensural ligatures @subsubsection White mensural ligatures @cindex Ligatures mensurales @cindex Ligatures mensurales blanches Le support des ligatures mensurales blanches est limité. La gravure des ligatures mensurales blanches s'obtient après avoir, dans le bloc @code{layout}, appliqué le @internalsref{Mensural_ligature_engraver} au contexte @internalsref{Voice}, duquel on déconnecte le @internalsref{Ligature_bracket_engraver}, comme ici : @example \layout @{ \context @{ \Voice \remove Ligature_bracket_engraver \consists Mensural_ligature_engraver @} @} @end example Point n'est besoin d'autre spécification pour décrire l'aspect d'une ligature mensurale blanche. Son aspect sera plus ou moins déterminé, uniquement à partir des hauteurs et durées des notes qui la composent. Bien que cela demande un temps d'adaptation au nouvel utilisateur, cette méthode offre l'avantage que toute l'information musicale incluse dans la ligature est connue en interne. Ceci est non seulement important pour le rendu MIDI, mais aussi pour des questions de transcription automatisée d'une ligature. Par exemple, @example \set Score.timing = ##f \set Score.defaultBarType = "empty" \override NoteHead #'style = #'neomensural \override Staff.TimeSignature #'style = #'neomensural \clef "petrucci-g" \[ c'\maxima g \] \[ d\longa c\breve f e d \] \[ c'\maxima d'\longa \] \[ e'1 a g\breve \] @end example @lilypond[quote,ragged-right] \score { \transpose c c' { \set Score.timing = ##f \set Score.defaultBarType = "empty" \override NoteHead #'style = #'neomensural \override Staff.TimeSignature #'style = #'neomensural \clef "petrucci-g" \[ c'\maxima g \] \[ d\longa c\breve f e d \] \[ c'\maxima d'\longa \] \[ e'1 a g\breve \] } \layout { \context { \Voice \remove Ligature_bracket_engraver \consists Mensural_ligature_engraver } } } @end lilypond Si vous ne remplacez pas le @internalsref{Ligature_bracket_engraver} par le @internalsref{Mensural_ligature_engraver}, voici ce que vous obtiendrez : @lilypond[quote,ragged-right] \transpose c c' { \set Score.timing = ##f \set Score.defaultBarType = "empty" \override NoteHead #'style = #'neomensural \override Staff.TimeSignature #'style = #'neomensural \clef "petrucci-g" \[ c'\maxima g \] \[ d\longa c\breve f e d \] \[ c'\maxima d'\longa \] \[ e'1 a g\breve \] } @end lilypond @refbugs L'espacement horizontal n'est pas des meilleurs. @node Gregorian square neumes ligatures @subsubsection Gregorian square neumes ligatures @cindex Neumes carrés et ligatures @cindex Grégorien, ligaturer des neumes carrés La gestion des neumes grégoriens conformément au style des Editio Vaticana est quelque peu limitée. Les ligatures élémentaires sont déjà disponibles, mais LilyPond ne permet pas encore d'arriver à un résultat irréprochable dans les détails, tels qu'en matière d'espacement horizontal des enchaînements de ligatures, d'alignement des paroles ou de gestion convenable des altérations. Le tableau ci-dessous inventorie les différents neumes contenus dans le second tome de l'Antiphonale Romanum (@emph{Liber Hymnarius}) publié par l'abbaye de Solesmes en 1983. @multitable @columnfractions .4 .2 .2 .2 @item @b{Neuma aut@* Neumarum Elementa} @tab @b{Figurae@* Rectae} @tab @b{Figurae@* Liquescentes@* Auctae} @tab @b{Figurae@* Liquescentes@* Deminutae} @c TODO: \layout block is identical in all of the below examples. @c Therefore, it should somehow be included rather than duplicated all @c the time. --jr @c why not make identifiers in ly/engraver-init.ly? --hwn @c Because it's just used to typeset plain notes without @c a staff for demonstration purposes rather than something @c special of Gregorian chant notation. --jr @item @code{1. Punctum} @tab @lilypond[staffsize=26,line-width=1.5\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Punctum \[ b \] \noBreak s^\markup {"a"} \noBreak % Punctum Inclinatum \[ \inclinatum b \] \noBreak s^\markup {"b"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=2.5\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Punctum Auctum Ascendens \[ \auctum \ascendens b \] \noBreak s^\markup {"c"} \noBreak % Punctum Auctum Descendens \[ \auctum \descendens b \] \noBreak s^\markup {"d"} \noBreak % Punctum Inclinatum Auctum \[ \inclinatum \auctum b \] \noBreak s^\markup {"e"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Punctum Inclinatum Parvum \[ \inclinatum \deminutum b \] \noBreak s^\markup {"f"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{2. Virga} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Virga \[ \virga b \] \noBreak s^\markup {"g"} } \layout { \neumeDemoLayout }} @end lilypond @tab @tab @item @code{3. Apostropha vel Stropha} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Stropha \[ \stropha b \] \noBreak s^\markup {"h"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Stropha Aucta \[ \stropha \auctum b \] \noBreak s^\markup {"i"} } \layout { \neumeDemoLayout }} @end lilypond @tab @item @code{4. Oriscus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Oriscus \[ \oriscus b \] \noBreak s^\markup {"j"} } \layout { \neumeDemoLayout }} @end lilypond @tab @tab @item @code{5. Clivis vel Flexa} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Clivis vel Flexa \[ b \flexa g \] s^\markup {"k"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=2.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Clivis Aucta Descendens \[ b \flexa \auctum \descendens g \] \noBreak s^\markup {"l"} \noBreak % Clivis Aucta Ascendens \[ b \flexa \auctum \ascendens g \] \noBreak s^\markup {"m"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Cephalicus \[ b \flexa \deminutum g \] s^\markup {"n"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{6. Podatus vel Pes} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Podatus vel Pes \[ g \pes b \] s^\markup {"o"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=2.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Pes Auctus Descendens \[ g \pes \auctum \descendens b \] \noBreak s^\markup {"p"} \noBreak % Pes Auctus Ascendens \[ g \pes \auctum \ascendens b \] \noBreak s^\markup {"q"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Epiphonus \[ g \pes \deminutum b \] s^\markup {"r"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{7. Pes Quassus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Pes Quassus \[ \oriscus g \pes \virga b \] s^\markup {"s"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Pes Quassus Auctus Descendens \[ \oriscus g \pes \auctum \descendens b \] s^\markup {"t"} } \layout { \neumeDemoLayout }} @end lilypond @tab @item @code{8. Quilisma Pes} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Quilisma Pes \[ \quilisma g \pes b \] s^\markup {"u"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Quilisma Pes Auctus Descendens \[ \quilisma g \pes \auctum \descendens b \] s^\markup {"v"} } \layout { \neumeDemoLayout }} @end lilypond @tab @item @code{9. Podatus Initio Debilis} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Pes Initio Debilis \[ \deminutum g \pes b \] s^\markup {"w"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Pes Auctus Descendens Initio Debilis \[ \deminutum g \pes \auctum \descendens b \] s^\markup {"x"} } \layout { \neumeDemoLayout }} @end lilypond @tab @item @code{10. Torculus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Torculus \[ a \pes b \flexa g \] s^\markup {"y"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Torculus Auctus Descendens \[ a \pes b \flexa \auctum \descendens g \] s^\markup {"z"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Torculus Deminutus \[ a \pes b \flexa \deminutum g \] s^\markup {"A"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{11. Torculus Initio Debilis} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Torculus Initio Debilis \[ \deminutum a \pes b \flexa g \] s^\markup {"B"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Torculus Auctus Descendens Initio Debilis \[ \deminutum a \pes b \flexa \auctum \descendens g \] s^\markup {"C"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Torculus Deminutus Initio Debilis \[ \deminutum a \pes b \flexa \deminutum g \] s^\markup {"D"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{12. Porrectus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Porrectus \[ a \flexa g \pes b \] s^\markup {"E"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Porrectus Auctus Descendens \[ a \flexa g \pes \auctum \descendens b \] s^\markup {"F"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Porrectus Deminutus \[ a \flexa g \pes \deminutum b \] s^\markup {"G"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{13. Climacus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Climacus \[ \virga b \inclinatum a \inclinatum g \] s^\markup {"H"} } \layout { \neumeDemoLayout } } @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Climacus Auctus \[ \virga b \inclinatum a \inclinatum \auctum g \] s^\markup {"I"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Climacus Deminutus \[ \virga b \inclinatum a \inclinatum \deminutum g \] s^\markup {"J"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{14. Scandicus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Scandicus \[ g \pes a \virga b \] s^\markup {"K"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Scandicus Auctus Descendens \[ g \pes a \pes \auctum \descendens b \] s^\markup {"L"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Scandicus Deminutus \[ g \pes a \pes \deminutum b \] s^\markup {"M"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{15. Salicus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Salicus \[ g \oriscus a \pes \virga b \] s^\markup {"N"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Salicus Auctus Descendens \[ g \oriscus a \pes \auctum \descendens b \] s^\markup {"O"} } \layout { \neumeDemoLayout }} @end lilypond @tab @item @code{16. Trigonus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Trigonus \[ \stropha b \stropha b \stropha a \] s^\markup {"P"} } \layout { \neumeDemoLayout } } @end lilypond @tab @tab @end multitable Contrairement à la majorité des autres systèmes de notation neumatiques, la manière de saisir les neumes n'a rien à voir avec leur apparence typographique ; elle se concentre plutôt sur le sens musical. Ainsi, @code{\[ a \pes b \flexa g \]} produit un @emph{torculus} constitué de trois @emph{punctums}, alors que @code{\[ a \flexa g \pes b \]} produira un @emph{porrectus} avec une flexe incurvée et un seul @emph{punctum}. Il n'existe pas de commande à proprement parler qui permette de spécifier la courbe d'une flexe ; c'est la source musicale qui va le déterminer. Le fondement d'une telle approche réside dans la distinction que nous faisons entre les aspects musicaux de la source et le style de notation que nous voulons obtenir. De ce fait, la même source pourra être utilisée pour imprimer dans un autre style de notation grégorienne. Le tableau suivant présente les fragments de code qui ont permis de générer les neumes ligaturés du tableau précédent. Les lettres de la première colonne renvoient à la ligature ci-dessus. La seconde colonne énumère le nom des ligatures, et la troisième le code ayant permis de les générer (se basant sur les sons @code{g}, @code{a}, ou @code{b} -- @code{sol}, @code{la}, ou @code{si}). @multitable @columnfractions .02 .31 .67 @item @b{#} @tab @b{Nom} @tab @b{Code source} @item a @tab Punctum @tab @code{\[ b \]} @item b @tab Punctum Inclinatum @tab @code{\[ \inclinatum b \]} @item c @tab Punctum Auctum@* Ascendens @tab @code{\[ \auctum \ascendens b \]} @item d @tab Punctum Auctum@* Descendens @tab @code{\[ \auctum \descendens b \]} @item e @tab Punctum Inclinatum@* Auctum @tab @code{\[ \inclinatum \auctum b \]} @item f @tab Punctum Inclinatum@* Parvum @tab @code{\[ \inclinatum \deminutum b \]} @item g @tab Virga @tab @code{\[ \virga b \]} @item h @tab Stropha @tab @code{\[ \stropha b \]} @item i @tab Stropha Aucta @tab @code{\[ \stropha \auctum b \]} @item j @tab Oriscus @tab @code{\[ \oriscus b \]} @item k @tab Clivis vel Flexa @tab @code{\[ b \flexa g \]} @item l @tab Clivis Aucta@* Descendens @tab @code{\[ b \flexa \auctum \descendens g \]} @item m @tab Clivis Aucta@* Ascendens @tab @code{\[ b \flexa \auctum \ascendens g \]} @item n @tab Cephalicus @tab @code{\[ b \flexa \deminutum g \]} @item o @tab Podatus vel Pes @tab @code{\[ g \pes b \]} @item p @tab Pes Auctus@* Descendens @tab @code{\[ g \pes \auctum \descendens b \]} @item q @tab Pes Auctus@* Ascendens @tab @code{\[ g \pes \auctum \ascendens b \]} @item r @tab Epiphonus @tab @code{\[ g \pes \deminutum b \]} @item s @tab Pes Quassus @tab @code{\[ \oriscus g \pes \virga b \]} @item t @tab Pes Quassus@* Auctus Descendens @tab @code{\[ \oriscus g \pes \auctum \descendens b \]} @item u @tab Quilisma Pes @tab @code{\[ \quilisma g \pes b \]} @item v @tab Quilisma Pes@* Auctus Descendens @tab @code{\[ \quilisma g \pes \auctum \descendens b \]} @item w @tab Pes Initio Debilis @tab @code{\[ \deminutum g \pes b \]} @item x @tab Pes Auctus Descendens@* Initio Debilis @tab @code{\[ \deminutum g \pes \auctum \descendens b \]} @item y @tab Torculus @tab @code{\[ a \pes b \flexa g \]} @item z @tab Torculus Auctus@* Descendens @tab @code{\[ a \pes b \flexa \auctum \descendens g \]} @item A @tab Torculus Deminutus @tab @code{\[ a \pes b \flexa \deminutum g \]} @item B @tab Torculus Initio Debilis @tab @code{\[ \deminutum a \pes b \flexa g \]} @item C @tab Torculus Auctus@* Descendens Initio Debilis @tab @code{\[ \deminutum a \pes b \flexa \auctum \descendens g \]} @item D @tab Torculus Deminutus@* Initio Debilis @tab @code{\[ \deminutum a \pes b \flexa \deminutum g \]} @item E @tab Porrectus @tab @code{\[ a \flexa g \pes b \]} @item F @tab Porrectus Auctus@* Descendens @tab @code{\[ a \flexa g \pes \auctum \descendens b \]} @item G @tab Porrectus Deminutus @tab @code{\[ a \flexa g \pes \deminutum b \]} @item H @tab Climacus @tab @code{\[ \virga b \inclinatum a \inclinatum g \]} @item I @tab Climacus Auctus @tab @code{\[ \virga b \inclinatum a \inclinatum \auctum g \]} @item J @tab Climacus Deminutus @tab @code{\[ \virga b \inclinatum a \inclinatum \deminutum g \]} @item K @tab Scandicus @tab @code{\[ g \pes a \virga b \]} @item L @tab Scandicus Auctus@* Descendens @tab @code{\[ g \pes a \pes \auctum \descendens b \]} @item M @tab Scandicus Deminutus @tab @code{\[ g \pes a \pes \deminutum b \]} @item N @tab Salicus @tab @code{\[ g \oriscus a \pes \virga b \]} @item O @tab Salicus Auctus Descendens @tab @code{\[ g \oriscus a \pes \auctum \descendens b \]} @item P @tab Trigonus @tab @code{\[ \stropha b \stropha b \stropha a \]} @end multitable Les ligatures que nous venons de voir, bien que rudimentaires, donnent un aperçu des possibilités de former des ligatures grégoriennes. En théorie, vous pouvez inclure entre les délimiteurs @code{\[} et @code{\]}, autant de sons que nécessaires à la ligature, ainsi que de préfixes tels que, par exemple, @code{\pes}, @code{\flexa}, @code{\virga}, ou @code{\inclinatum}. Bien sûr, les règles de construction présentées ci-dessus peuvent se combiner, ce qui permet la création d'une infinité de ligatures. Les points d'augmentum, ou @emph{morae}, s'obtiennent avec la fonction @code{\augmentum}. Notez que cette fonction @code{\augmentum} est implémentée en tant que fonction unaire plutôt que comme un préfixe de note. Par conséquent, @code{\augmentum \virga c} ne donnera rien de particulier. Il faut l'utiliser avec la syntaxe @code{\virga \augmentum c} ou @code{\augmentum @{\virga c@}}. Par ailleurs, l'expression @code{\augmentum @{a g@}} constitue une forme abrégée de @code{\augmentum a \augmentum g}. @lilypond[quote,ragged-right,verbatim] \include "gregorian-init.ly" \score { \new VaticanaVoice { \[ \augmentum a \flexa \augmentum g \] \augmentum g } } @end lilypond @refcommands LilyPond dispose des préfixes suivant : @funindex \virga @code{\virga}, @funindex \stropha @code{\stropha}, @funindex \inclinatum @code{\inclinatum}, @funindex \auctum @code{\auctum}, @funindex \descendens @code{\descendens}, @funindex \ascendens @code{\ascendens}, @funindex \oriscus @code{\oriscus}, @funindex \quilisma @code{\quilisma}, @funindex \deminutum @code{\deminutum}, @funindex \cavum @code{\cavum}, @funindex \linea @code{\linea}. Les préfixes de note peuvent s'agglutiner. Néanmoins, certaines restrictions sont à prendre en compte. Par exemple, on peut appliquer un @code{\descendens} ou un @code{\ascendens} à une note, mais pas les deux simultanément à la même note. @funindex \pes @funindex \flexa Deux notes adjacentes peuvent être reliées grâce aux commandes @code{\pes} ou @code{\flexa} pour marquer une ligne mélodique ascendante ou descendante. @funindex \augmentum Utilisez la fonction musicale unaire @code{\augmentum} pour ajouter des points d'augmentum. @refbugs Lorsqu'un @code{\augmentum} apparaît dans une ligature en fin de portée, son placement vertical peut être erroné. Pour y remédier, ajoutez un silence invisible, @code{s8} par exemple, comme dernière note de cette portée. L'@code{\augmentum} devrait être implémenté en tant que préfixe plutôt qu'en tant que fonction unaire, de telle sorte que @code{\augmentum} puisse s'intégrer avec d'autres préfixes dans n'importe quel ordre. @node Gregorian Chant contexts @subsection Gregorian Chant contexts @cindex VaticanaVoiceContext @cindex VaticanaStaffContext Les contextes @code{VaticanaVoiceContext} et @code{VaticanaStaffContext} permettent de graver le chant grégorien dans le style des éditions vaticanes. Ces contextes initialisent les propriétés de tous les autres contextes et objets graphiques à des valeurs adéquates, de telle sorte que vous pouvez tout de suite vous lancer dans la saisie de votre chant comme ci-après : @lilypond[quote,ragged-right,packed,verbatim] \include "gregorian-init.ly" \score { << \new VaticanaVoice = "cantus" { \[ c'\melisma c' \flexa a \] \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima \[ f\melisma \pes a c' c' \pes d'\melismaEnd \] c' \divisioMinima \break \[ c'\melisma c' \flexa a \] \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima } \new Lyrics \lyricsto "cantus" { San- ctus, San- ctus, San- ctus } >> } @end lilypond @node Mensural contexts @subsection Mensural contexts @cindex MensuralVoiceContext @cindex MensuralStaffContext Les contextes @code{MensuralVoiceContext} et @code{MensuralStaffContext} permettent de graver des chants dans le style mesuré. Ces contextes initialisent les propriétés de tous les autres contextes et objets graphiques à des valeurs adéquates, de telle sorte que vous pouvez tout de suite vous lancer dans la saisie de votre chant comme ci-après : @lilypond[quote,ragged-right,verbatim] \score { << \new MensuralVoice = "discantus" \transpose c c' { \override Score.BarNumber #'transparent = ##t { c'1\melisma bes a g\melismaEnd f\breve \[ f1\melisma a c'\breve d'\melismaEnd \] c'\longa c'\breve\melisma a1 g1\melismaEnd fis\longa^\signumcongruentiae } } \new Lyrics \lyricsto "discantus" { San -- ctus, San -- ctus, San -- ctus } >> } @end lilypond @node Musica ficta accidentals @subsection Musica ficta accidentals Dans la musique européenne d'avant le XVIIième siècle, les chanteurs étaient censé altérer les notes de leur propre initiative. On appelait cela @q{Musica Ficta}. Dans les transcriptions modernes, ces altérations se positionnent au dessus de la note concernée. @cindex Accidental, musica ficta @cindex Musica ficta De telles altérations suggérées sont disponibles et peuvent être activées positionnant @code{suggestAccidentals} à vrai. @funindex suggestAccidentals @lilypond[verbatim,fragment,relative=1] fis gis \set suggestAccidentals = ##t ais bis @end lilypond @seealso Référence du Programme : le graveur @internalsref{Accidental_engraver} et l'objet @internalsref{AccidentalSuggestion}. @node Figured bass @subsection Figured bass @cindex Basse continue @cindex Basse chiffrée @c TODO: musicological blurb about FB @c librement adapté de @c http://en.wikipedia.org/wiki/Basso_continuo#Basso_continuo Les parties de basse continue étaient très répandues dans la musique baroque et jusqu'à la fin du XVIIIième siècle. Comme son nom l'indique, le @emph{continuo} constitue une partie à elle seul et qui se déroule tout au long de l'œuvre pour en donner la structure harmonique. Les musiciens du @emph{continuo} jouent des claviers (clavecin, orgue) ou de tout autre instrument pouvant réaliser des accords. Leur partie est constituée d'une portée de basse aux notes agrémentées de combinaisons de chiffres et signes indiquant le développement des accords à jouer, ainsi que leur éventuel renversement. Cette notation était avant tout un guide, n'excluant pas que le musicien improvise de lui-même l'accompagnement. LilyPond gère la basse chiffrée. @lilypond[quote,ragged-right,verbatim,fragment] << \new Voice { \clef bass dis4 c d ais g fis} \new FiguredBass \figuremode { <6 >4 <7\+ >8 <6+ [_!] > <6 >4 <6 5 [3+] > <_ >4 <6 5/>4 } >> @end lilypond La gestion de la basse chiffrée se décompose en deux parties. Dans un premier temps, le mode @code{\figuremode} permet de saisir les accords sous forme chiffrée. Le contexte @internalsref{FiguredBass} s'occupera ensuite de gérer les objets @internalsref{BassFigure}. En mode de saisie, un chiffrage est délimité par @code{<} et @code{>}. la durée est portée après le @code{>} : @example <4 6> @end example @lilypond[quote,ragged-right,fragment] \new FiguredBass \figuremode { <4 6> } @end lilypond Les altérations s'obtiennent en ajoutant aux chiffres les caractères @code{-}, @code{!} ou @code{+}. Un signe plus s'obtient grâce à @code{\+}, et des quintes diminuées ou des septièmes par @code{5/} et @code{7/} respectivement. @example <4- 6+ 7!> <5++> <3--> <7/> r <6\+ 5/> @end example @lilypond[quote,ragged-right,fragment] \figures { <4- 6+ 7!> <5++> <3--> <7/> r <6\+ 5/> } @end lilypond Le caractère @code{_} insère un espace, et l'on peut imprimer des crochets avec @code{[} et @code{]}. Vous pouvez aussi ajouter des chaînes de caractères ou des étiquettes (cf. @ref{Overview of text markup commands}). @example <[4 6] 8 [_! 12] > <5 \markup @{ \number 6 \super (1) @} > @end example @lilypond[quote,ragged-right,fragment] \new FiguredBass \figuremode { <[4 6] 8 [_! 12] > <5 \markup{ \tiny \number 6 \super (1)} > } @end lilypond Lorsque des chiffrages se répètent, vous pouvez utiliser des lignes de prolongation. @lilypond[verbatim,relative=1] << \new Staff { \clef bass c4 c c } \figures { \set useBassFigureExtenders = ##t <4 6> <3 6> <3 7> } >> @end lilypond @noindent En pareil cas, la ligne de prolongation masquera toujours le chiffre qu'elle rappelle dans le chiffrage suivant. Le contexte @code{FiguredBass} ne tient aucun compte de la ligne de basse. Par conséquent, il vous faudra peut être insérer des chiffrages supplémentaires pour imprimer les prolongations, ou utiliser des @code{\!} pour les éviter, comme dans l'exemple suivant : @lilypond[relative=1] << \new Voice \figures { \set useBassFigureExtenders = ##t <6 4->4. <6 4->16. <6 4->32 <5>8. r16 <6>8 <6\! 5-> } { \clef bass f16. g32 f16. g32 f16. g32 f16. g32 f8. es16 d8 es } >> @end lilypond Lorsque vous utilisez des lignes de prolongation, les chiffres communs seront verticalement alignés. Pour l'éviter, insérez un silence par un @code{r} afin de réinitialiser l'alignement. Par exemple, saisissez @example <4 6>8 r8 @end example @noindent au lieu de @example <4 6>4 @end example Les altérations et signes plus s'impriment aussi bien avant qu'après les chiffres, selon les propriétés @code{figuredBassAlterationDirection} et @code{figuredBassPlusDirection}. @lilypond \figures { <6\+> <5+> <6 4-> r \set figuredBassAlterationDirection = #1 <6\+> <5+> <6 4-> r \set figuredBassPlusDirection = #1 <6\+> <5+> <6 4-> r \set figuredBassAlterationDirection = #-1 <6\+> <5+> <6 4-> r } @end lilypond Bien que la gestion de la basse chiffrée ressemble beaucoup à celle des accords, elle est beaucoup plus simpliste. Le mode @code{\figuremode} ne fait que stocker des chiffres que le contexte @internalsref{FiguredBass} se chargera d'imprimer tels quels. En aucune manière ils ne seront transformés en son, et ils ne seront pas rendus dans un fichier MIDI. Du côté interne, ce code produit des étiquettes de texte que vous pouvez formater à votre convenance grâce aux propriétés des étiquettes. Par exemple, l'espacement vertical des chiffrages est déterminé par @code{baseline-skip}. Des basses chiffrées peuvent aussi s'ajouter directement à des contextes @code{Staff}. L'alignement vertical sera alors automatiquement ajusté. @lilypond[ragged-right,fragment,quote] << \new Staff = someUniqueName \relative c'' { c4 c'8 r8 c,4 c' } %% send to existing Staff. \context Staff = someUniqueName \figuremode { <4>4 <6 10>8 s8 \set Staff.useBassFigureExtenders = ##t <4 6>4 <4 6> } >> @end lilypond @refbugs Si vous positionnez la basse chiffrée au dessus de la portée et avez recours aux lignes d'extension et @code{implicitBassFigures}, les lignes peuvent se mélanger. Préserver l'ordre des prolongateurs peut s'avérer impossible lorsque plusieurs chiffrages en possèdent et qui se chevauchent. Ce problème est contourné en jouant sur l'empilement (@code{stacking-dir}) du @code{BassFigureAlignment}. @seealso Référence du Programme : les objets @internalsref{NewBassFigure}, @internalsref{BassFigureAlignment}, @internalsref{BassFigureLine}, @internalsref{BassFigureBracket} et @internalsref{BassFigureContinuation}, ainsi que le contexte @internalsref{FiguredBass}. @node Other instrument specific notation @section Other instrument specific notation Ce chapitre dispense des informations supplémentaires et utiles à l'écriture pour certains instruments. @menu * Artificial harmonics (strings):: @end menu @node Artificial harmonics (strings) @subsection Artificial harmonics (strings) @cindex harmoniques La plupart des instruments à cordes peuvent produire des harmoniques artificielles, lorsque l'instrumentiste effleure simplement la corde pour une note donnée. Le son émis en sera une harmonique, que l'on peut indiquer par @code{\harmonic}. @lilypond[ragged-right,verbatim,quote,fragment,relative=1] 4 @end lilypond