@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore Translation of GIT committish: 6e0a8179dc7b4602321dcafb519da7eac8f5ee0f 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.13.36" @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 @lilypondfile[quote]{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 rhytmique @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}@tie{}: @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 correpondant 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@tie{}: @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{Les contextes de la 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 regoupement, 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@tie{}: 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 indentique 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,lilyquote,texidoc,doctitle] {use-square-bracket-at-the-start-of-a-staff-group.ly} @lilypondfile[verbatim,lilyquote,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,lilyquote,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}. @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,lilyquote,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@tie{}; vous povez, 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@tie{}; 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 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. Néanmoins, 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}. @lilypond[verbatim,quote,relative=2] \new Staff \with { \override StaffSymbol #'line-count = #3 } { d4 d d d } @end lilypond Lorsque vous modifierez l'épaisseur des lignes, gardez à l'esprit que les lignes supplémentaires et les hampes seront aussi modifiées. En effet, elles dépendent directement de l'épaisseur des lignes de la portée. @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=1] \new Staff \with { \override StaffSymbol #'ledger-line-thickness = #'(1 . 0.2) } { e4 d c b } @end lilypond Modifier l'équidistance des lignes de la portée affectera aussi les lignes supplémentaires. @lilypond[verbatim,quote,relative=1] \new Staff \with { \override StaffSymbol #'staff-space = #1.5 } { a4 b c d } @end lilypond Vous trouverez de plus amples détails sur les propriétés du @code{StaffSymbol} au chapitre @rinternals{staff-symbol-interface}. @cindex fin de portée @cindex début de portée @cindex portée, début @cindex portée, fin @funindex \startStaff @funindex startStaff @funindex \stopStaff @funindex stopStaff Les propriétés d'une portée peuvent être modifiées en cours de partition à l'aide des commandes @code{\stopStaff} et @code{\startStaff}@tie{}: @lilypond[verbatim,quote,relative=2] c2 c \stopStaff \override Staff.StaffSymbol #'line-count = #2 \startStaff b2 b \stopStaff \revert Staff.StaffSymbol #'line-count \startStaff a2 a @end lilypond @noindent En règle générale, @code{\startStaff} et @code{\stopStaff} permettent d'entamer puis clôturer une portée n'importe où dans une partition. @lilypond[verbatim,quote,relative=2] c4 b a2 \stopStaff b4 c d2 \startStaff e4 d c2 @end lilypond @predefined @code{\startStaff}, @code{\stopStaff}. @endpredefined @snippets @lilypondfile[verbatim,lilyquote,texidoc,doctitle] {making-some-staff-lines-thicker-than-the-others.ly} @seealso Glossaire musicologique : @rglosnamed{line,ligne}, @rglosnamed{ledger line,ligne suplé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@tie{}: @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 obternir 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{identificateur}. Il suffira alors, pour entamer un fragment d'ossia, de @emph{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,lilyquote,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{\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,lilyquote,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 formattage. En pareil cas il vaut mieux, au lieu de supprimer le graveur, recourrir aux dérogations suivantes@tie{}: @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} ou d'un @code{PianoStaff}. La première ligne affichera la valeur de @code{instrumentName}, et les suivantes celle de @code{shortInstrumentName}. @lilypond[verbatim,quote,ragged-right,relative=1] \set Staff.instrumentName = #"Violin " \set Staff.shortInstrumentName = #"Vln " c4.. g'16 c4.. g'16 \break c1 @end lilypond Le recours à la commande @code{\markup} permet de construire des noms d'instruments particuliers, tels que @lilypond[verbatim,quote,relative=2] \set Staff.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 recourrir à l'instruction @code{\center-column}@tie{}: @lilypond[verbatim,quote,indent=1.5\cm,relative=2] << \new Staff { \set Staff.instrumentName = #"Flute" f2 g4 f } \new Staff { \set Staff.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{Dimensionnement horizontal}. @lilypond[verbatim,quote,ragged-right] \layout { indent = 3.0\cm short-indent = 1.5\cm } \relative c'' << \new Staff { \set Staff.instrumentName = #"Alto Flute in G" \set Staff.shortInstrumentName = #"Fl." f2 g4 f \break g4 f g2 } \new Staff { \set Staff.instrumentName = #"Clarinet" \set Staff.shortInstrumentName = #"Clar." c,4 b c2 \break c2 b4 c } >> @end lilypond @cindex noms d'instrument, autres contextes Des noms d'instruments peuvent s'utiliser dans d'autres contextes, tels que @code{GrandStaff}, @code{ChoirStaff}, ou @code{StaffGroup}, 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@tie{}: @lilypond[verbatim,quote,ragged-right,relative=1] \set Staff.instrumentName = #"First" \set Staff.shortInstrumentName = #"one" c1 c c c \break c1 c c c \break \set Staff.instrumentName = #"Second" \set Staff.shortInstrumentName = #"two" 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 doît 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@tie{}: une chaîne de caractères qui servira d'identificateur, et une liste d'associations 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 subtitution@tie{}: @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{Dimensionnement horizontal}, @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 réplique d'une autre, et vous évite de ressaisir la musique en question. Avant qu'une partie ne puisse être mentionnée ailleurs, elle doit être considérée comme reproductible. C'est le but de l'instruction @code{\addQuote} qui prend en argument une chaîne d'identification et une expression musicale. Elle se place au niveau le plus haut, c'est à dire en dehors de tout bloc de musique@tie{}: @example flute = \relative c'' @{ a4 gis g gis @} \addQuote "flute" @{ \flute @} @end example 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@tie{}: 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 -- silences invisibles ou multimesures. Viendra alors s'insérer dans l'expression musicale le fragment correspondant de la voix originelle, avec tous ses attributs (articulations, nuances, annotations, etc.). @lilypond[verbatim,quote] flute = \relative c'' { a4 gis g->\f gis^\markup{quoted} } \addQuote "flute" { \flute } \relative c' { c4 cis \quoteDuring #"flute" { s2 } } @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é@tie{}: @lilypond[verbatim,quote] flute = \relative c'' { a4 gis g gis } \addQuote "flute" { \flute } \relative c' { c4 cis \quoteDuring #"flute" { c4 b } } @end lilypond Les citations tiennent compte des transpositions, aussi bien celle de l'instrument d'origine que celle de la partie où elle intervient, dans la mesure où elles sont spécifiées par la commande @code{\transposition}. Voir @ref{Instruments transpositeurs} pour plus de détails. @lilypond[verbatim,quote] clarinet = \relative c'' { \transposition bes a4 gis g gis } \addQuote "clarinet" { \clarinet } \relative c' { c4 cis \quoteDuring #"clarinet" { s2 } } @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}. La propriété @code{quotedEventTypes} permet de définir précisément quels éléments de la voix originelle seront reproduits. Sa valeur par défaut est @code{#'(StreamEvent)}@tie{}; autrement dit, tout sera recopié. Lui affecter la valeur @code{#'(note-event@tie{}rest-event@tie{}tie-event)} fera que LilyPond reproduira les notes, silences et liaisons de prolongation, mais pas les articulations, annotations ni nuances. @lilypond[verbatim,quote] clarinet = \relative c'' { a4 gis g->\f gis^\markup{quoted} } \addQuote "clarinet" { \clarinet } \relative c' { \set Score.quotedEventTypes = #'(note-event rest-event tie-event) c4 cis \quoteDuring #"clarinet" { s2 } } @end lilypond @snippets @lilypondfile[verbatim,lilyquote,texidoc,doctitle] {quoting-another-voice-with-transposition.ly} @cindex note-event @cindex articulation-event @cindex dynamic-event @cindex rest-event @funindex quotedEventTypes @funindex quotedCueEventTypes @lilypondfile[verbatim,lilyquote,texidoc,doctitle] {quoting-another-voice.ly} @seealso Manuel de notation : @ref{Instruments transpositeurs}, @ref{Utilisation de balises}. Morceaux choisis : @rlsrnamed{Staff notation,Notation sur la portée}. Référence des propriétés internes : @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@tie{}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é. Dans les versions précédentes de LilyPond (avant 2.11), @code{addQuote} était écrit entièrement en minuscules@tie{}: @code{\addquote}. @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 @funindex \cueDuring @funindex cueDuring @funindex \quoteDuring @funindex quoteDuring La section précédente indiquait comment insérer des notes d'une autre voix. Nous allons maintenant voir une fonction musicale avancée, @code{\cueDuring}, qui facilite le formatage des petites notes. Sa syntaxe est@tie{}: @example \cueDuring #@var{origine} #@var{voix} @var{musique} @end example Des mesures issues de la partie d'@code{@var{origine}} seront recopiées dans un contexte de @code{CueVoice}, créé implicitement, 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{voix}} détermine si ces petites notes seront attachées à la première ou à la seconde voix -- @code{UP} pour la première ou @code{DOWN} pour la seconde. @lilypond[verbatim,quote] oboe = \relative c'' { r2 r8 d16 f e g f a g8 g16 g g2. } \addQuote "oboe" { \oboe } \new Voice \relative c'' { \cueDuring #"oboe" #UP { R1 } g2 c, } @end lilypond @noindent Dans cet exemple, 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}. 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 @w{@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. @lilypond[verbatim,quote] oboe = \relative c'' { r2 r8 d16(\f f e g f a) g8 g16 g g2. } \addQuote "oboe" { \oboe } \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é à l'aide d'une annotation (un @emph{markup}). Par ailleurs, si la citation nécessite l'apparition d'une clef différente, l'originale devrait être rappelée en fin de citation. @lilypond[verbatim,quote] flute = \relative c'' { r2. c4 d8 c d e fis2 g2 d2 } bassoon = \relative c { \clef bass R1 \clef treble s1*0^\markup { \tiny "flute" } \cueDuring #"flute" #UP { R1 } \clef bass g4. b8 d2 } \addQuote "flute" { \flute } \new Staff { \bassoon } @end lilypond @cindex citation, fin @cindex fin de citation @cindex réplique, fin @cindex fin de réplique @funindex \killCues @funindex killCues 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] flute = \relative c'' { r2. c4 d8 c d e fis2 g2 d2 } bassoon = \relative c { \clef bass R1 \tag #'part { \clef treble s1*0^\markup { \tiny "flute" } } \cueDuring #"flute" #UP { R1 } \tag #'part \clef bass g4. b8 d2 } \addQuote "flute" { \flute } \new Staff { \bassoon } \new StaffGroup << \new Staff { \flute } \new Staff { \removeWithTag #'part { \killCues { \bassoon } } } >> @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}. @funindex \transposedCueDuring @funindex transposedCueDuring 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. Pour de plus amples informations sur la transposition, reportez-vous au chapitre @ref{Instruments transpositeurs}. @lilypond[verbatim,quote] piccolo = \relative c''' { \clef "treble^8" R1 c8 c c e g2 c4 g g2 } bassClarinet = \relative c' { \key d \major \transposition bes, d4 r a r \transposedCueDuring #"piccolo" #UP d { R1 } d4 r a r } \addQuote "piccolo" { \piccolo } << \new Staff \piccolo \new Staff \bassClarinet >> @end lilypond @cindex notes, petites @cindex petites notes Un contexte @code{CueVoice} créé explicitement permet d'afficher des notes dans une taille plus petite dans le but, par exemple, d'indiquer des notes alternatives pour une voix un peu plus haute ou basse. @lilypond[verbatim,quote,relative=2] \time 12/8 \key ees \major g4 ees8 f4 g8 \stemDown << { d4. bes4 c8 } \new CueVoice { g'4. f4 ees8 } >> \stemUp d2. d2. @end lilypond @seealso Manuel de notation : @ref{Instruments transpositeurs}, @ref{Noms d'instrument}, @ref{Musical cues}, @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}.