lilypond-user
[Top][All Lists]
Advanced

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

Re: Appoggiatura in bass clef at start of piece


From: Jean Abou Samra
Subject: Re: Appoggiatura in bass clef at start of piece
Date: Thu, 27 Oct 2022 11:50:46 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.1

Le 27/10/2022 à 11:17, Peter Mitton a écrit :
Thanks, Harm,

Sorry, I seemed to have missed out the most important part of the challenge! Apologies. This is a simplified extract of the lower staff from the start of a two staff piano arrangement that requires 4 voices.

It’s the addition of the second voice that causes the additional treble clef to appear,  with a single voice there is no problem. But when you add a second…

\version "2.22.2"

\new Staff {
  <<
    \time 6/8
    \clef bass
    \new Voice = "a" {
      \voiceFour
      %\time 6/8 \clef bass
      \appoggiatura c,8 c2. \appoggiatura c,8 c2.
    }
    \new Voice = "b" {
      \voiceThree
      \grace s8  e2. \grace s8 e2.
    }
  >>
}

It renders as the attached file.

Which is not what I expect or want. Even an empty second voice with no notes also displays the extra clef and ledger lines and misplaces the grace note before the time signature.

The documentation on Grace notes <https://lilypond.org/doc/v2.22/Documentation/notation/special-rhythmic-concerns#grace-notes> says "Grace note synchronization can also lead to surprises. Staff notation, such as key signatures, bar lines, etc., are also synchronized. “ which I take as developer-speak for “Here be dragons”.



Actually, Harm's answer also applies to this new example, but perhaps
you didn't understand what the precise rule was. Let me try to explain.

LilyPond will get confused if you have parallel music expressions
with different grace timing. The term "parallel music expressions"
here means expression1, expression2, etc. in this construct:

<<
  expression1
  expression2
  ...
>>

while these are called "sequential expressions":

{
  expression1
  expression2
  ...
}


The golden rule is: if you use parallel expressions and one has graces,
all must have graces of the same length. To balance the graces, you can
use grace skips. This is a famous problem known as issue #34.


You are doing

<<
  \time 6/8 % expression 1
  \clef bass % expression 2
  \new Voice "a" { \voiceFour \appogiatura c,8 ... } % expression 3
  \new Voice = "b" { \voiceThree \grace s8 ... } % expression 4
>>


This puts \time 6/8 and \clef bass in parallel with the musical
voices. \time 6/8 is an expression of its own, but it doesn't have
grace timing in it. Thus LilyPond is confused. If you really want
to do it this way, you need to add grace skips to expressions 1
and 2 like this:

\version "2.22.2"

\new Staff {
  <<
    {
      \time 6/8
      \grace s8
    }
    {
      \clef bass
      \grace s8
    }
    \new Voice = "a" {
      \voiceFour
                                %\time 6/8 \clef bass
      \appoggiatura c,8 c2. \appoggiatura c,8 c2.
    }
    \new Voice = "b" {
      \voiceThree
      \grace s8  e2. \grace s8 e2.
    }
  >>
}



However, as Harm explained, it is probably simpler to move \time 6/8
and \clef bass out of the parallel music expression, into a sequential
music expression. Then you don't need these extra grace skips anymore.

\version "2.22.2"

\new Staff {
  \time 6/8
  \clef bass
  <<
    \new Voice = "a" {
      \voiceFour
                                %\time 6/8 \clef bass
      \appoggiatura c,8 c2. \appoggiatura c,8 c2.
    }
    \new Voice = "b" {
      \voiceThree
      \grace s8  e2. \grace s8 e2.
    }
  >>
}



Hope that's clear?

Best,
Jean





reply via email to

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