[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.4 Extension des modèles

@translationof Extending the templates

Bon, vous avez lu le tutoriel, vous savez écrire de la musique. Mais comment obtenir les portées que vous voulez ? Les Modèles, c’est bien beau, mais que faire quand ils ne traitent pas ce que l’on veut précisément ?

Les exemples qui suivent vous donneront des méthodes générales pour adapter des modèles.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.4.1 Soprano et violoncelle

@translationof Soprano and cello

Commencez par le modèle qui vous semblera le plus proche de ce à quoi vous voulez aboutir. Disons par exemple que vous voulez écrire une pièce pour soprano et violoncelle : dans ce cas, on pourrait commencer par les « notes et paroles », pour la partie de soprano.

 
\version "2.21.3"

melodie = \relative {
  \clef "treble"
  \key c \major
  \time 4/4
  a4 b c d
}

texte = \lyricmode {
  Aaa Bee Cee Dee
}

\score{
  <<
    \new Voice = "un" {
      \autoBeamOff
      \melodie
    }
    \new Lyrics \lyricsto "un" \texte
  >>
  \layout { }
  \midi { }
}

Maintenant, on veut ajouter une partie de violoncelle. Jetons un coup d’œil sur l’exemple avec les notes seules :

 
\version "2.21.3"

melodie = \relative {
  \clef "treble"
  \key c \major
  \time 4/4
  a4 b c d
}

\score {
  \new Staff \melodie
  \layout { }
  \midi { }
}

On n’a pas besoin de deux commandes \version. Ce dont on a besoin, c’est de la section melodie. De même, on n’a pas besoin de deux sections \score – si nous les gardions toutes les deux, on obtiendrait deux parties séparées ; mais nous voulons un vrai duo, avec les deux parties ensemble. Dans la section \score, on n’a pas besoin non plus de deux \layout ni de deux \midi.

Si on se contente de couper et coller les sections melodie, on se retrouvera avec deux sections de ce nom ; il nous faut donc les renommer. Appelons la section pour la soprano sopranoMusique et celle pour le violoncelle violoncelleMusique. Tant qu’on y est, renommons texte en sopranoParoles. Attention à bien renommer les deux occurrences de chacune de ces dénominations : c’est-à-dire la définition de départ, où l’on trouve melodie = \relative { , et l’endroit où cette dénomination est utilisée, dans la section \score.

Et puis, toujours tant qu’on y est, mettons le violoncelle en clé de fa, comme le veut l’usage, et donnons-lui d’autres notes.

 
\version "2.21.3"

sopranoMusique = \relative {
  \clef "treble"
  \key c \major
  \time 4/4
  a4 b c d
}

sopranoParoles = \lyricmode {
  Laaa Siii Dooo Rééé
}

violoncelleMusique = \relative {
  \clef "bass"
  \key c \major
  \time 4/4
  d4 g fis8 e d4
}

\score{
  <<
    \new Voice = "un" {
      \autoBeamOff
      \sopranoMusique
    }
    \new Lyrics \lyricsto "un" \sopranoParoles
  >>
  \layout { }
  \midi { }
}

Voilà qui est mieux, mais la partie de violoncelle n’apparaît pas sur la partition – en effet, nous n’y avons pas fait appel dans la section \score. Si l’on veut que la partie de violoncelle s’imprime sous la partie de soprano, on va devoir ajouter :

 
\new Staff \musiqueVioloncelle

en dessous de tout ce qui concerne la soprano. Il nous faut également encadrer la musique par des << et >>, qui feront comprendre à LilyPond que plusieurs événements – ici, des objets Staff – se déroulent en même temps. Le bloc \score ressemble maintenant à

 
\score {
  <<
  <<
    \new Voice = "un" {
      \autoBeamOff
      \sopranoMusique
    }
    \new Lyrics \lyricsto "un" \sopranoParoles
  >>
  \new Staff \violoncelleMusique
  >>
  \layout { }
  \midi { }
}

C’est un peu le bazar dans tout ça ; mais il vous sera facile de mettre un peu d’ordre dans l’indentation. Voici le modèle pour soprano et violoncelle au complet :

 
 
\version "2.21.3"
sopranoMusic = \relative {
  \clef "treble"
  \key c \major
  \time 4/4
  a4 b c d
}

sopranoLyrics = \lyricmode {
  Aaa Bee Cee Dee
}

celloMusic = \relative {
  \clef "bass"
  \key c \major
  \time 4/4
  d4 g fis8 e d4
}

\score {
  <<
    <<
      \new Voice = "one" {
        \autoBeamOff
        \sopranoMusic
      }
      \new Lyrics \lyricsto "one" \sopranoLyrics
    >>
    \new Staff \celloMusic
  >>
  \layout { }
  \midi { }
}

[image of music]

Voir aussi

Les patrons originaux sont disponibles à l’annexe Modèles pour portée unique.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.4.2 Partition pour chœur à quatre voix mixtes

@translationof Four-part SATB vocal score

La plupart des œuvres écrites pour chœur à quatre voix mixtes et orchestre, comme Elias de Mendelssohn ou le Messie de Haendel, disposent la musique et les paroles du chœur sur quatre portées – soprano, alto, ténor et basse – surmontant une réduction pour piano de l’accompagnement orchestral. En voici un exemple, tiré du Messie de Haendel :

[image of music]

Note : Cette présentation s’obtient facilement à l’aide du gabarit préprogrammé satb.ly – voir Gabarits préprogrammés. Il masque, dans un but de simplification, totalement la structure des contextes nécessaires et les génère automatiquement. Pour les besoins de la démonstration et à titre didactique nous procèderons ici pas à pas, ce gabarit préprogrammé ne correspondant pas forcément à vos attentes.

Le gabarit qui se rapprocherait le plus de cette mise en forme est Partition pour chœur SATB avec réduction pour piano – voir Modèles pour ensemble vocal – mais encore faudrait-il en modifier la mise en forme et refaire la partie de piano qui n’est plus une simple reprise des parties vocales. Les variables qui gèrent la musique et les paroles du chœur ne nécessitent pas de modification, mais il nous faut d’autres variables pour la réduction de piano.

L’ordre dans lequel apparaissent les contextes dans le ChoirStaff du modèle ne correspond pas à ce que nous voyons ci-dessus. Il nous faudra y revenir pour obtenir quatre portées avec des paroles en dessous de chacune d’elles. Toutes les voix devraient être \voiceOne, ce qui est la position par défaut ; il nous faudra donc éliminer toutes les commandes \voiceXXX. Les ténors auront besoin d’une clef spécifique. Enfin, nous n’avons pas encore abordé la façon dont les paroles sont présentées dans le modèle ; nous procéderons donc comme nous en avons l’habitude. Il faudra aussi ajouter un nom à chaque portée.

Une fois tout ceci accompli, voici notre ChoirStaff :

 
\new ChoirStaff <<
  \new Staff = "sopranos"
  \with { instrumentName = "Soprano" }
  <<
    \new Voice = "sopranos" {
      \global
      \sopranoMusic
    }
  >>
  \new Lyrics \lyricsto "sopranos" {
    \sopranoWords
  }
  \new Staff = "altos"
  \with { instrumentName = "Alto" }
  <<
    \new Voice = "altos" {
      \global
      \altoMusic
    }
  >>
  \new Lyrics \lyricsto "altos" {
    \altoWords
  }
  \new Staff = "tenors"
  \with { instrumentName = "Tenor" }
  <<
    \new Voice = "tenors" {
      \global
      \tenorMusic
    }
  >>
  \new Lyrics \lyricsto "tenors" {
    \tenorWords
  }
  \new Staff = "basses"
  \with { instrumentName = "Bass" }
  <<
    \new Voice = "basses" {
      \global
      \bassMusic
    }
  >>
  \new Lyrics \lyricsto "basses" {
    \bassWords
  }
>>  % end ChoirStaff

Il nous faut maintenant nous occuper de la partie de piano. Nous allons nous contenter de récupérer la partie de piano du modèle « Solo piano » :

 
\new PianoStaff \with { instrumentName = "Piano" }
<<
  \new Staff = "upper" \superieur
  \new Staff = "lower" \inferieur
>>

puis d’ajouter les définitions de variable pour superieur et inferieur.

Les systèmes pour chœur et pour piano doivent être combinés à l’aide de doubles chevrons gauche/droite puisqu’ils doivent s’empiler :

 
<<  % combine ChoirStaff and PianoStaff one above the other
  \new ChoirStaff <<
    \new Staff = "sopranos" <<
      \new Voice = "sopranos" {
        \global
        \sopranoMusic
      }
    >>
    \new Lyrics \lyricsto "sopranos" {
      \sopranoWords
     }
    \new Staff = "altos" <<
      \new Voice = "altos" {
        \global
        \altoMusic
      }
    >>
    \new Lyrics \lyricsto "altos" {
      \altoWords
    }
    \new Staff = "tenors" <<
      \clef "G_8"  % tenor clef
      \new Voice = "tenors" {
        \global
        \tenorMusic
      }
    >>
    \new Lyrics \lyricsto "tenors" {
      \tenorWords
    }
    \new Staff = "basses" <<
      \clef "bass"
      \new Voice = "basses" {
        \global
        \bassMusic
      }
    >>
    \new Lyrics \lyricsto "basses" {
      \bassWords
    }
  >>  % end ChoirStaff

  \new PianoStaff \with { instrumentName = "Piano" }
  <<
    \new Staff = "upper" \upper
    \new Staff = "lower" \lower
  >>
>>

Une fois tout cela mis en place, et après avoir ajouté les notes et les paroles de ces trois mesures du Messie, nous obtenons :

 
 
\version "2.21.3"
global = { \key d \major \time 4/4 }
sopranoMusic = \relative {
  \clef "treble"
  r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
}
sopranoWords = \lyricmode {
  Wor -- thy | is the lamb | that was slain |
}
altoMusic = \relative {
  \clef "treble"
  r4 a'2 a4 | fis4. fis8 a2 | g4 fis fis2 |
}
altoWords = \sopranoWords
tenorMusic = \relative {
  \clef "G_8"
  r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
}
tenorWords = \sopranoWords
bassMusic = \relative {
  \clef "bass"
  r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
}
bassWords = \sopranoWords
upper = \relative {
  \clef "treble"
  \global
  r4 <a' d fis>2 <a e' a>4 |
  <d fis d'>4. <d fis d'>8 <a d a'>2 |
  <g cis g'>4 <a d fis> <a cis e>2 |
}
lower = \relative {
  \clef "bass"
  \global
  <d, d'>4 <d d'>2 <cis cis'>4 |
  <b b'>4. <b' b'>8 <fis fis'>2 |
  <e e'>4 <d d'> <a' a'>2 |
}

\score {
  <<  % combine ChoirStaff and PianoStaff in parallel
    \new ChoirStaff <<
      \new Staff = "sopranos"
      \with { instrumentName = "Soprano" }
      <<
        \new Voice = "sopranos" {
          \global
          \sopranoMusic
        }
      >>
      \new Lyrics \lyricsto "sopranos" {
        \sopranoWords
      }
      \new Staff = "altos"
      \with { instrumentName = "Alto" }
      <<
        \new Voice = "altos" {
          \global
          \altoMusic
        }
      >>
      \new Lyrics \lyricsto "altos" {
        \altoWords
      }
      \new Staff = "tenors"
      \with { instrumentName = "Tenor" }
      <<
        \new Voice = "tenors" {
          \global
          \tenorMusic
        }
      >>
      \new Lyrics \lyricsto "tenors" {
        \tenorWords
      }
      \new Staff = "basses"
      \with { instrumentName = "Bass" }
      <<
        \new Voice = "basses" {
          \global
          \bassMusic
        }
      >>
      \new Lyrics \lyricsto "basses" {
        \bassWords
      }
    >>  % end ChoirStaff

    \new PianoStaff
    \with { instrumentName = "Piano  " }
    <<
      \new Staff = "upper" \upper
      \new Staff = "lower" \lower
    >>
  >>
}

[image of music]


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.4.3 Écriture d’une partition à partir de zéro

@translationof Building a score from scratch

Après avoir acquis une certaine dextérité dans l’écriture de code LilyPond, vous devez vous sentir suffisamment prêt à vous lancer dans la création d’une partition à partir de zéro, autrement dit en ne partant pas d’un exemple. Vous pourrez ainsi vous construire vos propres patrons selon le type de musique que vous affectionnez plus particulièrement. Pour voir comment procéder, nous allons monter la partition d’un prélude pour orgue.

Nous débutons par une section d’en-tête ; nous y mettrons entre autres le titre et le nom du compositeur. Puis viennent toutes les définitions de toutes les variables. Nous terminons par le bloc \score. Attelons-nous pour cette aventure, en gardant bien à l’esprit ce que nous venons de dire ; nous nous occuperons des détails en temps voulu.

Nous nous appuyons sur les deux premières mesures du prélude sur Jesu, meine Freude, écrit pour orgue avec pédalier. Vous pouvez voir ces deux mesures au bas de cette page. La main droite comporte deux voix, la main gauche et le pédalier une seule. Il nous faut donc quatre définitions de musique, plus une qui contiendra la métrique et l’armure :

 
\version "2.21.3"
\header {
  title = "Jesu, meine Freude"
  composer = "J S Bach"
}
ArmureMetrique = { \key c \minor \time 4/4 }
ManuelUnVoixUnMusique = { s1 }
ManuelUnVoixDeuxMusique = { s1 }
ManuelDeuxMusique = { s1 }
PedalierOrgueMusique = { s1 }

\score {
}

Pour l’instant, nous utilisons des silences invisibles, s1, en lieu et place des notes réelles. On verra plus tard.

Passons maintenant au bloc \score et à ce qu’il devrait contenir. Nous y recopions simplement la structure des portées que nous voulons. La musique pour orgue se présente généralement sous la forme de trois portées, une pour chaque main et une pour le pédalier. Les portées du manuel sont regroupées, nous utiliserons donc un PianoStaff. La première partie du manuel requiert deux voix et la seconde une seule.

 
\new PianoStaff <<
  \new Staff = "ManuelUn" <<
    \new Voice {
      \ManuelUnVoixUnMusique
    }
    \new Voice {
      \ManuelUnVoixDeuxMusique
    }
  >>  % fin du contexte de portée ManuelUn
  \new Staff = "ManuelDeux" <<
    \new Voice {
      \ManuelDeuxMusique
    }
  >>  % fin du contexte de portée ManuelDeux
>>  % fin du contexte PianoStaff

Il nous faut ajouter à cela une portée pour le pédalier. Elle se place sous le système de piano, mais puisqu’elle doit rester synchrone avec lui, nous utilisons des doubles chevrons pour les regrouper. Négliger ceci nous renverrait une erreur, et personne n’est à l’abri de cette faute ! Pour preuve, il vous suffit de copier l’exemple complet en fin de chapitre, de supprimer ces << et >>, et de le compiler, pour voir de quoi il retourne.

 
<<  % Système pianistique et portée de pédalier sont synchrones
  \new PianoStaff <<
    \new Staff = "ManuelUn" <<
      \new Voice {
        \ManuelUnVoixUnMusique
      }
      \new Voice {
        \ManuelUnVoixDeuxMusique
      }
    >>  % fin du contexte de portée ManuelUn
    \new Staff = "ManuelDeux" <<
      \new Voice {
        \ManuelDeuxMusique
      }
    >>  % fin du contexte de portée ManuelDeux
  >>  % fin du contexte PianoStaff
  \new Staff = "PedalierOrgue" <<
    \new Voice {
      \PedalierOrgueMusique
     }
  >>
>>

La construction en simultané – << … >> – n’est pas strictement obligatoire pour les portées manuel deux et pédalier, qui ne contiennent chacune qu’une seule expression musicale ; mais cela ne mange pas de pain, et c’est une bonne habitude que de toujours encadrer par des doubles chevrons gauche/droite ce qui suit une commande \new Staff au cas où il y aurait plusieurs voix. Il en va autrement pour les contextes Voice : ils doivent être toujours suivis d’accolades – { … } – au cas où vous auriez employé plusieurs variables qui doivent intervenir consécutivement.

Ajoutons donc cette structure au bloc \score, tout en fignolant l’indentation. Nous en profitons pour ajouter les clefs appropriées, effectuer les réglages concernant les hampes et liaisons de la portée supérieure grâce à \voiceOne et \voiceTwo, et mettre en place la métrique et l’armure de chaque portée grâce à notre variable \MetriqueArmure.

 
\score {
  <<  % Système pianistique et portée de pédalier sont synchrones
    \new PianoStaff <<
      \new Staff = "ManuelUn" <<
        \ArmureMetrique % définition de l'armure et de la métrique
        \clef "treble"
        \new Voice {
          \voiceOne
          \ManuelUnVoixUnMusique
        }
        \new Voice {
          \voiceTwo
          \ManuelUnVoixDeuxMusique
        }
      >>  % fin du contexte de la portée ManuelUn
      \new Staff = "ManuelDeux" <<
        \ArmureMetrique
        \clef "bass"
        \new Voice {
          \ManuelDeuxMusique
        }
      >>  % fin du contexte de la portée ManuelDeux
    >>  % fin du contexte PianoStaff
    \new Staff = "PedalierOrgue" <<
      \ArmureMetrique
      \clef "bass"
      \new Voice {
        \PedalierOrgueMusique
      }
    >>  % fin du contexte de la portée PedalOrgan
  >>
}  % fin du contexte Score

Cette partition pour orgue est presque parfaite. Reste juste ce petit défaut qui ne se remarque pas lorsque l’on considère un seul système : la distance qui sépare la portée de pédalier de celle de la main gauche devrait être plus ou moins égale à celle qui sépare les deux mains. En fait, la distance entre les deux portées d’un PianoStaff ne saurait trop se dilater ; le pédalier devrait adopter le même comportement.

La propension des portées à se dilater se contrôle à l’aide de la propriété staff-staff-spacing, attachée à « l’objet graphique » VerticalAxisGroup – la documentation de LilyPond utilise souvent l’abréviation grob pour graphical object. Pas de panique ! Tout ceci sera expliqué plus tard – pour les curieux, jetez un œil au chapitre (notation)Vue d’ensemble de la modification des propriétés section ‘Vue d'ensemble de la modification des propriétés’ dans Manuel de notation. Revenons à notre propos : nous voulons modifier uniquement la sous-propriété stretchability. Les impatients trouveront les valeurs par défaut de la propriété staff-staff-spacing dans le fichier ‘scm/define-grobs.scm’, en examinant la définition du grob VerticalAxisGroup. La valeur que nous affecterons à stretchability est celle que contient la définition du contexte PianoStaff telle qu’elle apparaît dans le fichier ‘ly/engraver-init.ly’).

 
\score {
  <<  % Système pianistique et portée de pédalier sont synchrones
    \new PianoStaff <<
      \new Staff = "ManuelUn" <<
        \ArmureMetrique % définition de l'armure et de la métrique
        \clef "treble"
        \new Voice {
          \voiceOne
          \ManuelUnVoixUnMusique
        }
        \new Voice {
          \voiceTwo
          \ManuelUnVoixDeuxMusique
        }
      >>  % fin du contexte de la portée ManuelUn
      \new Staff = "ManuelDeux" \with {
        \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5
      } <<
        \ArmureMetrique
        \clef "bass"
        \new Voice {
          \ManuelDeuxMusique
        }
      >>  % fin du contexte de la portée ManuelDeux
    >>  % fin du contexte PianoStaff
    \new Staff = "PedalierOrgue" <<
      \ArmureMetrique
      \clef "bass"
      \new Voice {
        \PedalierOrgueMusique
      }
    >>  % fin du contexte de la portée PedalOrgan
  >>
}  % fin du contexte Score

Nous en avons fini avec la structure. Toutes les partitions pour orgue auront cette structure, même si le nombre de voix peut changer. Tout ce qui nous reste à faire maintenant consiste à saisir la musique et à regrouper toutes les parties.

 
 
\version "2.21.3"
\header {
  title = "Jesu, meine Freude"
  composer = "J S Bach"
}
keyTime = { \key c \minor \time 4/4 }
ManualOneVoiceOneMusic = \relative {
  g'4 g f ees |
  d2 c |
}
ManualOneVoiceTwoMusic = \relative {
  ees'16 d ees8~ 16 f ees d c8 d~ d c~ |
  8 c4 b8 c8. g16 c b c d |
}
ManualTwoMusic = \relative {
  c'16 b c8~ 16 b c g a8 g~ 16 g aes ees |
  f16 ees f d g aes g f ees d ees8~ 16 f ees d |
}
PedalOrganMusic = \relative {
  r8 c16 d ees d ees8~ 16 a, b g c b c8 |
  r16 g ees f g f g8 c,2 |
}

\score {
  <<  % PianoStaff and Pedal Staff must be simultaneous
    \new PianoStaff <<
      \new Staff = "ManualOne" <<
        \keyTime  % set key and time signature
        \clef "treble"
        \new Voice {
          \voiceOne
          \ManualOneVoiceOneMusic
        }
        \new Voice {
          \voiceTwo
          \ManualOneVoiceTwoMusic
        }
      >>  % end ManualOne Staff context
      \new Staff = "ManualTwo" \with {
        \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5
      } <<
        \keyTime
        \clef "bass"
        \new Voice {
          \ManualTwoMusic
        }
      >>  % end ManualTwo Staff context
    >>  % end PianoStaff context
    \new Staff = "PedalOrgan" <<
      \keyTime
      \clef "bass"
      \new Voice {
        \PedalOrganMusic
      }
    >>  % end PedalOrgan Staff context
  >>
}  % end Score context

[image of music]

Voir aussi

Glossaire musicologique : (music-glossary)system section ‘système’ dans Glossaire.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.4.4 Économie de saisie grâce aux identificateurs et fonctions

@translationof Saving typing with variables and functions

Jusqu’à maintenant, vous avez vu ce type de code :

 
hornNotes = \relative { c''4 b dis c }
\score {
  {
    \hornNotes
  }
}

[image of music]

Vous comprendrez combien cela peut être utile pour écrire de la musique minimaliste :

 
fragmentA = \relative { a'4 a8. b16 }
fragmentB = \relative { a'8. gis16 ees4 }

violin = \new Staff { \fragmentA \fragmentA \fragmentB \fragmentA }

\score {
  {
    \violin
  }
}

[image of music]

Néanmoins vous pouvez aussi utiliser ces identificateurs – aussi connus sous le nom de variables, macros, ou commandes (définies par l’utilisateur) – pour des retouches :

 
dolce = \markup { \italic \bold dolce }

centerText = { \once \override TextScript.self-alignment-X = #CENTER }

fthenp =_\markup {
  \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
}

violin = \relative {
  \repeat volta 2 {
    c''4._\dolce b8 a8 g a b |
    \centerText
    c4.^"hi there!" d8 e f g d |
    c4.\fthenp b8 c4 c-. |
  }
}

\score {
  {
    \violin
  }
}

[image of music]

Ces identificateurs sont évidemment utiles pour économiser de la frappe. Mais ils peuvent l’être même si vous ne les utilisez qu’une seule fois : ils réduisent la complexité. Regardons l’exemple précédent sans aucun identificateur. C’est beaucoup plus laborieux à lire, et particulièrement la dernière ligne.

 
violin = \relative {
  \repeat volta 2 {
    c''4._\markup { \italic \bold dolce } b8 a8 g a b |
    \once \override TextScript.self-alignment-X = #CENTER
    c4.^"hi there!" d8 e f g d |
    c4._\markup {
      \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
    }
    b8 c4 c-. |
  }
}

Jusqu’ici nous avons vu des substitutions statiques : quand LilyPond rencontre \centerText, il le remplace par le contenu que nous lui avons défini – c’est-à-dire le contenu à droite de centerText=.

LilyPond gère également des substitutions non-statiques – vous pouvez les voir comme des fonctions.

 
padText =
#(define-music-function
     (padding)
     (number?)
   #{
     \once \override TextScript.padding = #padding
   #})

\relative {
  c''4^"piu mosso" b a b
  \padText #1.8
  c4^"piu mosso" b a b
  \padText #2.6
  c4^"piu mosso" b a b
}

[image of music]

Utiliser des identificateurs est aussi un bon moyen pour vous épargner du travail si la syntaxe de LilyPond change un jour – voir (usage)Mise à jour avec convert-ly section ‘Mise à jour avec convert-ly’ dans Utilisation des programmes. Si vous avez une seule définition, par exemple \dolce, pour tous vos fichiers (voir Feuilles de style) et que la syntaxe change, alors vous n’aurez qu’à mettre à jour votre seule définition \dolce, au lieu de devoir modifier chaque fichier ‘.ly’.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.4.5 Conducteurs et parties

@translationof Scores and parts

Dans la musique d’orchestre, toutes les notes sont imprimées deux fois. D’abord dans les parties séparées destinées aux musiciens, et ensuite dans le conducteur destiné au chef. Les variables sont là pour vous éviter un double travail. La musique n’est entrée qu’une seule fois, et stockée dans une variable, dont le contenu servira à imprimer à la fois la partie séparée et la partition d’orchestre.

Il est judicieux de définir les notes dans un fichier séparé. Par exemple, supposons que le fichier ‘musique-Cor.ly’ contienne la partie suivante pour un duo cor/basson.

 
notesCor = \relative {
  \time 2/4
  r4 f8 a | cis4 f | e d |
}

On établira alors une partie séparée en constituant un nouveau fichier :

 
\include "musique-Cor.ly"

\header {
  instrument = "Cor en Fa"
}

{
 \transpose f c' \notesCor
}

À la ligne

 
\include "musique-Cor.ly"

sera substitué le contenu du fichier ‘musique-Cor.ly’, et de ce fait la variable notesCor se trouvera définie. La commande \transpose f c' indique que son argument \notesCor sera transposé à la quinte supérieure : le son réel f s’écrit c', ce qui est la caractéristique d’un Cor en fa. La transposition est visible comme suit :

[image of music]

Dans les pièces d’ensemble, il arrive souvent qu’une voix ne joue pas pendant plusieurs mesures. Un silence spécial, appelé silence multimesures, l’indique alors. On l’obtient par un R majuscule, suivi d’une durée : 1 pour une pause, 2 pour une demi-pause, etc. Cette durée peut être multipliée pour établir de plus longs silences. Par exemple, le silence suivant dure trois mesures à 2/4.

 
R2*3

Dans une partie séparée, les silences multimesure sont compressés. LilyPond dispose d’une commande à cet effet :

 
\compressMMRests { ... }

Si l’on ajoute dans la musique ci-dessus le silence multimesure et cette instruction, on obtient le résultat suivant :

[image of music]

Le conducteur rassemble toute la musique. Si l’on suppose que l’autre voix de notre duo se trouve dans le fichier ‘musique-Basson.ly’ en tant que variable notesBasson, on établira un conducteur avec

 
\include "musique-Basson.ly"
\include "musique-Cor.ly"

<<
  \new Staff \notesCor
  \new Staff \notesBasson
>>

ce qui équivaut à

[image of music]

Voir aussi

Manuel d’initiation : Organisation du code source avec des variables.

Manuel de notation : (notation)Écriture de parties séparées section ‘Écriture de parties séparées’ dans Manuel de notation, (notation)Insertion de fichiers LilyPond section ‘Insertion de fichiers LilyPond’ dans Manuel de notation, (notation)Silences valant une mesure section ‘Silences valant une mesure’ dans Manuel de notation, (notation)Transposition section ‘Transposition’ dans Manuel de notation.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]

Ce document a été généré le le 13 juillet 2020 par gub en utilisant texi2html 1.82.

Autres langues : English, català, česky, deutsch, español, magyar, italiano, 日本語, nederlands.
À propos de la sélection automatique de la langue.