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

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

Re: Usage de \startGroup


From: Valentin Villenave
Subject: Re: Usage de \startGroup
Date: Fri, 6 Mar 2020 15:18:11 +0000

On 3/6/20, julien via LilyPond French-speaking list
<address@hidden> wrote:
> Où placer stopGroup dans le cas d'une expression à plusieurs voix ?

Bonjour,
si je puis me permettre de commencer par un petit conseil : veillez à
poster de préférence des bouts de code prêts-à-compiler, ce qui fait
gagner du temps à tous les gens qui pourraient vous répondre (ou
consulter les archives de la liste dans les années à venir).

Pour vous répondre en détail. \startGroup et \stopGroup s’attachent
toutes les deux après un événement rythmique visible (pas un silence
invisible ou un <>), et uniquement dans la même voix (c’est-à-dire
plus exactement dans le même contexte Voice).

Du coup, vous avez plusieurs possibilités : soit tricher et ramener le
dernier mi dans la voix principale, soit démarrer dès le début en
polyphonie (masquée par \oneVoice) pour pouvoir démarrer le startGroup
dans la même voix où il se terminera plus loin.

Ou bien encore, garder votre construction qui démarre à une voix et se
divise ensuite, mais en vous débrouillant pour que la polyphonie entre
<< et >> passe par exactement le même contexte Voice que celui du
début, par exemple en lui donnant un nom.

L’extrait suivant montre toutes ces stratégies possibles, ainsi qu’un
autre petit hack assez rigolo lorsqu’on connaît bien comment LilyPond
fonctionne : dès qu’il voit passer une construction polyphonique <<
>>, il crée des voix (des contextes Voice) qu’il intitule "1", "2",
etc. Du coup puisque votre crochet doit se terminer sur une note de la
deuxième voix (qu’il va donc numéroter "2"), il suffit ici de dire à
LilyPond de commencer dès le début sa mélodie sur un contexte Voix que
l’on va baptiser "2". Et du coup le \startGroup se retrouve dans le
même contexte où l’on trouvera le \stopGroup plus loin.

%%%

\layout {
  \context {
    \Voice
    \consists "Horizontal_bracket_engraver"
  }
}
\relative {
  a'2 \startGroup ^\markup {\teeny \bold {retrograde}} b
  c a |
  <<{b1*1/2}\\{ g4. f8}>>
  \once \stemDown e2\stopGroup
  d4 f e d
}

\relative {
  <<
    {
      \oneVoice
      a'2\startGroup
      ^\markup {\teeny \bold {retrograde}} b
      c a | \voiceTwo
      g4. f8 e2\stopGroup
    } \\ {
      s1*2\startGroup
      b'1
    }
  >>
  d,4 f e d
}

\new Voice = "principale" \relative {
  a'2 \startGroup ^\markup {\teeny \bold {retrograde}} b
  c a |
  <<
    \new Voice = "annexe" {\voiceOne b1*1/2}
    \context Voice = "principale"
    {
      \voiceTwo g4. f8 e2\stopGroup
      \oneVoice
  }>>
  d4 f e d
}

\new Voice = "2" \relative {
  a'2 \startGroup ^\markup {\teeny \bold {retrograde}} b
  c a |
  <<{b1}\\{ g4. f8 e2\stopGroup }>>
  d4 f e d
}

%%%

Cordialement,
V.



reply via email to

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