lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: de la bonne façon de créer un divisi de violons


From: Xavier Scheuer
Subject: Re: de la bonne façon de créer un divisi de violons
Date: Tue, 20 Dec 2022 09:47:14 +0100

On Tue, 20 Dec 2022 at 09:04, Olivier Charade <olivier.charade@cnrs.fr> wrote:
>
> Merci Xavier,
>
> J'avais commencé par essayer cette méthode mais je n'étais arrivé à
> rien, sans doute parce que j'ai voulu l'appliquer directement à ma
> partition au lieu de commencer par recopier l'exemple pour jouer avec.
>
> En partant de l'exemple, ça commence à ressembler et je comprends un peu
> plus ce que font les diverses commandes; je me demande quand même si ça
> peut vraiment répondre à ce que je veux faire.
>
> Dans la "variation" ci-dessous sur l'exemple proposé, je vois que la
> portée supplémentaire du divisi apparaît dès le début du système où le
> divisi commence, alors que les mesures sont vides. Et ajouter un \break
> juste avant peut mal tomber selon ce qui précède.

Salut,

Oui mais non.
violIb doit contenir également les notes communes avec violIa (voir votre exemple adapté ci-dessous).
Si vous indiquez des silences invisibles (s4) la portée apparaîtra effectivement comme vide avant le divisi.

Pour moi il faut vraiment s'imaginer les musiciens dans l'orchestre : qui joue quoi.
Ainsi violIa reprend toutes les notes jouées par les musiciens assis à droite au pupitre de premier violon, violIb toutes les notes jouées par les musiciens assis à gauche au pupitre de premier violon.
Et les \unset Staff.keepAliveInterfaces et \set Staff.keepAliveInterfaces = #'() permettent juste de dire "ici c'est divisi (différentes portées)" ou "ici c'est unison (une seule portée)" et LilyPond se charge de compléter les débuts et fins de ligne avant et après le passage divisi.

> A l'inverse, je voudrais que cette portée disparaisse de la même façon
> quand le pupitre redevient uni.
> C'est ce qui m'avait fait basculer vers la portée d'ossia, avant que je
> ne rajoute le reste du quatuor en dessous. Je trouvais également plus
> intuitif de gérer deux portées au lieu de jouer à cache cache avec trois.

Maintenant si on veut avoir des portées qui apparaissent en cours de ligne (mais je n'ai jamais vu cela dans une "vraie partition") on peut utiliser les portées d'ossia (avec alignAboveContext ou alignBelowContext comme dit précédemment).


%%%%
\layout {
  short-indent = 2\cm
  indent = 3\cm
  \context {
    \Staff
    keepAliveInterfaces = #'()
  }
}

violIa = {
  \repeat unfold 48 { d'4 }
  \unset Staff.keepAliveInterfaces
  <d' g''>2
  \set Staff.keepAliveInterfaces = #'()
  \repeat unfold 14 { d'4 }
  \repeat unfold 24 { d'4 }
  \bar "|."
}

violIb = {
  \repeat unfold 48 { d'4 }
  \unset Staff.keepAliveInterfaces
  <g d'>2
  \set Staff.keepAliveInterfaces = #'()
  \repeat unfold 14 { d'4 }
  \repeat unfold 24 { d'4 }
  \bar "|."
}

\score {
  \new StaffGroup = "violinOneStaffgroup" \with {
    \consists Keep_alive_together_engraver
  } <<
    \new Staff = "violinOneStaff" \with {
      instrumentName = "Violins I"
      shortInstrumentName = "V I"
      \override VerticalAxisGroup.remove-layer = 2
    } {
      \violIa
    }
    \new Staff = "violinOneUpStaff" \with {
      instrumentName = "Violin Ia"
      shortInstrumentName = "V Ia"
      \RemoveAllEmptyStaves
      \override VerticalAxisGroup.remove-layer = 1
    } {
      \violIa
    }
    \new Staff = "violinOneDownStaff" \with {
      instrumentName = "Violin Ib"
      shortInstrumentName = "V Ib"
      \RemoveAllEmptyStaves
      \override VerticalAxisGroup.remove-layer = 1
    } {
      \violIb
    }
  >>
}
%%%%

Cordialement,
Xavier

--
Xavier Scheuer <x.scheuer@gmail.com>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]