lilypond-user
[Top][All Lists]
Advanced

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

Re: Acciaccatura distoring spacing


From: David Sumbler
Subject: Re: Acciaccatura distoring spacing
Date: Mon, 20 May 2019 13:36:10 +0100

I sent the message quoted below to the list last week.  I received no
replies, the principal reason for which is, I suspect, that there is
currently no solution to the problem.

I have encountered this sort of difficulty before.  Lilypond arranges
notes so that those that occur later in time on any staff in a system
are always farther to the right that those that are earlier.  This, of
course, is usually what one wishes to happen.

The problem I encountered presumably results from the fact that
acciaccature are deemed to take no time at all.  (This is how they are
treated in notation theory although of course in reality they must take
a finite amount of time, at least with non-polyphonic instruments.)

Here is a shorter snippet which illustrates the problem:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.19.82"

\paper { line-width = 65\mm }

<<
  {
    \new Staff \time 2/4
    \tuplet 7/4 { g'16 a' b' c'' d'' e'' f'' } g''8 r
  }
  {
    \new Staff
    \tuplet 3/2 4 { g''8 \acciaccatura a'' g'' g'' } g'' r
  }
>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

In theory the second note of the lower staff's triplet comes 1/3 of the
way through the 3rd note of the septuplet on the upper staff.  In
practice, nobody cares at all about that: performers wouldn't even give
it a passing thought except perhaps in an extremely slow tempo.  But
because Lilypond deems that the acciaccatura occurs at the same time as
the "main" note that follows it, it insists on a gap between the 3rd
and 4th notes of the septuplet which is at least as big as the printed
distance between the grace note and the main note.

This is clearly not what one expects to see in a well laid-out score. 
We would probably want other staves which have triplets to line up with
the triplet in the lower staff here, but the notes of the septuplet
should be evenly spaced over its total width.

What would be useful in these rare cases would be the ability to have
spacing calculated separately for different groups of staves.  In the
example, just for this one beat we need to tell Lilypond to work out
the spacing for all the staves apart from the one with the septuplet,
and separately to work out the spacing for the septuplet as if it were
part of a different score.  This would obviously have to be done at
least twice, because ultimately the total width of the 2 spacing
versions must be the same (probably the triplet's width would have to
be increased somewhat to match the septuplet's).  After this
troublesome section of a single beat's length, the whole score would
then be treated as a single entity for timing purposes as usual.

In the mean time, does anyone know of a way of getting the septuplet to
look right?

David


On Wed, 2019-05-15 at 16:45 +0100, David Sumbler wrote:
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> \version "2.19.82"
> 
> \paper { line-width = 150\mm }
> #(set-global-staff-size 16)
> <<
>   {
>     \new Staff \time 5/4
>     r2 \tuplet 7/4 { g'16 a' b' c'' d'' e'' f'' } g''8 r r4 |
>   }
>   {
>     \new Staff
>     \tuplet 3/2 4 { 
>       \repeat unfold 3 {
>         r8 \repeat unfold 3 { \acciaccatura a'' g'' } }
>       r8 \repeat unfold 2 { \acciaccatura a''8 g'' } }
> >> }
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> 
> When the above is compiled, there is an unwanted gap between the 3rd
> and 4th septuplets in the upper staff.  This undoubtedly has
> something
> to do with the acciaccatura in the other staff.
> 
> (There are 10 other staves in the original passage this is taken
> from,
> some of which also have triplet quavers but not
> acciaccature.  Removing
> the one line with the grace-notes gives an evenly spaced septuplet.)
> 
> Is there any way of getting the septuplet evenly spaced?





reply via email to

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