@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore Translation of GIT committish: bdff8baf5bce0c4c456ebbf292ba8fc771e4bd31 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' Guide, node Updating translation committishes.. @end ignore @c \version "2.17.6" @c Translators: Valentin Villenave, Jean-Charles Malahieude @c Translation checkers: John Mandereau @node Notation sur la portée @section Notation sur la portée @translationof Staff notation @c The line width is a bit of a hack to allow space for the @c instrument names. @lilypondfile[quote,ragged-right,line-width=14.5\cm,staffsize=16] {staff-headword.ly} Cette section aborde les détails de gravure de la portée, la réalisation de partitions comprenant plusieurs portées et l'ajout d'indications globales d'exécution, présentes sur certaines portées seulement. @menu * Gravure des portées:: * Modification de portées individuelles:: * Écriture de parties séparées:: @end menu @node Gravure des portées @subsection Gravure des portées @translationof Displaying staves Nous allons voir ici comment créer des portées et comment les regrouper. @menu * Initialisation de nouvelles portées:: * Regroupement de portées:: * Imbrication de regroupements de portées:: * Séparation des systèmes:: @end menu @node Initialisation de nouvelles portées @unnumberedsubsubsec Initialisation de nouvelles portées @translationof Instantiating new staves @cindex nouvelle portée @cindex portée, initialisation @cindex portée, instanciation @cindex portée, nouvelle @cindex portée simple @cindex portée de batterie @cindex portée de percussion @cindex batterie, portée @cindex percussion, portée @cindex portée, transcription de grégorien @cindex portée rythmique @cindex portée de tablature @cindex tablature @funindex \drummode @funindex drummode @funindex DrumStaff @funindex RhythmicStaff @funindex TabStaff @funindex MensuralStaff @funindex VaticanaStaff @funindex GregorianTranscriptionStaff Les @notation{portées} -- en anglais @emph{staff} (@emph{staves} au pluriel) -- sont créées à l'aide des commandes @code{\new} ou @code{\context}. Pour de plus amples détails, consultez @ref{Création d'un contexte}. Le contexte de portée standard s'appelle @code{Staff} : @lilypond[verbatim,quote,relative=2] \new Staff { c4 d e f } @end lilypond Le contexte @code{DrumStaff} crée une portée à cinq lignes correspondant à une batterie traditionnelle et chacun des instruments est représenté par un symbole spécifique. Les éléments sont saisis en mode batterie, initialisé par la commande @code{\drummode}, chaque composante étant spécifiée par son nom. Pour de plus amples détails, consultez @ref{Portées de percussion}. @lilypond[verbatim,quote] \new DrumStaff { \drummode { cymc hh ss tomh } } @end lilypond Un @code{RhythmicStaff} est composé d'une portée à ligne unique chargée de présenter les valeurs rythmiques saisies. Seules sont imprimées les durées. Pour de plus amples détails, consultez @ref{Gravure de lignes rythmiques}. @lilypond[verbatim,quote,relative=2] \new RhythmicStaff { c4 d e f } @end lilypond Un @code{TabStaff} crée une portée de tablature correspondant aux six cordes d'une guitare standard. Pour de plus amples détails, consultez @ref{Tablatures par défaut}. @lilypond[verbatim,quote,relative=2] \new TabStaff { c4 d e f } @end lilypond LilyPond dispose aussi de deux contextes dédiés à la musique ancienne : @code{MensuralStaff} et @code{VaticanaStaff}. Ils sont abordés plus en détails au chapitre @ref{Contextes prédéfinis}. Le contexte @code{GregorianTranscriptionStaff} permet d'obtenir des éditions modernes du grégorien. Bien entendu, il est dépourvu de barres de mesure. @lilypond[verbatim,quote,relative=2] \new GregorianTranscriptionStaff { c4 d e f e d } @end lilypond Vous pourrez toujours définir d'autres contextes de portée selon vos besoins, en suivant les indications fournies au chapitre @ref{Définition de nouveaux contextes}. @seealso Glossaire musicologique : @rglos{staff}, @rglosnamed{staves,portées}. Manuel de notation : @ref{Création d'un contexte}, @ref{Portées de percussion}, @ref{Gravure de lignes rythmiques}, @ref{Tablatures par défaut}, @ref{Contextes prédéfinis}, @ref{Symbole de la portée}, @ref{Contextes du chant grégorien}, @ref{Contextes de musique mensurale}, @ref{Définition de nouveaux contextes}. Morceaux choisis : @rlsrnamed{Staff notation, Notation sur la portée}. Référence des propriétés internes : @rinternals{Staff}, @rinternals{DrumStaff}, @rinternals{GregorianTranscriptionStaff}, @rinternals{RhythmicStaff}, @rinternals{TabStaff}, @rinternals{MensuralStaff}, @rinternals{VaticanaStaff}, @rinternals{StaffSymbol}. @node Regroupement de portées @unnumberedsubsubsec Regroupement de portées @translationof Grouping staves @cindex système, début de @cindex crochet vertical @cindex accolade verticale @cindex portée multiple @cindex portées, groupe de @cindex portées, regroupement @cindex chœur, système @cindex piano, système @cindex système choral @cindex système pianistique @cindex système, grand @cindex système LilyPond dispose de différents contextes permettant de regrouper des portées individuelles et d'obtenir ainsi des @qq{systèmes}. Chacun de ces contextes définira le style de regroupement, avec son signe particulier en début de portée et ses règles de gestion des barres de mesure. Lorsqu'aucun contexte particulier n'est spécifié, les propriétés suivantes s'appliqueront par défaut : les portées du groupe ne sont pas reliées, hormis par une simple ligne verticale en début de ligne, et les barres de mesure sont indépendantes. @lilypond[verbatim,quote,relative=2] << \new Staff { c1 c } \new Staff { c1 c } >> @end lilypond Dans un @code{StaffGroup}, le groupe de portées est signifié par un crochet, et les barres de mesure sont d'un seul tenant. @lilypond[verbatim,quote,relative=2] \new StaffGroup << \new Staff { c1 c } \new Staff { c1 c } >> @end lilypond Dans un @code{ChoirStaff}, le groupe de portées est signifié par un crochet sur la gauche, et les barres de mesure sont individuelles. @lilypond[verbatim,quote,relative=2] \new ChoirStaff << \new Staff { c1 c } \new Staff { c1 c } >> @end lilypond Dans un @code{GrandStaff}, le groupe de portées est signifié par une accolade sur la gauche, et les barres de mesure sont d'un seul tenant. @lilypond[verbatim,quote,relative=2] \new GrandStaff << \new Staff { c1 c } \new Staff { c1 c } >> @end lilypond Le contexte @code{PianoStaff} est identique au @code{GrandStaff}, sauf qu'il gère automatiquement l'affichage du nom d'instrument -- voir @ref{Noms d'instrument} pour plus de détails. @lilypond[verbatim,quote,relative=2] \new PianoStaff << \set PianoStaff.instrumentName = #"Piano" \new Staff { c1 c } \new Staff { c1 c } >> @end lilypond Les barres de mesure au début de chaque système adoptent l'un des styles @code{SystemStartBar}, @code{SystemStartBrace} ou @code{SystemStartBracket}. Dans chaque contexte, seul l'un de ces styles est utilisé, et c'est la propriété @code{systemStartDelimiter} qui détermine lequel. Un quatrième style, @code{SystemStartSquare}, doit quant à lui être spécifié de manière explicite. Vous pouvez aussi créer vos propres contextes de regroupement, comme l'explique @ref{Définition de nouveaux contextes}. @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {use-square-bracket-at-the-start-of-a-staff-group.ly} @lilypondfile[verbatim,quote,texidoc,doctitle] {display-bracket-with-only-one-staff-in-a-system.ly} @cindex présentation mensurale @cindex renaissance, musique @cindex transcription de musique ancienne @cindex musique ancienne, transcription @lilypondfile[verbatim,quote,texidoc,doctitle] {mensurstriche-layout-bar-lines-between-the-staves.ly} @seealso Glossaire musicologique : @rglosnamed{brace,accolade}, @rglosnamed{bracket,crochet}, @rglosnamed{grand staff,système}. Manuel de notation : @ref{Noms d'instrument}, @ref{Définition de nouveaux contextes}. Morceaux choisis : @rlsrnamed{Staff notation, Notation sur la portée}. Référence des propriétés internes : @rinternals{Staff}, @rinternals{StaffGroup}, @rinternals{ChoirStaff}, @rinternals{GrandStaff}, @rinternals{PianoStaff}, @rinternals{SystemStartBar}, @rinternals{SystemStartBrace}, @rinternals{SystemStartBracket}, @rinternals{SystemStartSquare}. @knownissues Un @code{PianoStaff} ne peut contenir, par défaut, de @code{ChordNames}. @node Imbrication de regroupements de portées @unnumberedsubsubsec Imbrication de regroupements de portées @translationof Nested staff groups @cindex portées, regroupement et imbrication @cindex systèmes imbriqués @cindex imbrication de systèmes @cindex délimitation, systèmes imbriqués Les accolades et crochets qui délimitent les systèmes peuvent être imbriqués en profondeur. Chaque niveau inférieur aura son propre délimiteur, en plus de celui du niveau supérieur. @lilypond[verbatim,quote,relative=2] \new StaffGroup << \new Staff { c2 c | c2 c } \new StaffGroup << \new Staff { g2 g | g2 g } \new StaffGroup \with { systemStartDelimiter = #'SystemStartSquare } << \new Staff { e2 e | e2 e } \new Staff { c2 c | c2 c } >> >> >> @end lilypond Vous pouvez aussi créer vos propres contextes d'imbrication, comme l'explique @ref{Définition de nouveaux contextes}. @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {nesting-staves.ly} @seealso Manuel de notation : @ref{Regroupement de portées}, @ref{Noms d'instrument}, @ref{Définition de nouveaux contextes}. Morceaux choisis : @rlsrnamed{Staff notation,Notation sur la portée}. Référence des propriétés internes : @rinternals{StaffGroup}, @rinternals{ChoirStaff}, @rinternals{SystemStartBar}, @rinternals{SystemStartBrace}, @rinternals{SystemStartBracket}, @rinternals{SystemStartSquare}. @node Séparation des systèmes @unnumberedsubsubsec Séparation des systèmes @translationof Separating systems @cindex système, indicateur de séparation Le nombre de systèmes peut varier d'une page à l'autre ; vous pouvez, en pareil cas, rendre plus évidente la séparation entre les systèmes en l'indiquant visuellement. Ce @qq{séparateur} est absent par défaut, mais vous pouvez l'activer par une option au sein du bloc @code{\paper}. @c \book is required here to display the system separator @c ragged-right is required as there are two systems @lilypond[verbatim,quote,ragged-right] \book { \score { \new StaffGroup << \new Staff { \relative c'' { c4 c c c \break c4 c c c } } \new Staff { \relative c'' { c4 c c c \break c4 c c c } } >> } \paper { system-separator-markup = \slashSeparator % following commands are needed only to format this documentation paper-width = 100\mm paper-height = 100\mm tagline = ##f } } @end lilypond @seealso Manuel de notation : @ref{Mise en forme de la page}. Morceaux choisis : @rlsrnamed{Staff notation,Notation sur la portée}. @node Modification de portées individuelles @subsection Modification de portées individuelles @translationof Modifying single staves Cette section explique le réglage de la gravure de chaque portée, comme la taille de portée ou le nombre de lignes ; sont aussi décrits la suspension et la reprise de portées, ainsi que les portées d'@emph{ossia}. @menu * Symbole de la portée:: * Portées d'ossia:: * Masquage de portées:: @end menu @node Symbole de la portée @unnumberedsubsubsec Symbole de la portée @translationof Staff symbol @cindex symbole de portée @cindex portée, lignes de @cindex lignes de portée, nombre de @cindex suspension de portée @cindex portée, suspension @cindex reprise de portée @cindex portée, reprise @cindex lignes de portée, épaisseur @cindex ligne supplémentaire @funindex \startStaff @funindex startStaff @funindex \stopStaff @funindex stopStaff Les commandes @code{\stopStaff} et @code{\startStaff} permettent respectivement de clôturer et (re)démarrer une portée n'importe où dans une partition. @lilypond[verbatim,quote,relative=2] \stopStaff f4 d \startStaff g, e f'4 d \stopStaff g, e f'4 d \startStaff g, e @end lilypond @predefined @code{\startStaff}, @code{\stopStaff}. @endpredefined Les notes, nuances, etc. sont regroupées dans un assemblage de lignes horizontales, que l'on nomme la portée (en anglais @emph{staff}, et @emph{staves} au pluriel). Dans LilyPond, ces lignes sont dessinées au moyen d'un objet graphique (@emph{grob}) à part entière, nommé @code{StaffSymbol} -- symbole de portée. Modifier les propriétés d'un @code{StaffSymbol} changera l'apparence de la portée, dès lors qu'elles auront été définies avant de créer la portée en question. Vous pouvez modifier le nombre de lignes d'une portée. @lilypond[verbatim,quote,relative=2] f4 d \stopStaff \override Staff.StaffSymbol.line-count = #2 \startStaff g, e | f'4 d \stopStaff \revert Staff.StaffSymbol.line-count \startStaff g, e | @end lilypond Le positionnement de chacune des lignes de la portée est modifiable. Les valeurs s'expriment en @emph{demi} espace de portée, et la nouvelle position est déterminée par rapport à la ligne médiane. Une ligne sera donc imprimée pour chaque valeur exprimée ; le nombre de lignes, ainsi que leur position dans la portée, peut donc se modifier à l'aide d'une seule commande. @lilypond[verbatim,quote,relative=2] f4 d \stopStaff \override Staff.StaffSymbol.line-positions = #'(1 3 5 -1 -3) \startStaff g, e | f'4 d \stopStaff \override Staff.StaffSymbol.line-positions = #'(8 6.5 -6 -8 -0.5) \startStaff g, e @end lilypond La position de la clef et celle du do médium demanderont parfois un ajustement afin d'être en phase avec cette nouvelle portée. Pour plus d'explications, reportez-vous aux exemples du chapitre @ref{Clefs}. Lorsque vous modifierez l'épaisseur des lignes, gardez à l'esprit que les lignes supplémentaires et les hampes seront aussi modifiées. @lilypond[verbatim,quote,relative=1] \new Staff \with { \override StaffSymbol.thickness = #3 } { e4 d c b } @end lilypond L'épaisseur des lignes supplémentaires (@emph{ledger lines}) peut être déterminée indépendamment des lignes de la portée. Dans l'exemple suivant, les deux nombres constituent des coefficients multiplicateurs de l'épaisseur de la ligne. Ils sont fournis en argument pour déterminer l'épaisseur des lignes supplémentaires. @lilypond[verbatim,quote,relative=2] \new Staff \with { \override StaffSymbol.thickness = #2 \override StaffSymbol.ledger-line-thickness = #'(0.5 . 0.4) } { f'4 a, a,, f } @end lilypond L'emplacement des lignes supplémentaires est réglable : @lilypond[verbatim,quote,relative=2] \new Staff \with { \override StaffSymbol.ledger-positions = #'(-3 -2 -1 2 5 6) } { f'4 a, a,, f } @end lilypond Vous pouvez faire apparaître des lignes supplémentaires additionnelles au-dessus ou en dessous des têtes de note selon leur positionnement relatif aux autres notes, qu'elles aient ou non elles-mêmes des lignes supplémentaires. @lilypond[verbatim,quote,relative=2] \new Staff \with { \override StaffSymbol.ledger-extra = #4 } { f'4 a, d, f, } @end lilypond Des lignes supplémentaires peuvent apparaître y compris au sein d'une portée, notamment lorsque vous l'avez personnalisée. L'exemple suivant illustre deux cas de figure quant au positionnement des lignes supplémentaires selon que la propriété @code{legder-position} est définie explicitement ou non. La présence du @code{stopStaff} est ici rendue nécessaire pour annuler les effets de la commande @code{\override} qui s'applique à l'intégralité du @code{StaffSymbol}. @lilypond[fragment,quote,relative=1] \override Staff.StaffSymbol.line-positions = #'(-8 0 2 4) d4 e f g \stopStaff \startStaff \override Staff.StaffSymbol.ledger-positions = #'(-8 -6 (-4 -2) 0) d4 e f g @end lilypond Modifier l'équidistance des lignes de la portée affectera aussi les lignes supplémentaires. @lilypond[verbatim,quote,relative=2] \new Staff \with { \override StaffSymbol.staff-space = #1.5 } { f'4 d, g, e, } @end lilypond @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {making-some-staff-lines-thicker-than-the-others.ly} @seealso Glossaire musicologique : @rglosnamed{line,ligne}, @rglosnamed{ledger line,ligne supplémentaire}, @rglosnamed{staff,portée}. Manuel de notation : @ref{Clefs}. Morceaux choisis : @rlsrnamed{Staff notation,Notation sur la portée}. Référence des propriétés internes : @rinternals{StaffSymbol}, @rinternals{staff-symbol-interface}. @node Portées d'ossia @unnumberedsubsubsec Portées d'ossia @translationof Ossia staves @cindex portée à la française @cindex ossia @cindex variante @cindex portées, nombre variable de @cindex nombre de portées @funindex \startStaff @funindex startStaff @funindex \stopStaff @funindex stopStaff Une portée d'@notation{ossia} -- ou de variante -- s'obtient en créant, à l'endroit approprié, une nouvelle portée simultanée : @lilypond[verbatim,quote] \new Staff \relative c'' { c4 b d c << { c4 b d c } \new Staff { e4 d f e } >> c4 b c2 } @end lilypond @noindent L'exemple ci-dessus n'est probablement pas ce qui vous conviendra le plus. Afin que cette ossia se place au-dessus de la portée à laquelle elle se réfère, étant par ailleurs dépourvue de métrique et de clef, et d'une taille légèrement inférieure, vous devrez avoir recours à quelques retouches. Le manuel d'initiation aborde une technique particulière pour obtenir ce résultat, au chapitre @rlearning{Expressions musicales imbriquées}. L'exemple qui suit utilise, pour aligner la portée d'ossia, la propriété @code{alignAboveContext}. Cette méthode est tout à fait appropriée lorsqu'il y a un nombre restreint d'ossias. @lilypond[verbatim,quote] \new Staff = main \relative c'' { c4 b d c << { c4 b d c } \new Staff \with { \remove "Time_signature_engraver" alignAboveContext = #"main" fontSize = #-3 \override StaffSymbol.staff-space = #(magstep -3) \override StaffSymbol.thickness = #(magstep -3) firstClef = ##f } { e4 d f e } >> c4 b c2 } @end lilypond Dans le cas où de nombreux et courts fragments d'ossia affecteraient une même portée, il est judicieux de créer un contexte @code{Staff} vide auquel sera attribué un @emph{identifiant}. Il suffira alors, pour entamer un fragment d'ossia, de @qq{faire appel} à ce contexte grâce aux commandes @code{\startStaff} et @code{\stopStaff}. Vous vous rendrez compte à l'utilisation des avantages que procure cette façon de procéder, bien plus que dans l'exemple suivant. @lilypond[verbatim,quote,ragged-right] << \new Staff = ossia \with { \remove "Time_signature_engraver" \override Clef.transparent = ##t fontSize = #-3 \override StaffSymbol.staff-space = #(magstep -3) \override StaffSymbol.thickness = #(magstep -3) } { \stopStaff s1*6 } \new Staff \relative c' { c4 b c2 << { e4 f e2 } \context Staff = ossia { \startStaff e4 g8 f e2 \stopStaff } >> g4 a g2 \break c4 b c2 << { g4 a g2 } \context Staff = ossia { \startStaff g4 e8 f g2 \stopStaff } >> e4 d c2 } >> @end lilypond Vous pourriez aussi recourir à la commande @code{\Staff \RemoveEmptyStaves} pour créer votre portée d'ossia. Cependant, cette méthode reste limitée à l'apparition de ces ossias en début de ligne. Pour plus d'information au sujet de la commande @code{\Staff \RemoveEmptyStaves}, reportez-vous au chapitre @ref{Masquage de portées}. @lilypond[verbatim,quote,ragged-right] << \new Staff = ossia \with { \remove "Time_signature_engraver" \override Clef.transparent = ##t fontSize = #-3 \override StaffSymbol.staff-space = #(magstep -3) \override StaffSymbol.thickness = #(magstep -3) } \relative c'' { R1*3 c4 e8 d c2 } \new Staff \relative c' { c4 b c2 e4 f e2 g4 a g2 \break c4 b c2 g4 a g2 e4 d c2 } >> \layout { \context { \Staff \RemoveEmptyStaves \override VerticalAxisGroup.remove-first = ##t } } @end lilypond @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {vertically-aligning-ossias-and-lyrics.ly} @seealso Glossaire musicologique : @rglos{ossia}, @rglosnamed{staff,portée}, @rglos{Frenched staff}. Manuel d'initiation : @rlearning{Expressions musicales imbriquées}, @rlearning{Taille des objets}, @rlearning{Longueur et épaisseur des objets}. Manuel de notation : @ref{Masquage de portées}. Morceaux choisis : @rlsrnamed{Staff notation,Notation sur la portée}. Référence des propriétés internes : @rinternals{StaffSymbol}. @node Masquage de portées @unnumberedsubsubsec Masquage de portées @translationof Hiding staves @cindex Frenched scores @cindex masquage de portée @cindex portée vide @funindex \RemoveEmptyStaves @funindex Staff_symbol_engraver @funindex \stopStaff @funindex stopStaff Désactiver le graveur @code{Staff_symbol_engraver} dans un contexte @code{Staff} permet de masquer des lignes. La commande @code{\stopStaff} aura le même effet. @lilypond[verbatim,quote] \new Staff \with { \remove "Staff_symbol_engraver" } \relative c''' { a8 f e16 d c b a2 } @end lilypond L'instruction @code{\Staff \RemoveEmptyStaves} placée dans un bloc @code{\layout} aura pour effet de masquer toute portée qui ne contient rien. Dans les partitions d'orchestre, les portées qui n'ont que des silences sont habituellement masquées afin de gagner de la place. Ce style d'édition s'appelle en anglais @qq{French Score}. Cette fonctionnalité masque et supprime toutes les portées vides d'une partition, hormis celles du premier système. @warning{Une portée est considérée comme vide dès lors qu'elle ne contient que des silences multimesures, des silences visibles ou invisibles (ou d'espacement -- les @emph{@bs{}skip}) ou bien une combinaison de ces éléments.} @lilypond[verbatim,quote,ragged-right] \layout { \context { \Staff \RemoveEmptyStaves } } \relative c' << \new Staff { e4 f g a \break b1 \break a4 b c2 } \new Staff { c,4 d e f \break R1 \break f4 g c,2 } >> @end lilypond @cindex ossia @noindent @code{\Staff \RemoveEmptyStaves} permet aussi de gérer des fragments d'ossia attachés à une portée. Pour plus de détails, voir @ref{Portées d'ossia}. @cindex musique ancienne, masquage de portée @cindex portées rythmiques, masquage @funindex \RemoveEmptyStaves La commande @code{\VaticanaStaff \RemoveEmptyStaves} permet de masquer des portées vides dans les contextes de musique ancienne. Pour des contextes @code{RhythmicStaff}, il faudra utiliser @code{\RhythmicStaff \RemoveEmptyStaves}. @predefined @code{\Staff \RemoveEmptyStaves}, @code{\VaticanaStaff \RemoveEmptyStaves}, @code{\RhythmicStaff \RemoveEmptyStaves}. @endpredefined @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {removing-the-first-empty-line.ly} @seealso Glossaire musicologique : @rglos{Frenched staff}. Manuel d'initiation: @rlearning{Visibilité et couleur des objets}. Manuel de notation : @ref{Symbole de la portée}, @ref{Portées d'ossia}, @ref{Dictée à trous}, @ref{Silences invisibles}, @ref{Visibilité des objets}. Morceaux choisis : @rlsrnamed{Staff notation,Notation sur la portée}. Référence des propriétés internes : @rinternals{ChordNames}, @rinternals{FiguredBass}, @rinternals{Lyrics}, @rinternals{Staff}, @rinternals{VerticalAxisGroup}, @rinternals{Staff_symbol_engraver}. @knownissues Supprimer le @code{Staff_symbol_engraver} aura pour effet de masquer les barres de mesure. Forcer leur visibilité peut entraîner des problèmes de formatage. En pareil cas il vaut mieux, au lieu de supprimer le graveur, recourir aux dérogations suivantes : @example \override StaffSymbol.stencil = ##f \override NoteHead.no-ledgers = ##t @end example En ce qui concerne les désagréments et messages liés à l'utilisation de l'instruction @code{\Staff \RemoveEmptyStaves}, consultez @ref{Modification des réglages par défaut d'un contexte}. @node Écriture de parties séparées @subsection Écriture de parties séparées @translationof Writing parts Nous allons voir, au fil des lignes qui suivent, comment insérer des indications de tempo ou des noms d'instrument dans une partition. Nous aborderons aussi la citation d'autres voix, et comment la mettre en forme. @menu * Noms d'instrument:: * Citation d'autres voix:: * Mise en forme d'une citation:: @end menu @node Noms d'instrument @unnumberedsubsubsec Noms d'instrument @translationof Instrument names @cindex instrument, noms @cindex nom d'instrument @cindex instrument, noms abrégés Dans un conducteur, les noms d'instrument sont portés en regard de chacune des portées, qu'il s'agisse d'un contexte @code{Staff}, @code{PianoStaff}, @code{StaffGroup}, @code{GrandStaff} ou @code{ChoirStaff} . La première ligne affichera la valeur de @code{instrumentName}, et les suivantes celle de @code{shortInstrumentName}. @lilypond[verbatim,quote,ragged-right,relative=1] \new Staff \with { instrumentName = #"Violin " shortInstrumentName = #"Vln. " } { c4.. g'16 c4.. g'16 \break | c1 } @end lilypond Le recours à la commande @code{\markup} permet de construire des noms d'instrument particuliers, tels que @lilypond[verbatim,quote,relative=2] \new Staff \with { instrumentName = \markup { \column { "Clarinetti" \line { "in B" \smaller \flat } } } } { c4 c,16 d e f g2 } @end lilypond @cindex noms d'instrument, centrés Lorsque plusieurs contextes de portée sont regroupés, les noms d'instrument, que ce soit sous leur forme développée ou abrégée, sont par défaut centrés. Si l'un d'entre eux est libellé sur plusieurs lignes, il faudra recourir à l'instruction @code{\center-column} : @lilypond[verbatim,quote,indent=1.5\cm,relative=2] << \new Staff \with { instrumentName = #"Flute" } { f2 g4 f } \new Staff \with { instrumentName = \markup { \center-column { "Clarinet" } \line { "in B" \smaller \flat } } } { c4 b c2 } >> @end lilypond @funindex indent @funindex short-indent Lorsque le nom d'un instrument est relativement long, il est judicieux d'augmenter les retraits -- @emph{indent} -- au sein du bloc @code{\layout} à l'aide des commandes @code{indent} et @code{short-indent}. Pour plus de plus amples détails sur ces réglages, reportez-vous au chapitre @ref{Variables d'indentation et de décalage}. @lilypond[verbatim,quote,ragged-right] \relative c'' { << \new Staff \with { instrumentName = #"Alto Flute in G" shortInstrumentName = #"Flt." } { f2 g4 f \break g4 f g2 } \new Staff \with { instrumentName = #"Clarinet" shortInstrumentName = #"Clar." } { c,4 b c2 \break c2 b4 c } >> } \layout { indent = 3.0\cm short-indent = 1.5\cm } @end lilypond @cindex noms d'instrument, autres contextes Des noms d'instrument peuvent s'utiliser dans d'autres contextes, tels que @code{ChordNames} ou @code{FiguredBass}, dès lors qu'on leur adjoint le graveur @code{Instrument_name_engraver}. Pour de plus amples informations sur la manière d'activer ou désactiver un graveur, voir @ref{Modification des greffons de contexte}. @cindex instrument, changement de nom @cindex changement de nom d'instrument Vous pouvez changer le nom d'un instrument en cours de morceau. Notez cependant que la valeur de @code{instrumentName} ne s'affichera que sur la première portée : @lilypond[verbatim,quote,ragged-right,relative=1] \new Staff \with { instrumentName = #"Flute" shortInstrumentName = #"Flt." } { c1 c c c \break c1 c c c \break \set Staff.instrumentName = #"Clarinet" \set Staff.shortInstrumentName = #"Clt." c1 c c c \break c1 c c c \break } @end lilypond @cindex instrument, changement @cindex changement d'instrument @funindex \addInstrumentDefinition @funindex addInstrumentDefinition @funindex \instrumentSwitch @funindex instrumentSwitch Lorsqu'un musicien doit changer d'instrument -- piccolo et flûte, basson et contrebasson --, la commande @code{\addInstrumentDefinition}, couplée à l'instruction @code{\instrumentSwitch} permet de spécifier en détail les modifications intervenant lors du changement. La commande @code{\addInstrumentDefinition} prend deux arguments : une chaîne de caractères qui servira d'identifiant, et une liste d'association de valeurs aux propriétés de ce nouvel instrument. Ces définitions devront être déclarées avant tout autre élément musical. L'instruction @code{\instrumentSwitch} se placera dans la musique au moment de la substitution : @lilypond[verbatim,quote,ragged-right] \addInstrumentDefinition #"contrabassoon" #`((instrumentTransposition . ,(ly:make-pitch -1 0 0)) (shortInstrumentName . "Cbsn.") (clefGlyph . "clefs.F") (middleCPosition . 6) (clefPosition . 2) (instrumentCueName . ,(make-bold-markup "cbsn.")) (midiInstrument . "bassoon")) \new Staff \with { instrumentName = #"Bassoon" } \relative c' { \clef tenor \compressFullBarRests c2 g' R1*16 \instrumentSwitch "contrabassoon" c,,2 g \break c,1 ~ | c1 } @end lilypond @seealso Manuel de notation : @ref{Variables d'indentation et de décalage}, @ref{Modification des greffons de contexte}. Morceaux choisis : @rlsrnamed{Staff notation,Notation sur la portée}. Référence des propriétés internes : @rinternals{InstrumentName}, @rinternals{PianoStaff}, @rinternals{Staff}. @node Citation d'autres voix @unnumberedsubsubsec Citation d'autres voix @translationof Quoting other voices @cindex répliques @cindex citation @cindex petites notes @funindex \addQuote @funindex addQuote @funindex \quoteDuring @funindex quoteDuring @funindex \transposition @funindex transposition Il est assez courant qu'une voix soit doublée par une autre. Par exemple, les premiers et seconds violons peuvent jouer les mêmes notes durant un moment. LilyPond gère parfaitement ces situations où une voix est la @emph{réplique} d'une autre, sans devoir ressaisir la musique en question. L'instruction @code{\addQuote}, placée au niveau le plus haut -- c'est à dire en dehors de tout bloc de musique -- définit la musique dont il sera possible de répliquer des fragments. Au cours d'une partie, des extraits de répliques peuvent être cités en utilisant la commande @code{\quoteDuring}. Cette commande prend deux arguments : le nom de la voix reproduite, tel que défini par @code{\addQuote}, et une expression musicale qui indique la durée de cette citation. @lilypond[verbatim,quote] fluteNotes = \relative c'' { a4 gis g gis | b4^"quoted" r8 ais\p a4( f) } oboeNotes = \relative c'' { c4 cis c b \quoteDuring #"flute" { s1 } } \addQuote "flute" { \fluteNotes } \score { << \new Staff \with { instrumentName = "Flute" } \fluteNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> } @end lilypond Si l'expression musicale utilisée pour @code{\quoteDuring} contenait autre chose que du silence, il en résulterait une situation polyphonique, ce qui n'est pas le but recherché : @lilypond[verbatim,quote] fluteNotes = \relative c'' { a4 gis g gis | b4^"quoted" r8 ais\p a4( f) } oboeNotes = \relative c'' { c4 cis c b \quoteDuring #"flute" { e4 r8 ais b4 a } } \addQuote "flute" { \fluteNotes } \score { << \new Staff \with { instrumentName = "Flute" } \fluteNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> } @end lilypond L'instruction @code{\quoteDuring} prendra en compte les réglages d'une commande @code{\transposition}, qu'elle apparaisse au niveau de la voix répliquée ou dans celle qui réplique. @lilypond[verbatim,quote] clarinetNotes = \relative c'' { \transposition bes \key d \major b4 ais a ais | cis4^"quoted" r8 bis\p b4( f) } oboeNotes = \relative c'' { c4 cis c b \quoteDuring #"clarinet" { s1 } } \addQuote "clarinet" { \clarinetNotes } \score { << \new Staff \with { instrumentName = "Clarinet" } \clarinetNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> } @end lilypond @cindex note-event @cindex articulation-event @cindex dynamic-event @cindex rest-event @cindex slur-event @cindex crescendo-event @funindex quotedEventTypes @funindex quotedCueEventTypes LilyPond répliquera, par défaut, tous les éléments -- articulations, nuances, @emph{markups}, etc. La propriété @code{quotedEventTypes} permet de définir plus précisément quels éléments de la voix originelle seront reproduits. @lilypond[verbatim,quote] fluteNotes = \relative c'' { a2 g2 | b4\<^"quoted" r8 ais a4\f( c->) } oboeNotes = \relative c'' { c2. b4 | \quoteDuring #"flute" { s1 } } \addQuote "flute" { \fluteNotes } \score { << \set Score.quotedEventTypes = #'(note-event articulation-event crescendo-event rest-event slur-event dynamic-event) \new Staff \with { instrumentName = "Flute" } \fluteNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> } @end lilypond Les citations peuvent être @qq{balisées} par un nom particulier afin de les utiliser de différentes manières. Pour de plus amples détails à ce propos, consultez le chapitre @ref{Utilisation de balises}. @seealso Manuel de notation : @ref{Instruments transpositeurs}, @ref{Utilisation de balises}. Fichiers d'initialisation : @file{scm/define-event-classes.scm}. Morceaux choisis : @rlsrnamed{Staff notation, Notation sur la portée}. Référence des propriétés internes : @rinternals{Music classes}, @rinternals{QuoteMusic}, @rinternals{Voice}. @knownissues Seul le contenu de la première @code{Voice} rencontrée dans la partie marquée d'une commande @code{\addQuote} pourra être retenu. Par voie de conséquence, @code{@var{musique}} ne saurait comprendre de @code{\new} ou une instance @code{\context Voice} qui la ferait passer à une autre voix. Citer des notes d'ornement ne fonctionne pas, et peut même entraîner un blocage de LilyPond. Citer des triolets imbriqués peut entraîner un résultat de piètre qualité. @node Mise en forme d'une citation @unnumberedsubsubsec Mise en forme d'une citation @translationof Formatting cue notes @cindex petites notes, formater des @cindex répliques, formatage @cindex voix, citation @cindex voix, réplication @cindex CueVoice @funindex \cueDuring @funindex cueDuring @funindex \cueClef @funindex cueClef @funindex \cueDuringWithClef @funindex cueDuringWithClef @funindex \quoteDuring @funindex quoteDuring Le moyen le plus simple pour mettre en forme des notes provenant d'une autre voix consiste à déclarer explicitement un contexte @code{CueVoice} au sein de la voix où elle apparaît. @lilypond[verbatim,relative=1] R1 << { e2\rest r4. e8 } \new CueVoice { \stemUp d'8^"flute" c d e fis2 } >> d,4 r a r @end lilypond L'instruction @code{\cueClef}, utilisée conjointement à un contexte @code{CueVoice} explicite permet d'indiquer la clef, dans une taille réduite, propre à la voix citée. Le retour à la clef d'origine s'effectue à l'aide de l'instruction @code{\cueClefUnset}. @lilypond[verbatim,noragged-right,relative=1] \clef "bass" R1 << { e2\rest r4. \cueClefUnset e,8 } \new CueVoice { \cueClef "treble" \stemUp d''8^"flute" c d e fis2 } >> d,,4 r a r @end lilypond Notez que les deux instructions @code{\cueClef} et @code{\cueClefUnset} sont disponibles si nécessaire en dehors d'un @code{CueVoice}. @lilypond[verbatim,noragged-right,relative=1] \clef "bass" R1 \cueClef "treble" d'8^"flute" c d e fis2 \cueClefUnset d,,4 r a r @end lilypond Lorsque la situation est plus complexe, instrument transpositeur ou citations de plusieurs sources, vous disposez des instructions @code{\cueDuring} et @code{\cueDuringWithClef}, versions spécifiques de la commande @code{\quoteDuring} -- voir la rubrique précédente (@ref{Citation d'autres voix}). Leur syntaxe est : @example \cueDuring #@var{origine} #@var{position} #@var{musique} @end example et @example \cueDuringWithClef #@var{origine} #@var{position} #@var{clef} #@var{musique} @end example Des mesures issues de la partie d'@code{@var{origine}} seront recopiées dans un contexte de @code{CueVoice} et synchronisées avec @code{@var{musique}} -- habituellement un silence. L'apparition des petites notes initialise une polyphonie temporaire pour la portée concernée. L'argument @code{@var{position}} détermine si ces petites notes seront attachées à la première ou à la seconde voix -- @code{UP} pour la première, @code{DOWN} pour la seconde. @lilypond[verbatim,quote] fluteNotes = \relative c'' { r2. c4 | d8 c d e fis2 | g2 d | } oboeNotes = \relative c'' { R1 \new CueVoice { \set instrumentCueName = "flute" } \cueDuring #"flute" #UP { R1 } g2 c, } \addQuote "flute" { \fluteNotes } \new Staff { \oboeNotes } @end lilypond @noindent La propriété @code{quotedCueEventTypes} permet de définir précisément quels éléments de la voix originelle seront reproduits. Sa valeur par défaut est @code{'(note-event rest-event tie-event beam-event tuplet-span-event)}. LilyPond reproduira donc les notes, silences, liaisons de prolongation, ligatures et nolets, mais pas les articulations, annotations ni nuances. @warning{Dans l'exemple précédent, il était nécessaire de déclarer explicitement le contexte @code{Voice}, sinon l'intégralité de l'expression musicale se serait retrouvée dans le contexte @code{CueVoice}.} @lilypond[verbatim,quote] oboeNotes = \relative c'' { r2 r8 d16(\f f e g f a) g8 g16 g g2. } \addQuote "oboe" { \oboeNotes } \new Voice \relative c'' { \set Score.quotedCueEventTypes = #'(note-event rest-event tie-event beam-event tuplet-span-event dynamic-event slur-event) \cueDuring #"oboe" #UP { R1 } g2 c, } @end lilypond Le nom de l'instrument qui est répliqué sera imprimé dès lors qu'aura été définie la propriété @code{instrumentCueName} d'un contexte @code{CueVoice} temporaire. Le positionnement et le style adopté par @code{instrumentCueName} dépendent de l'objet @code{\instrumentSwitch} -- voir @ref{Noms d'instrument}. Par ailleurs, si la citation nécessite l'apparition d'une clef différente, celle-ci devra être introduite manuellement, tout comme l'originale qui devra être rappelée en fin de citation. @lilypond[verbatim,quote] fluteNotes = \relative c'' { r2. c4 d8 c d e fis2 g2 d2 } bassoonNotes = \relative c { \clef bass R1 \clef treble \new CueVoice { \set instrumentCueName = "flute" } \cueDuring #"flute" #UP { R1 } \clef bass g4. b8 d2 } \addQuote "flute" { \fluteNotes } \new Staff { \bassoonNotes } @end lilypond L'instruction @code{\cueDuringWithClef} se chargera quant à elle, et grâce à un argument supplémentaire, de gérer le changement de clef nécessaire à la citation et le retour à la clef originelle. @lilypond[verbatim,quote] fluteNotes = \relative c'' { r2. c4 d8 c d e fis2 g2 d2 } bassoonNotes = \relative c { \clef bass R1 \new CueVoice { \set instrumentCueName = "flute" } \cueDuringWithClef #"flute" #UP #"treble" { R1 } g4. b8 d2 } \addQuote "flute" { \fluteNotes } \new Staff { \bassoonNotes } @end lilypond @funindex \transposedCueDuring @funindex transposedCueDuring L'instruction @code{\cueDuring}, à l'instar de la commande @code{\quoteDuring}, tient compte des instruments transpositeurs. La citation s'effectue aux hauteurs correspondant à l'instrument où elles apparaissent. L'instruction @code{\transposedCueDuring} est particulièrement adaptée pour des instrument ayant une tessiture éloignée, comme dans le cas d'un piccolo cité dans une partie de clarinette basse. Sa syntaxe est identique à celle de @code{\cueDuring}, à ceci près qu'elle nécessite un argument supplémentaire afin de spécifier la transposition à effectuer en hauteur absolue. @lilypond[verbatim,quote] piccoloNotes = \relative c''' { \clef "treble^8" R1 c8 c c e g2 c4 g g2 } bassClarinetNotes = \relative c' { \key d \major \transposition bes, d4 r a r \transposedCueDuring #"piccolo" #UP d { R1 } d4 r a r } \addQuote "piccolo" { \piccoloNotes } << \new Staff \piccoloNotes \new Staff \bassClarinetNotes >> @end lilypond @cindex citation, fin @cindex fin de citation @cindex réplique, fin @cindex fin de réplique @funindex \killCues @funindex killCues @funindex \addInstrumentDefinition @funindex addInstrumentDefinition La commande @code{killCues} permet de supprimer les notes d'une citation. Ceci est utile lorsque cette citation n'est pas imprimée dans le conducteur entre autres. @code{killCues} supprimera les notes et autres événements pris en charge par @code{\cueDuring}. Pour les autres annotations telles que changement de clef ou instrument concerné, faites appel à des balises -- voir @ref{Utilisation de balises} à ce sujet. @lilypond[verbatim,quote] fluteNotes = \relative c'' { r2. c4 d8 c d e fis2 g2 d2 } bassoonNotes = \relative c { \clef bass R1 \tag #'part { \clef treble \new CueVoice { \set instrumentCueName = "flute" } } \cueDuring #"flute" #UP { R1 } \tag #'part \clef bass g4. b8 d2 } \addQuote "flute" { \fluteNotes } \new Staff { \bassoonNotes } \new StaffGroup << \new Staff { \fluteNotes } \new Staff { \removeWithTag #'part { \killCues { \bassoonNotes } } } >> @end lilypond Lorsque la citation comporte une étiquette indiquant l'instrument qui joue et un changement de clef, ces éléments peuvent se regrouper à l'aide de la commande @code{\addInstrumentDefinition}. Pour plus d'information, reportez-vous au chapitre @ref{Noms d'instrument}. @seealso Manuel de notation : @ref{Citation d'autres voix}, @ref{Instruments transpositeurs}, @ref{Noms d'instrument}, @ref{Clefs}, @ref{Citation-repère}, @ref{Utilisation de balises}. Morceaux choisis : @rlsrnamed{Staff notation, Notation sur la portée}. Référence des propriétés internes : @rinternals{CueVoice}, @rinternals{Voice}. @knownissues La commande @code{\cueDuring} ne sait pas gérer les collisions de silence entre les contextes @code{Voice} et @code{CueVoice}. Dans le cadre d'un @code{\cueDuringWithClef} ou d'un @code{\transposedCueDuring}, l'argument supplémentaire doit intervenir après l'origine et la position.