4.5.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.

c2\fermata
\override Script #'padding = #3
b2\fermata

[image of music]

% Esto no va a funcionar, véase más abajo:
\override MetronomeMark #'padding = #3
\tempo 4=120
c1
% Esto sí funciona:
\override Score.MetronomeMark #'padding = #3
\tempo 4=80
d1

[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 properties 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.

left-padding y right-padding (relleno por la izquierda y 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 ejemplo siguiente muestra una situación en la que sí se necesita. Suponga que queremos presentar un acorde que contiene un Si natural y un Si bemol. Para evitar la ambigüedad querríamos preceder las notas con un becuadro y un bemol. Aquí vienen varios intentos de hacerlo así:

<b bes>
<b! bes>
<b? bes>

[image of music]

Ninguno de ellos funciona y el segundo además presenta una fea colisión entre las dos alteraciones.

Una forma de conseguirlo es sobreescribir el sello de la alteración con un elemento de marcado que contenga los símbolos de becuadro y bemol en el orden que nos gustaría que estuvieran, así:

becuadro_y_bemol = \markup { \natural \flat }
\relative c'' {
  \once \override Accidental
    #'stencil = #ly:text-interface::print
  \once \override Accidental #'text = #becuadro_y_bemol
  \once \override Score.AccidentalPlacement #'right-padding = #1.5
  <b bes>
}

[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 becuadro seguido de un bemol. Entonces el conjunto 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 altura fija sobre el pentagrama, en lugar de hacerlo a una altura que dependa de la posición de la nota a la que están adosados. 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:

\dynamicUp
% Aumentar la anchura en una unidad
\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
% Alinear los matices a dos unidades por encima del pentagrama
\override DynamicLineSpanner #'staff-padding = #2
a4\f b\mf c\mp b\p

[image of music]

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

El ejemplo siguiente muestra cómo esto puede resolver la colisión entre un objeto de digitación de cuerda y 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:

<< {c 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 -4 para MultiMeasureRest, así que tenemos que bajarlo, digamos, cuatro semi-espacios de pentagrama, al valor -8.

<<
  {c c c c}
\\
  \override MultiMeasureRest #'staff-position = #-8
  {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.

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:

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

[image of music]

la propiedad positions (posiciones)

La propiedad positions permite controlar manualmente la posición e inclinación de los tresillos, ligaduras de expresión y de fraseo, y barras de corchea. He aquí un ejemplo que tiene una fea ligadura de fraseo debido a que intenta evitar la ligadura de expresión que está sobre la acciaccatura.

r4  \acciaccatura e8\( d8 c ~c d c d\)

[image of music]

Simplemente podemos mover la ligadura de fraseo por encima de las notas, y de hecho ésta será la solución preferida:

r4
\phrasingSlurUp
\acciaccatura e8\( d8 c ~c d c d\)

[image of music]

Pero si por algún motivo no pudiéramos hacerlo, la otra alternativa sería mover el extremo izquierdo de la ligadura de fraseo un poco hacia abajo usando la propiedad positions. Esto también resuelve la forma algo indecente de la ligadura.

r4
\once \override PhrasingSlur #'positions = #'(-4 . -3)
\acciaccatura
e8\( d8 c ~c d c d\)

[image of music]

Presentamos un ejemplo más extraído del comienzo del pentagrama de la mano izquierda del preludio de Chopin Op 28 No. 2. vemos que la barra choca con las notas superiores:

{
\clef "bass"
<< {b,8 ais, b, g,} \\ {e, g e, g} >>
<< {b,8 ais, b, g,} \\ {e, g e, g} >>
}

[image of music]

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

{
  \clef "bass"
  <<
    \override Beam #'positions = #'(3 . 3)
    {b,8 ais, b, g,}
  \\
    {e, g e, g}
  >>
  << {b,8 ais, b, g,} \\ {e, g e, g} >>
}

[image of music]

Observe que la sobreescritura sigue aplicándose en la primera voz del segundo bloque de corcheas, pero no a ninguna de las barras de la segunda voz.

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 c'' {
  \key aes \major
  <<
    { c2 aes4. bes8 } \\
    { aes2 f4 fes   } \\
    { \voiceFour
      <ees c>2
      des2
    }
  >> |
  <c ees aes c>1 |
}

[image of music]

Las dos notas inferiores del primer acorde (es decir, las que están en al tercera voz) no deberían separarse de la columna de notas de las dos notas agudas. Para corregir esto, establecemos el valor de force-hshift (que es una propiedad de NoteColumn) de esas notas a cero. La nota más grave del segundo acorde se sitúa mejor justo a la derecha de las más agudas. Lo conseguimos estableciendo el valor de force-hshift de esta nota a 0.5, o sea, la anchura de media cabeza de nota a la derecha de la columna de las notas agudas.

Presentamos a continuación el resultado final:

\new Staff \relative c'' {
  \key aes \major
  <<
    { c2 aes4. bes8 } \\
    { aes2 f4 fes   } \\
    { \voiceFour
      \once \override NoteColumn #'force-hshift = #0 <ees c>2
      \once \override NoteColumn #'force-hshift = #0.5 des2
    }
  >> |
  <c ees aes c>1 |
}

[image of music]


Otros idiomas: English, français, deutsch.

Manual de aprendizaje