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

4.6 Collisions d’objets

@translationof Collisions of objects


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

4.6.1 Déplacement d’objets

@translationof Moving objects

Aussi surprenant que cela puisse paraître, LilyPond n’est pas parfait. Certains éléments sur la partition peuvent se chevaucher, ce qui est regrettable mais, le plus souvent, facile à corriger. En général, quand on déplace des objets, c’est pour des raisons de lisibilité ou d’esthétique – ils rendraient mieux avec un peu plus ou un peu moins d’espace autour d’eux.

Il y a trois façons de résoudre les problèmes de chevauchement. Il est préférable de les aborder dans l’ordre suivant :

  1. L’orientation d’un objet qui en chevauche un autre peut être changée grâce aux commandes prédéfinies dont la liste a été donnée plus haut à propos des objets de portée (voir Objets inclus dans la portée). Les queues de note, les liaisons de phrasé et de prolongation, les crochets, les nuances et les n-olets peuvent facilement être repositionnés de cette manière. En contrepartie, vous n’avez le choix qu’entre deux positions, sans personnalisation possible.
  2. Les propriétés d’objet, auxquelles LilyPond a recours pour positionner les objets, sont modifiables avec \override. Il y a deux avantages à changer ces propriétés : (a) d’autres objets pourront être déplacés automatiquement si nécessaire pour faire de la place et (b) la même retouche peut s’appliquer à toutes les occurrences du même type d’objet. Ces propriétés sont :
  3. Pour terminer, quand toutes les autres méthodes ont échoué, il est possible de repositionner verticalement les objets à la main par rapport à la ligne médiane de la portée, ou en les déplaçant à une distance donnée vers une nouvelle position. Les inconvénients sont qu’il faut individuellement, pour chaque objet, trouver les valeurs correctes de repositionnement souvent par tâtonnement et que, puisque le mouvement est opéré après que LilyPond a placé tous les autres objets, c’est à l’utilisateur de résoudre tous les problèmes de collision qui pourraient survenir. Et le pire avec cette méthode est que, le jour où la musique est modifiée, il faut de nouveau rechercher les valeurs de repositionnement. Les propriétés à utiliser pour ce type de repositionnement manuel sont :
    extra-offset

    Cette propriété s’applique à tout objet acceptant la grob-interface. Elle reçoit une paire de nombres qui indiquent le déplacement supplémentaire dans le sens horizontal et vertical. Des nombres négatifs déplacent l’objet vers la gauche ou vers le bas. L’unité utilisée est l’espace de portée. Le déplacement supplémentaire intervient une fois que la composition des objets est achevée, si bien qu’un objet peut être repositionné à n’importe quel endroit sans perturber quoi que ce soit.

    positions

    Cette propriété est très utile pour ajuster manuellement l’inclinaison et la hauteur des barres de ligature, des liaisons et des n-olets. Elle est suivie de deux nombres qui donnent la position des extrémités gauche et droite des barres, liaisons, etc. par rapport à la ligne médiane de la portée. L’unité de référence est l’intervalle de lignes de portée. Attention toutefois au fait que les liaisons et phrasés ne peuvent pas être repositionnés n’importe où. LilyPond commence par dresser la liste des emplacements possibles pour les liaisons et choisit par défaut la liaison qui « semble la meilleure ». Si la propriété positions a été retouchée, la liaison la plus proche de la position demandée sera retenue dans la liste.

Il est possible qu’un objet ne dispose pas de toutes ces propriétés. Il est donc nécessaire de consulter la RPI pour vérifier quelles sont les propriétés disponibles pour l’objet en question.

Voici une liste d’objets les plus couramment impliqués dans les collisions, avec le nom de l’objet à consulter dans la RPI afin de trouver les propriétés à retoucher pour obtenir un déplacement.

Type d’objetNom d’objet
ArticulationsScript
Barres de ligatureBeam
DoigtéFingering
Liaisons de phraséSlur
Liaisons de prolongationTie
N-oletsTupletBracket
Nuances (verticalement)DynamicLineSpanner
Nuances (horizontalement)DynamicText
Reprises / marques de texteRehearsalMark
Texte, par ex. ^"texte"TextScript

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

4.6.2 Correction des collisions d’objets

@translationof Fixing overlapping notation

Voyons maintenant comment les propriétés décrites dans la section précédente peuvent nous aider à résoudre les collisions.


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

La propriété padding

@translationof The padding property

En jouant sur la propriété padding (littéralement « rembourrage »), on augmente (ou on diminue) la distance entre des symboles qui sont imprimés au-dessus ou en dessous des notes.

 
c'2\fermata
\override Script.padding = #3
b2\fermata

[image of music]

 
% This will not work, see below:
\override MetronomeMark.padding = #3
\tempo 4=120
c'1 |
% This works:
\override Score.MetronomeMark.padding = #3
\tempo 4=80
d'1 |

[image of music]

Vous remarquerez dans le second exemple à quel point il est important de préciser le nom du contexte qui contient l’objet. Puisque l’objet MetronomeMark appartient au contexte Score, le fait de modifier la propriété dans le contexte Voice passera inaperçu. Pour plus de détails, voir (notation)Modification de propriétés section ‘Modification de propriétés’ dans Manuel de notation.

Si on augmente la propriété padding d’un objet alors que celui-ci fait partie d’un ensemble d’objets positionnés en fonction de leur outside-staff-priority, cet objet sera déplacé, ainsi que tous les autres objets du groupe.


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

La propriété right-padding

@translationof The right-padding property

La propriété right-padding joue sur l’espacement entre une altération et la note sur laquelle elle porte. On ne l’utilise pas souvent, mais l’espacement par défaut peut se révéler inadéquat avec certaines altérations ou certains glyphes utilisés en musique microtonale. Le stencil de l’altération devra alors être construit sous la forme d’un markup qui contiendra le ou les symboles requis, comme ceci :

 
sesquisharp = \markup { \sesquisharp }
\relative {
  c''4
  % This prints a sesquisharp but the spacing is too small
  \once \override Accidental.stencil = #ly:text-interface::print
  \once \override Accidental.text = #sesquisharp
  cis4 c
  % This improves the spacing
  \once \override Score.AccidentalPlacement.right-padding = #0.6
  \once \override Accidental.stencil = #ly:text-interface::print
  \once \override Accidental.text = #sesquisharp
  cis4 |
}

[image of music]

Cette méthode utilise, pour le stencil des altérations, une retouche qui ne sera pas reprise par la suite. Le type de stencil est obligatoirement une procédure, qui consiste ici à imprimer le contenu de la propriété text de Accidental, déclaré comme étant un signe sesqui-dièse. Celui-ci est ensuite repoussé devant la tête de note par la retouche de right-padding.


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

La propriété staff-padding

@translationof The staff-padding property

staff-padding sert à aligner des objets tels que des nuances sur une ligne fictive à une distance donnée par rapport à la portée en l’absence d’autre élément de notation qui les repousserait. Ce n’est pas une propriété de DynamicText mais de DynamicLineSpanner, car la ligne fictive est destinée à s’appliquer autant à toutes les nuances, notamment celles qui sont créées comme des bandeaux en longueur (en anglais Spanners). Tel est donc le moyen d’aligner les indications de nuance, comme dans cet exemple repris de la section précédente :

 
\override DynamicLineSpanner.staff-padding = #3
\relative { a'4\f b\mf a\p b\mp }

[image of music]


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

La propriété self-alignment-X

@translationof The self-alignment-X property

L’exemple suivant montre comment ajuster le positionnement d’une indication de corde relativement à une hampe, en alignant le coin droit sur le point de référence de la note parente :

 
\voiceOne
<a''\2>
\once \override StringNumber.self-alignment-X = #RIGHT
<a''\2>

[image of music]


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

La propriété staff-position

@translationof The staff-position property

Dans une voix, un silence valant une mesure entière peut chevaucher les notes d’une autre voix. Vu que ces silences sont centrés entre les deux barres de mesure, il serait très compliqué de programmer LilyPond pour repérer ces risques de collision dans la mesure où, normalement, toutes les collisions entre notes ou entre notes et silences se produisent sur des notes et silences simultanés. Voici un exemple de collision de ce type :

 
<< \relative { c'4 c c c } \\ { R1 } >>

[image of music]

Ici, la meilleure solution consiste à déplacer le symbole de pause vers le bas – puisque cette pause appartient à la voix deux. Par défaut, dans la \voiceTwo (c’est-à-dire dans la seconde voix d’une construction <<{ … } \\ { … }>>), la propriété staff-position est réglée sur -6 pour les MultiMeasureRest ; nous avons donc besoin de la déplacer, disons, de quatre demi-intervalles vers le bas, ce qui donne -10.

 
<<
  \relative { c'4 c c c }
  \\
  \override MultiMeasureRest.staff-position = #-10
  { R1 }
>>

[image of music]

C’est mieux que d’utiliser, par exemple, extra-offset, car la ligne supplémentaire au-dessus du silence est insérée automatiquement.

Voir (notation)dessin à main levée de liaisons de tenue section ‘dessin à main levée de liaisons de tenue’ dans Manuel de notation pour ce qui différencie des valeurs exactes des valeurs inexactes.


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

La propriété extra-offset

@translationof The extra-offset property

La propriété extra-offset offre la possibilité de contrôler entièrement le placement d’un objet, aussi bien horizontalement que verticalement.

Dans l’exemple suivant, la seconde indication de doigté est déplacée légèrement vers la gauche et de 1,8 intervalle de lignes vers le bas :

 
f'4-5
\once \override Fingering.extra-offset = #'(-0.3 . -1.8)
f'4-5

[image of music]


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

La propriété positions

@translationof The positions property

La propriété positions permet de contrôler manuellement la position et l’inclinaison des n-olets, coulés, liaisons de phrasé et barres de ligature.

Voici un exemple où la liaison de phrasé recouvre la liaison d’articulation :

 
\relative { a'8 \( ( a'16 ) a \) }

[image of music]

Nous pourrions envisager de remonter quelque peu les extrémités de la liaison de phrasé. Commençons par repositionner l’extrémité gauche à 2,5 espaces de portée au-dessus de la ligne médiane, et la droite à 4,5 ; LilyPond choisira la courbe dont les extrémités seront les plus approchantes de celle déterminées :

 
\once \override PhrasingSlur.positions = #'(2.5 . 4.5)
a'8 \( ( a''16 ) a'' \)

[image of music]

C’est déjà mieux, mais ne pourrait-on pas maintenant abaisser un peu l’extrémité droite de la liaison d’articulation ? Vous constaterez qu’il n’est pas possible d’y arriver, tout simplement parce qu’il n’y a pas de meilleur candidat ; la propriété positions n’est alors d’aucune utilité. Les liaisons, aussi bien de tenue que d’articulation ou de phrasé, peuvent se positionner et se dessiner tout en finesse lorsque nécessaire – voir à ce sujet (notation)Modification des liaisons section ‘Modification des liaisons’ dans Manuel de notation.

Voici un autre exemple. Comme nous pouvons le constater, les barres de ligature chevauchent les liaisons de tenue :

 
{
  \time 4/2
  <<
    \relative { c'1~ 2. e8 f }
    \\
    \relative {
      e''8 e e e
      e e e e
      f2 g
    }
  >>
  <<
    \relative { c'1~ 2. e8 f }
    \\
    \relative {
      e''8 e e e
      e e e e
      f2 g
    }
  >>
}

[image of music]

On peut y remédier en déplaçant manuellement vers le haut les deux extrémités des ligatures de croches, non plus à 1,81 intervalle au-dessous de la ligne médiane mais, disons, à 1 :

 
{
  \time 4/2
  <<
    \relative { c'1~ 2. e8 f }
    \\
    \relative {
      \override Beam.positions = #'(-1 . -1)
      e''8 e e e
      e e e e
      f2 g
    }
  >>
  <<
    \relative { c'1~ 2. e8 f }
    \\
    \relative {
      e''8 e e e
      e e e e
      f2 g
      \revert Beam.positions
    }
  >>
}

[image of music]

Vous remarquerez que la retouche continue de s’appliquer au second bloc de croches de la deuxième voix mais qu’il ne s’applique à aucune des ligatures de la première voix, même dans la seconde mesure. Dès que la dérogation ne doit plus s’appliquer, il suffit de l’annuler comme indiqué ici.


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

La propriété force-hshift

@translationof The force-hshift property

Maintenant, nous sommes prêts à appliquer les dernières corrections à l’exemple de Chopin présenté à la fin de J’entends des Voix, que nous avions laissé dans cet état :

 
\new Staff \relative {
  \key aes \major
  <<
    { c''2 aes4. bes8 }
    \\
    { <ees, c>2 des }
    \\
    \\
    { aes'2 f4 fes }
  >> |
  <c ees aes c>1 |
}

[image of music]

La note intermédiaire du premier accord, le la bémol à la quatrième voix, doit rester dans le même empilement que la note haute, ce pourquoi nous utilisons un \shiftOff

Quant au second accord, il serait préférable que le fa s’aligne avec le la et que la note la plus basse se positionne un peu plus sur la droite pour éviter que les hampes se chevauchent. Pour cela, nous réglons le force-hshift au niveau du NoteColumn du ré bémol de telle sorte qu’il se déplace de la moitié d’un espace de portée vers la droite et le force-hshift du fa sur zéro. Vous noterez la présence du \once qui évite la propagation de ces réglages au-delà de cet instant musical particulier – bien que la présence du \once et du second \override de la quatrième voix ne soient pas indispensables dans ce court extrait, ce ne serait pas montrer l’exemple que de les omettre.

Et voici le résultat final :

 
\new Staff \relative {
  \key aes \major
  <<
    { c''2 aes4. bes8 }
    \\
    { <ees, c>2 \once \override NoteColumn.force-hshift = #0.5 des }
    \\
    \\
    { \once \shiftOff aes'2 \once \shiftOff f4 fes }
  >> |
  <c ees aes c>1 |
}

[image of music]


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

4.6.3 Exemple concret

@translationof Real music example

Pour terminer ce chapitre consacré aux retouches, voici, étape par étape, la mise en forme d’un exemple concret nécessitant un certain nombre de retouches jusqu’à l’obtention du résultat attendu. Cet exemple a été choisi en raison des problèmes inhabituels de notation qu’il soulevait et pour vous apprendre à les résoudre grâce au Manuel de notation. Il n’est pas représentatif d’une opération normale de gravure ; que ces difficultés ne vous découragent donc pas ! Des difficultés comme celles-ci ne sont, heureusement, pas courantes !

Cet exemple est tiré de la Première Ballade de Chopin, Op. 23, mesures 6 à 9 ; cela correspond à la transition entre le Lento d’ouverture et le Moderato. Voici, pour commencer, ce à quoi nous voulons que la partition ressemble ; pour limiter les complications, nous n’avons pas fait apparaître les indications de nuance, de doigté ni de pédale.

[image of music]

Nous constatons tout d’abord que, dans la troisième mesure, la main droite compte quatre voix. Ce sont les cinq croches avec une barre, le do avec liaison, le ré blanche qui se fond avec le ré croche, et le fa dièse noire pointée qui se fond lui aussi avec la croche de même hauteur. Tout le reste se réduit à une seule voix. Le plus simple est donc de créer temporairement ces trois voix supplémentaires au moment opportun. Si vous avez oublié comment faire, reportez-vous à J’entends des Voix et Instanciation explicite des voix. Nous opterons ici pour une déclaration explicite des voix du passage polyphonique, puisque LilyPond est alors plus performant en matière d’évitement des collisions.

Commençons par saisir les notes comme appartenant à deux variables, mettons en place l’ossature des portées dans un bloc \Score et voyons ce que LilyPond propose par défaut :

 
rhMusic = \relative {
  \new Voice {
    r2 c''4. g8 |
    bes1~ |
    \time 6/4
    bes2. r8
    % Start polyphonic section of four voices
    <<
      { c,8 d fis bes a }  % continuation of main voice
      \new Voice {
        \voiceTwo
        c,8~ 2
      }
      \new Voice {
        \voiceThree
        s8 d2
      }
      \new Voice {
        \voiceFour
        s4 fis4.
      }
    >> |
    g2.  % continuation of main voice
  }
}

lhMusic = \relative {
  r2 <c' g ees>2 |
  <d g, d>1 |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]

Toutes les notes sont correctes mais l’allure générale est loin d’être satisfaisante. La liaison se heurte à l’indication de mesure lors du changement de métrique, la ligature des croches n’est pas bonne dans la troisième mesure, les notes ne sont pas fusionnées et il manque plusieurs éléments de notation. Commençons par le plus simple. Nous pouvons corriger la ligature des croches en la créant manuellement et nous pouvons facilement ajouter les limites droite et gauche de la liaison de phrasé, puisque tout cela a déjà été traité dans le tutoriel. Voici le résultat :

 
rhMusic = \relative {
  \new Voice {
    r2 c''4.\( g8 |
    bes1~ |
    \time 6/4
    bes2. r8
    % Start polyphonic section of four voices
    <<
      { c,8 d fis bes a }  % continuation of main voice
      \new Voice {
        \voiceTwo
        c,8~ 2
      }
      \new Voice {
        \voiceThree
        s8 d2
      }
      \new Voice {
        \voiceFour
        s4 fis4.
      }
    >> |
    g2.\)  % continuation of main voice
  }
}

lhMusic = \relative {
  r2 <c' g ees>2( |
  <d g, d>1) |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]

La première mesure est maintenant correcte. La seconde contient un arpège et doit se terminer par une double barre. Comment faire, puisque cela n’a pas été traité dans le Manuel d’initiation ? C’est alors qu’il faut nous reporter au Manuel de notation. Quand on cherche « arpège » et « barre de mesure » dans l’index, on voit aisément qu’il faut ajouter \arpeggio à un accord pour produire un arpège et qu’une double barre est le résultat de la commande \bar "||". Rien de plus facile ! Nous devons ensuite corriger la collision entre la liaison et l’indication de mesure. Le mieux est de déplacer la liaison vers le haut. La méthode pour déplacer les objets a déjà été présentée dans Déplacement d’objets, et l’on sait que, pour des objets positionnés par rapport à la portée, il nous faut modifier leur propriété staff-position, exprimée en demi-intervalles de lignes par rapport à la ligne médiane de la portée. Voici donc la retouche à insérer juste devant la première note liée ; elle est censée déplacer la liaison vers le haut de 3,5 demi-intervalles de lignes au-dessus de la ligne médiane :

\once \override Tie.staff-position = #3.5

Cela s’adjoint à la deuxième mesure, pour donner :

 
rhMusic = \relative {
  \new Voice {
    r2 c''4.\( g8 |
    \once \override Tie.staff-position = #3.5
    bes1~ |
    \bar "||"
    \time 6/4
    bes2. r8
    % Start polyphonic section of four voices
    <<
      { c,8 d fis bes a }  % continuation of main voice
      \new Voice {
        \voiceTwo
        c,8~ 2
      }
      \new Voice {
        \voiceThree
        s8 d2
      }
      \new Voice {
        \voiceFour
        s4 fis4.
      }
    >> |
    g2.\)  % continuation of main voice
  }
}

lhMusic = \relative {
  r2 <c' g ees>2( |
  <d g, d>1)\arpeggio |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]

Venons-en à la troisième mesure et au début de la section Moderato. Dans le Tutoriel, il est indiqué comment insérer une indication de tempo à l’aide de la commande \tempo ; pas de problème, du coup, pour ajouter « Moderato ». Mais comment faire pour fusionner les notes de différentes voix ? C’est là que le Manuel de notation peut nous venir en aide. Une recherche sur « fusionnement de notes » dans l’index nous renvoie au chapitre (notation)Résolution des collisions section ‘Résolution des collisions’ dans Manuel de notation, et plus précisément aux commandes permettant de fusionner des notes en fonction de leur type et selon qu’elles sont pointées ou non. Dans notre exemple, pour la durée de la polyphonie de la troisième mesure, nous avons besoin de fusionner deux types de notes ; grâce aux informations trouvées dans le Manuel de notation, nous ajoutons

 
\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn

au début de cette section et

 
\mergeDifferentlyHeadedOff
\mergeDifferentlyDottedOff

à la fin, ce qui donne :

 
rhMusic = \relative {
  \new Voice {
    r2 c''4.\( g8 |
    \once \override Tie.staff-position = #3.5
    bes1~ |
    \bar "||"
    \time 6/4
    bes2.\tempo "Moderato" r8
    \mergeDifferentlyHeadedOn
    \mergeDifferentlyDottedOn
    % Start polyphonic section of four voices
    <<
      { c,8 d fis bes a }  % continuation of main voice
      \new Voice {
        \voiceTwo
        c,8~ 2
      }
      \new Voice {
        \voiceThree
        s8 d2
      }
      \new Voice {
        \voiceFour
        s4 fis4.
      }
    >> |
    \mergeDifferentlyHeadedOff
    \mergeDifferentlyDottedOff
    g2.\)  % continuation of main voice
  }
}

lhMusic = \relative {
  r2 <c' g ees>2( |
  <d g, d>1)\arpeggio |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]

Ces retouches ont permis de fusionner les deux fa dièse mais pas les deux ré. Pourquoi ? La réponse se trouve dans la même section du Manuel de notation : les notes à fusionner doivent avoir des hampes dans des directions opposées et deux notes ne peuvent pas être fusionnées s’il y a une troisième note dans la même colonne. Ici, les deux ré ont leur hampe orientée vers le haut et il y a une troisième note, do. Nous savons changer l’orientation de la hampe avec \stemDown et le Manuel de notation nous indique également comment déplacer le do – en produisant un décalage grâce à l’une des commandes \shift. Mais laquelle ? Le do appartient à la deuxième voix et n’est pas décalé ; les deux ré appartiennent respectivement à la première et à la troisième voix, et l’un n’est pas décalé tandis que l’autre l’est. Il nous faut donc décaler largement le do avec la commande \shiftOnn pour éviter une interférence avec les deux ré. Voici ce que donnent ces modifications :

 
rhMusic = \relative {
  \new Voice {
    r2 c''4.\( g8 |
    \once \override Tie.staff-position = #3.5
    bes1~ |
    \bar "||"
    \time 6/4
    bes2.\tempo "Moderato" r8
    \mergeDifferentlyHeadedOn
    \mergeDifferentlyDottedOn
    % Start polyphonic section of four voices
    <<
      { c,8 d fis bes a }  % continuation of main voice
      \new Voice {
        \voiceTwo
        % Move the c2 out of the main note column
        % so the merge will work
        c,8~ \shiftOnn c2
      }
      \new Voice {
        \voiceThree
        % Stem on the d2 must be down to permit merging
        s8 \stemDown d2
      }
      \new Voice {
        \voiceFour
        s4 fis4.
      }
    >> |
    \mergeDifferentlyHeadedOff
    \mergeDifferentlyDottedOff
    g2.\)  % continuation of main voice
  }
}

lhMusic = \relative {
  r2 <c' g ees>2( |
  <d g, d>1)\arpeggio |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]

Pas loin ! Il ne reste plus que deux problèmes : les ré une fois fusionnés ne devraient plus avoir de hampe vers le bas, et le do serait mieux à la droite des ré. Nous savons remédier à ces deux problèmes grâce aux retouches précédentes : nous allons rendre la hampe transparente et déplacer le do avec la propriété force-hshift. Et voici le résultat final :

 
rhMusic = \relative {
  \new Voice {
    r2 c''4.\( g8 |
    \once \override Tie.staff-position = #3.5
    bes1~ |
    \bar "||"
    \time 6/4
    bes2.\tempo "Moderato" r8
    \mergeDifferentlyHeadedOn
    \mergeDifferentlyDottedOn
    % Start polyphonic section of four voices
    <<
      { c,8 d fis bes a }  % continuation of main voice
      \new Voice {
        \voiceTwo
        c,8~
        % Reposition the c2 to the right of the merged note
        \once \override NoteColumn.force-hshift = #1.0
        % Move the c2 out of the main note column
        % so the merge will work
        \shiftOnn
        c2
      }
      \new Voice {
        \voiceThree
        s8
        % Stem on the d2 must be down to permit merging
        \stemDown
        % Stem on the d2 should be invisible
        \tweak Flag.transparent ##t
        d2
      }
      \new Voice {
        \voiceFour
        s4 fis4.
      }
    >> |
    \mergeDifferentlyHeadedOff
    \mergeDifferentlyDottedOff
    g2.\)  % continuation of main voice
  }
}

lhMusic = \relative {
  r2 <c' g ees>2( |
  <d g, d>1)\arpeggio |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]


[ < ] [ > ]   [ << ] [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à, deutsch, español, italiano, 日本語, nederlands.
À propos de la sélection automatique de la langue.