4.6.2 Arreglar notación con superposiciones

Veamos ahora cómo pueden ser de ayuda las propiedades que hemos visto en la sección anterior, para resolver problemas de notación que se superpone.


La propiedad padding (relleno)

La propiedad padding se puede ajustar para aumentar (o disminuir) la distancia entre símbolos impresos encima o debajo de las notas.

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]

Observe en el segundo ejemplo la gran importancia que tiene saber qué contexto maneja un determinado objeto. Puesto que el objeto MetronomeMark se maneja dentro del contexto Score, los cambios de propiedades en el contexto Voice pasarán inadvertidos. Para ver más detalles, consulte Modificar las propiedades.

Si la propiedad de relleno padding de un objeto se incrementa cuando dicho objeto se encuentra en una pila de objetos que se están colocando de acuerdo a su prioridad outside-staff-priority, entonces ese objeto se moverá, y también todos los que están por fuera de él.


La propiedad right-padding (relleno por la derecha)

La propiedad right-padding afecta al espaciado entre la alteración y la nota a que se aplica. Normalmente no es necesaria, pero el espaciado predeterminado puede estar mal para ciertos glifos de alteraciones o combinaciones de glifos que se usan en música microtonal. Éstos tienen que introducirse sobreescribiendo el sello de la alteración con un elemento de marcado que contenga los símbolos deseados, así:

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]

Esto utiliza necesariamente una sobreescritura para el sello de la alteración que no se estudiará hasta más adelante. El tipo de sello debe ser un procedimiento, aquí modificado para que imprima el contenido de la propiedad text del objeto Accidental, que a su vez está establecido como un signo de sesquisostenido. Entonces el signo se puede separar de la cabeza de la nota sobreescribiendo right-padding.


La propiedad staff-padding (relleno de pentagrama)

staff-padding se puede usar para alinear objetos como matices dinámicos a lo largo de una línea de base a una distancia fija del pentagrama, siempre que no exista ningún otro elemento de notación que fuerce una distancia mayor al pentagrama. No es una propiedad de DynamicText sino de DynamicLineSpanner. Esto es así porque la línea de base debe aplicarse por igual a todas las dinámicas, entre ellas las que se han creado como objetos de extensión. Así que ésta es la forma de alinear las indicaciones de matiz en el ejemplo de la sección anterior:

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

[image of music]


La propiedad self-alignment-X (auto-alineación en X)

El ejemplo siguiente muestra cómo ajustar la posición de un objeto de digitación de cuerda en relación a la plica de una nota mediante el alineamiento del límite derecho con el punto de referencia de la nota «padre»:

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

[image of music]


La propiedad staff-position (posición en el pentagrama)

Los silencios multi-compás en una voz pueden chocar con las notas en otra voz. Puesto que estos silencios se tipografían centrados entre las barras de compás se necesitaría bastante esfuerzo para que LilyPond averiguara qué otras notas podrían chocar con él, ya que actualmente todo el manejo de colisiones entre notas y silencios se hace solamente para notas y silencios que ocurren al mismo tiempo. He aquí un ejemplo de colisión de este tipo:

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

[image of music]

La mejor solución aquí es mover el silencio multi-compás hacia abajo, pues el silencio está en la voz dos. El ajuste predeterminado para \voiceTwo (es decir, en la segunda voz de una construcción <<{…} \\ {…}>>) es que staff-position tenga el valor -6 para MultiMeasureRest, así que tenemos que bajarlo, digamos, cuatro semi-espacios de pentagrama, al valor -10.

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

[image of music]

Esto es mejor que utilizar, por ejemplo, extra-offset, porque la línea adicional por encima del silencio se inserta automáticamente.

Consulte la sección ‘Edición manual de las ligaduras’ en Ligaduras de unión para ver la diferencia entre valores exactos e inexactos.


La propiedad extra-offset (desplazamiento adicional)

La propiedad extra-offset da un completo control sobre el posicionamiento de un objeto tanto vertical como horizontalmente.

En el ejemplo siguiente, la segunda digitación se desplaza ligeramente a la izquierda, y 1.8 espacios de pentagrama hacia abajo:

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

[image of music]


La propiedad positions (posiciones)

La propiedad positions permite controlar manualmente la posición vertical y de ahí también la inclinación de los tresillos, ligaduras de expresión y de fraseo, y barras de corchea.

He aquí un ejemplo en el que las ligaduras de fraseo y de expresión chocan entre sí:

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

[image of music]

Una posibilidad sería mover los dos extremos de la ligadura de fraseo hacia arriba. Podemos tratar de establecer el extremo izquierdo a 2.5 espacios de pentagrama por encima de la tercera línea y el extremo derecho a 4.5 también hacia arriba, y LilyPond seleccionaría la ligadura de fraseo de entre las candidatas que ha encontrado con sus extremos más cercanos a éstos:

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

[image of music]

Esto supone una mejora, pero ¿por qué no bajar un poco el extremo derecho de la ligadura de expresión? Si lo probamos, veremos que no se puede hacer así. Ello es a causa de que no existen ligaduras de expresión candidatas que estén más bajas que la que ya se ha seleccionado, y en este caso la propiedad positions no tiene ningún efecto. Sin embargo, las ligaduras de unión, expresión y fraseo se pueden colocar y conformar de manera muy exacta cuando se necesita. Para aprender la manera de hacerlo, consulte unión y de expresión Modificación de ligaduras de unión y de expresión.

Presentamos otro ejemplo. Vemos que la barra choca con las ligaduras:

{
  \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]

Esto se puede resolver manualmente elevando los dos extremos de la barra desde su posición a 1.81 espacios de pentagrama bajo la línea central hasta, digamos, 1 espacio:

{
  \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]

Observe que la sobreescritura sigue aplicándose en la segunda voz del segundo compás de corcheas, pero no a ninguna de las barras de la primera voz, ni siquiera a las que están en el segundo compás, que es posterior. Tan pronto como la sobreescritura no pueda tener ningún efecto, debería ser revertida como se muestra.


La propiedad force-hshift (forzar desplazamiento horizontal)

Ahora podremos ver cómo aplicar las correcciones finales al ejemplo de Chopin que presentamos al final de Oigo voces, que dejamos con este aspecto:

\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]

Es necesario que la nota interior del primer acorde (el La bemol de la cuarta voz) no se aparte de la columna vertical de la nota aguda, por lo que usamos \shiftOff.

En el segundo acorde preferimos que el Fa esté alineado con el La bemol y que la nota grave se coloque ligeramente a la derecha para evitar una colisión de las plicas. Lo conseguimos ajustando el valor de force-hshift en la NoteColumn del Re bemol grave para moverlo a la derecha medio espacio de pentagrama, y fijando force-hshift para el Fa al vaor cero. Observe que usamos \once para evitar que los ajustes se propaguen más allá del momento musical inmediato, aunque en este pequeño ejemplo podrían omitirse el \once y el segundo \override de la cuarta voz. Ello no supondría una buena práctica.

Presentamos a continuación el resultado 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]


LilyPond — Manual de aprendizaje v2.23.3 (rama de desarrollo).