GNU LilyPond – Manuel de notation: 1.6.3 Écriture de parties séparées

### 1.6.3 Écriture de parties séparées

Nous allons voir, au fil des lignes qui suivent, comment préparer un « matériel » pour orchestre ou ensemble musical, ce qui requiert souvent d’insérer des noms d’instrument dans une partition. Nous aborderons aussi la citation d’autres voix, et comment la mettre en forme, ainsi que le moyen de contracter une succession de mesures vides dans une partition de pupitre.

Par ailleurs, une méthode pour gérer la division d’un pupitre est abordée à la rubrique Masquage de portées.

#### Noms d’instrument

Dans un conducteur, les noms d’instrument sont portés en regard de chacune des portées, qu’il s’agisse d’un contexte `Staff`, `PianoStaff`, `StaffGroup`, `GrandStaff` ou `ChoirStaff` . La première ligne affichera la valeur de `instrumentName`, et les suivantes celle de `shortInstrumentName`.

>     \new Staff \with {
>       instrumentName = "Violin "
>       shortInstrumentName = "Vln. "
>     } \relative {
>       c'4.. g'16 c4.. g'16 \break | c1 |
>     }

Le recours à la commande `\markup` permet de construire des noms d’instrument particuliers, tels que

>     \new Staff \with {
>       instrumentName = \markup {
>         \column { "Clarinetti"
>           \line { "in B" \smaller \flat }
>         }
>       }
>     } \relative {
>       c''4 c,16 d e f g2
>     }

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 `\center-column` :

>     <<
>       \new Staff \with {
>         instrumentName = "Flute"
>       }
>       { f2 g4 f }
>       \new Staff \with {
>         instrumentName = \markup {
>           \center-column { "Clarinet"
>           \line { "in B" \smaller \flat }
>           }
>         }
>       }
>       { c4 b c2 }
>     >>

Lorsque le nom d’un instrument est relativement long, il est judicieux d’augmenter les retraits – indent – au sein du bloc `\layout` à l’aide des commandes `indent` et `short-indent`. Pour plus de plus amples détails sur ces réglages, reportez-vous au chapitre Variables d’indentation et de décalage.

>     <<
>       \new Staff \with {
>         instrumentName = "Alto Flute in G"
>         shortInstrumentName = "Flt."
>       } \relative {
>         f''2 g4 f \break
>         g4 f g2
>       }
>       \new Staff \with {
>         instrumentName = "Clarinet"
>         shortInstrumentName = "Clar."
>       } \relative {
>         c''4 b c2 \break
>         c2 b4 c
>       }
>     >>

>     \layout {
>       indent = 3.0\cm
>       short-indent = 1.5\cm
>     }

Des noms d’instrument peuvent s’utiliser dans d’autres contextes, tels que `ChordNames` ou `FiguredBass`, dès lors qu’on leur adjoint le graveur `Instrument_name_engraver`. Pour de plus amples informations sur la manière d’activer ou désactiver un graveur, voir Modification des greffons de contexte.

Le nom abrégé d’un instrument (`shortInstrumentName`) peut changer en cours de morceau, en même temps que les autres réglages propres au nouvel instrument. Notez cependant que la valeur de `instrumentName` ne s’affichera que sur la première portée :

>     prepPiccolo = <>^\markup \italic { muta in Piccolo }

>     prepFlute = <>^\markup \italic { muta in Flauto }

>     setPiccolo = {
>       <>^\markup \bold { Piccolo }
>       \transposition c''
>     }

>     setFlute = {
>       <>^\markup \bold { Flute }
>       \transposition c'
>     }

>     \new Staff \with {
>       instrumentName = "Flute"
>       shortInstrumentName = "Flt."
>     }
>     \relative {
>       g'1 g g g \break
>       g1 g \prepPiccolo R R \break
>       \set Staff.instrumentName = "Piccolo"
>       \set Staff.shortInstrumentName = "Picc."
>       \setPiccolo
>       g1 g g g \break
>       g1 g \prepFlute R R \break
>       \set Staff.instrumentName = "Flute"
>       \set Staff.shortInstrumentName = "Flt."
>       \setFlute
>       g1 g g g
>     }

#### Voir aussi

Manuel de notation : Modification des greffons de contexte, Variables d’indentation et de décalage.

Morceaux choisis : Notation sur la portée.

Référence des propriétés internes : InstrumentName, PianoStaff, Staff.

#### Citation d’autres voix

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, sans devoir ressaisir la musique en question.

L’instruction `\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 `\quoteDuring`. Cette commande prend deux arguments : le nom de la voix reproduite, tel que défini par `\addQuote`, et une expression musicale qui indique la durée de cette citation.

>     fluteNotes = \relative {
>       a'4 gis g gis | b4^"quoted" r8 ais\p a4( f)
>     }

>     oboeNotes = \relative {
>       c''4 cis c b \quoteDuring "flute" { s1 }
>     }

>     \addQuote "flute" { \fluteNotes }

>     \score {
>       <<
>         \new Staff \with { instrumentName = "Flute" } \fluteNotes
>         \new Staff \with { instrumentName = "Oboe" } \oboeNotes
>       >>
>     }

Si l’expression musicale utilisée pour `\quoteDuring` contenait autre chose que du silence, il en résulterait une situation polyphonique, ce qui n’est pas le but recherché :

>     fluteNotes = \relative {
>       a'4 gis g gis | b4^"quoted" r8 ais\p a4( f)
>      }

>     oboeNotes = \relative {
>       c''4 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
>       >>
>     }

Lorsqu’une commande `\unfoldRepeats` est requise dans une expression musicale de telle sorte que la musique soit réimprimée par `\quoteDuring`, l’instruction `\addQuote` doit elle-mêeme contenir la commande `\unfoldRepeats` :

>     fluteNotes = \relative {
>       \repeat volta 2 { a'4 gis g gis }
>     }

>     oboeNotesDW = \relative {
>       \repeat volta 2 \quoteDuring "incorrect" { s1 }
>     }

>     oboeNotesW = \relative {
>       \repeat volta 2 \quoteDuring "correct" { s1 }
>     }

>     \addQuote "incorrect" { \fluteNotes }

>     \addQuote "correct" { \unfoldRepeats \fluteNotes }

>     \score {
>       \unfoldRepeats
>       <<
>         \new Staff \with { instrumentName = "Flute" }
>         \fluteNotes
>         \new Staff \with { instrumentName = "Oboe (incorrect)" }
>         \oboeNotesDW
>         \new Staff \with { instrumentName = "Oboe (correct)" }
>         \oboeNotesW
>       >>
>     }

L’instruction `\quoteDuring` prendra en compte les réglages d’une commande `\transposition`, qu’elle apparaisse au niveau de la voix répliquée ou dans celle qui réplique.

>     clarinetNotes = \relative c'' {
>       \transposition bes
>       \key d \major
>       b4 ais a ais | cis4^"quoted" r8 bis\p b4( f)
>     }

>     oboeNotes = \relative {
>       c''4 cis c b \quoteDuring "clarinet" { s1 }
>      }
>     \addQuote "clarinet" { \clarinetNotes }

>     \score {
>       <<
>         \new Staff \with { instrumentName = "Clarinet" } \clarinetNotes
>         \new Staff \with { instrumentName = "Oboe" } \oboeNotes
>       >>
>     }

LilyPond répliquera, par défaut, tous les éléments – articulations, nuances, markups, etc. La propriété `quotedEventTypes` permet de définir plus précisément quels éléments de la voix originelle seront reproduits.

>     fluteNotes = \relative {
>       a'2 g2 |
>       b4\<^"quoted" r8 ais a4\f( c->)
>      }

>     oboeNotes = \relative {
>       c''2. 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
>       >>
>      }

Les citations peuvent être « 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 Utilisation de balises.

#### Voir aussi

Manuel de notation : Instruments transpositeurs, Utilisation de balises.

Fichiers d’initialisation : ‘`scm/define-event-classes.scm`’.

Morceaux choisis : Notation sur la portée.

Référence des propriétés internes : Music classes, QuoteMusic, Voice.

#### Problèmes connus et avertissements

Seul le contenu de la première `Voice` rencontrée dans la partie marquée d’une commande `\addQuote` pourra être retenu. Par voie de conséquence, `musique` ne saurait comprendre de `\new` ou une instance `\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é.

#### Mise en forme d’une citation

Le moyen le plus simple pour mettre en forme des notes provenant d’une autre voix consiste à déclarer explicitement un contexte `CueVoice` au sein de la voix où elle apparaît.

    \relative {
      R1
      <<
        { e'2\rest r4. e8 }
        \new CueVoice {
          \stemUp d'8^"flute" c d e fis2
        }
      >>
      d,4 r a r
    }

L’instruction `\cueClef`, utilisée conjointement à un contexte `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 `\cueClefUnset`.

    \relative {
      \clef "bass"
      R1
      <<
        { e'2\rest r4. \cueClefUnset e,8 }
        \new CueVoice {
          \cueClef "treble" \stemUp d''8^"flute" c d e fis2
        }
      >>
      d,,4 r a r
    }

Notez que les deux instructions `\cueClef` et `\cueClefUnset` sont disponibles si nécessaire en dehors d’un `CueVoice`.

    \relative {
      \clef "bass"
      R1
      \cueClef "treble"
      d''8^"flute" c d e fis2
      \cueClefUnset
      d,,4 r a r
    }

Lorsque la situation est plus complexe, instrument transpositeur ou citations de plusieurs sources, vous disposez des instructions `\cueDuring` et `\cueDuringWithClef`, versions spécifiques de la commande `\quoteDuring` – voir la rubrique précédente (Citation d’autres voix).

Leur syntaxe est :

>     \cueDuring origine #position musique

et

>     \cueDuringWithClef origine #position #clef musique

Des mesures issues de la partie d’`origine` seront recopiées dans un contexte de `CueVoice` et synchronisées avec `musique` – habituellement un silence. L’apparition des petites notes initialise une polyphonie temporaire pour la portée concernée. L’argument `position` détermine si ces petites notes seront attachées à la première ou à la seconde voix – `UP` pour la première, `DOWN` pour la seconde.

>     fluteNotes = \relative {
>       r2. c''4 | d8 c d e fis2 | g2 d |
>     }

>     oboeNotes = \relative c'' {
>       R1
>       <>^\markup \tiny { flute }
>       \cueDuring "flute" #UP { R1 }
>       g2 c,
>     }

>     \addQuote "flute" { \fluteNotes }

>     \new Staff {
>       \oboeNotes
>     }

La propriété `quotedCueEventTypes` permet de définir précisément quels éléments de la voix originelle seront reproduits. Sa valeur par défaut est `'(note-event rest-event tie-event beam-event tuplet-span-event)`. LilyPond reproduira donc les notes, silences, liaisons de prolongation, ligatures et n-olets, mais pas les articulations, annotations ni nuances.

Note : Dans l’exemple précédent, il était nécessaire de déclarer explicitement le contexte `Voice`, sinon l’intégralité de l’expression musicale se serait retrouvée dans le contexte `CueVoice`.

>     oboeNotes = \relative {
>       r2 r8 d''16(\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,
>     }

Le nom de l’instrument qui est répliqué peut s’indiquer à l’aide d’un markup. 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.

>     fluteNotes = \relative {
>       r2. c''4 d8 c d e fis2 g2 d2
>     }

>     bassoonNotes = \relative c {
>       \clef bass
>       R1
>       \clef treble
>       <>^\markup \tiny { flute }
>       \cueDuring "flute" #UP { R1 }
>       \clef bass
>       g4. b8 d2
>     }

>     \addQuote "flute" { \fluteNotes }

>     \new Staff {
>       \bassoonNotes
>     }

L’instruction `\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.

>     fluteNotes = \relative {
>       r2. c''4 d8 c d e fis2 g2 d2
>     }

>     bassoonNotes = \relative c {
>       \clef bass
>       R1
>       <>^\markup { \tiny "flute" }
>       \cueDuringWithClef "flute" #UP "treble" { R1 }
>       g4. b8 d2
>     }

>     \addQuote "flute" { \fluteNotes }

>     \new Staff {
>       \bassoonNotes
>     }

L’instruction `\cueDuring`, à l’instar de la commande `\quoteDuring`, tient compte des instruments transpositeurs. La citation s’effectue aux hauteurs correspondant à l’instrument où elles apparaissent.

L’instruction `\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 `\cueDuring`, à ceci près qu’elle nécessite un argument supplémentaire afin de spécifier la transposition à effectuer en hauteur absolue.

>     piccoloNotes = \relative {
>       \clef "treble^8"
>       R1
>       c'''8 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
>     >>

La commande `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. `killCues` supprimera les notes et autres événements pris en charge par `\cueDuring`. Pour les autres annotations telles que changement de clef ou instrument concerné, faites appel à des balises – voir Utilisation de balises à ce sujet.

>     fluteNotes = \relative {
>       r2. c''4 d8 c d e fis2 g2 d2
>     }

>     bassoonNotes = \relative c {
>       \clef bass
>       R1
>       \tag #'part {
>         \clef treble
>         <>^\markup \tiny { 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 } }
>       }
>     >>

#### Voir aussi

Manuel de notation : Citation d’autres voix, Citation-repère, Clefs, Instruments transpositeurs, Noms d’instrument, Utilisation de balises.

Morceaux choisis : Notation sur la portée.

Référence des propriétés internes : CueVoice, Voice.

#### Problèmes connus et avertissements

La commande `\cueDuring` ne sait pas gérer les collisions de silence entre les contextes `Voice` et `CueVoice`.

Dans le cadre d’un `\cueDuringWithClef` ou d’un `\transposedCueDuring`, l’argument supplémentaire doit intervenir après l’origine et la position.

#### Compression de mesures vides

Toutes les mesures sont par défaut imprimées, même si elles sont vides ; ceci peut se produire dans le cas où un événement rythmique (note, silence ou saut) dure au point de s’étaler sur plusieurs mesures. Ce comportement peut se modifier de sorte que les mesures vides sont compressées en une seule mesure comme ici (la deuxième partie de cet exemple, où les mesures sont expansées, retrouve en fait le comportement par défaut) :

>     \override Score.BarNumber.break-visibility = ##(#f #t #t)
>     \time 2/4
>     \compressEmptyMeasures
>     c'1 d'1. e'\breve
>     \bar "||"
>     \expandEmptyMeasures
>     c'1 d'1. e'\breve

Bien que la syntaxe de cette notation soit correcte, elle peut être déroutante d’un point de vue musical, ce qu’illustre l’exemple ci-dessus. C’est pourquoi l’impression des numéros de mesure devient nécessaire, en suivant la syntaxe indiquée dans Utilisation de `break-visibility`.

Une telle notation peut toutefois s’avérer utile lorsqu’elle s’applique à des silences valant une mesure. Un silence de plusieurs mesures sera alors affiché sous la forme d’une seule mesure contenant un symbole de silence multimesure surplombé du nombre de mesures de silence :

>     % Comportement par défaut
>     \time 3/4 r2. | R2.*2 |
>     \time 2/4 R2 |
>     \time 4/4
>     % Mesures de silence comprimées en une seule mesure
>     \compressEmptyMeasures
>     r1 | R1*17 | R1*4 |
>     \expandEmptyMeasures
>     % Mesures de silence à nouveau expansées
>     \time 3/4
>     R2.*2 |

Contrairement à `\compressEmptyMeasures`, la fonction musicale `\compressMMRests` s’applique exclusivement aux silences tout en laissant les autres événements expansés. En sa qualité de fonction, et non de réglage de propriété, sa syntaxe diffère quelque peu, en ceci qu’elle doit être suivie d’une expression musicale :

>     \compressMMRests {
>       % Les silences sont comprimés...
>       R1*7
>       % ... mais les notes peuvent s'étaler sur plusieurs mesures.
>       g'1 a'1*2 d'1
>       R1*2
>     }

Toutes les commandes décrites dans ces paragraphes reposent en fait sur la propriété interne `skipBars`, qui se définit au sein du contexte `Score` comme indiqué dans La commande de fixation `\set`.

#### Commandes prédéfinies

`\compressEmptyMeasures`, `\expandEmptyMeasures`, `\compressMMRests`.

#### Morceaux choisis

#### Dénombrer une unique mesure de silence

Les silences multimesures affichent leur longueur sauf s’il n’y a qu’une seule mesure. Ceci peut se modifier en réglant `restNumberThreshold`.

>     {
>       \compressEmptyMeasures
>       R1 R1*10 R1*11 \bar "||"
>       \set restNumberThreshold = 0
>       R1 R1*10 R1*11 \bar "||"
>       \set restNumberThreshold = 10
>       R1 R1*10 R1*11
>     }

#### Modifier l’apparence d’un silence multimesure

Dans le cas où ce silence dure moins de dix mesures, LilyPond imprime sur la portée des « silences d’église » – Kirchenpause en allemand – et qui sont une simple suite de rectangles. La propriété `expand-limit` permet d’obtenir un silence unique :

>     \relative c'' {
>       \compressMMRests {
>         R1*2 | R1*5 | R1*9
>         \override MultiMeasureRest.expand-limit = #3
>         R1*2 | R1*5 | R1*9
>       }
>     }

#### Voir aussi

Manuel de notation : La commande de fixation `\set`, Silences valant une mesure, Utilisation de `break-visibility`.

Référence des propriétés internes : MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText.

#### LilyPond — Manuel de notation v2.24.4 (branche stable).