Referencia de la notación de GNU LilyPond: 4.5.5 Proportional notation

### 4.5.5 Proportional notation

LilyPond contempla la notación proporcional, un tipo de espaciado horizontal en el que cada nota consume una medida horizontal que equivale exactamente a su duración rítmica. Este tipo de espaciado proporcional es comparable al espaciado horizontal hecho sobre un papel milimetrado. Ciertas partituras del finales del s.XX y principios del s.XXI utilizan notación proporcional para clarificar relaciones rítmicas complejas o para facilitar la colocación de líneas cronométricas u otros gráficos directamente en la partitura.

LilyPond contempla cinco ajustes distintos para la notación proporcional, que se pueden usar solos o combinados:

- `proportionalNotationDuration`
- `uniform-stretching`
- `strict-note-spacing`
- `\remove Separating_line_group_engraver`
- `\override PaperColumn #'used = ##t`

En los ejemplos que siguen, exploramos el uso de estos cinco ajustes de la notación proporcional y examinamos la forma en que interactúan.

Comenzamos con el siguiente ejemplo de un solo compás, que usa un espaciado clásico sin justificación por la derecha.

>     \new Score <<
>       \new RhythmicStaff {
>         c'2
>         c'16 c'16 c'16 c'16
>         \times 4/5 {
>           c'16 c'16 c'16 c'16 c'16
>         }
>       }
>     >>

Observe que la blanca que inicia el compás ocupa mucho menos de la mitad de todo el espacio horizontal del compás. De forma similar, las semicorcheas y el cinquillo de semicorcheas con que finaliza el compás ocupan en conjunto mucho más de la mitad de todo el espacio horizontal del compás.

En el grabado clásico, este espaciado puede ser exactamente el que deseamos porque podemos tomar prestado el espacio horizontal de la blanca y conservar el espacio horizontal a lo largo del compás como un todo.

Por otro lado, si quieremos insertar una línea de tiempo graduada o algún otro gráfico encima o debajo de la partitura, necesitamos la notación proporcional. Se activa la notación proporcional con el ajuste `proportionalNotationDuration`.

>     \new Score \with {
>       proportionalNotationDuration = #(ly:make-moment 1 20)
>     } <<
>       \new RhythmicStaff {
>         c'2
>         c'16 c'16 c'16 c'16
>         \times 4/5 {
>           c'16 c'16 c'16 c'16 c'16
>         }
>       }
>     >>

La blanca al princpio del compás y las notas rápidas de la segunda mitad del compás ocupan ahora cantidades iguales de espacio horizontal. Podríamos colocar una línea de tiempo graduada o un gráfico encima o debajo de este ejemplo.

El ajuste `proportionalNotationDuration` es un ajuste de contexto que reside en `Score`. Recordemos que los ajustes de contexto aparecen en uno de tres posibles lugares del archivo de entrada: en un bloque `\with`, en un bloque `\context`, o directamente entre la música precedido por la instrucción `\set`. Como con todos los ajustes de contexto, el usuario puede elegir en cuál de los tres lugares diferentes prefiere establecer el valor de `proportionalNotationDuration`.

El ajuste `proportionalNotationDuration` acepta un solo argumento, que es la duración de referencia contra el que se aplica el espaciado de toda la música. La función Scheme de LilyPond `make-moment` acepta dos argumentos: un numerador y un denominador que, juntos, expresan una cierta fracción de redonda. La llamada `#(ly:make-moment 1 20)`, por tanto, produce una duración de referencia de una nota de un veinteavo de redonda (semicorcheas de cinquillo). Los valores `#(ly:make-moment 1 16)`, `#(ly:make-moment 1 8)` y `#(ly:make-moment 3 97)` son también posibles.

¿Cómo seleccionamos la duración correcta de referencia para pasarla a `proportionalNotationDuration`? Normalmente mediante un proceso de ensayo y error, comenzando con una duración cercana a la más rápida (o más breve) duración de la pieza. Las duraciones de referencia más pequeñas aplican un espaciado más suelto; las duraciones de referencia más largas aplican un espaciado más apretado.

>     \new Score \with {
>       proportionalNotationDuration = #(ly:make-moment 1 8)
>     } <<
>       \new RhythmicStaff {
>         c'2
>         c'16 c'16 c'16 c'16
>         \times 4/5 {
>           c'16 c'16 c'16 c'16 c'16
>         }
>       }
>     >>

>     \new Score \with {
>       proportionalNotationDuration = #(ly:make-moment 1 16)
>     } <<
>       \new RhythmicStaff {
>         c'2
>         c'16 c'16 c'16 c'16
>         \times 4/5 {
>           c'16 c'16 c'16 c'16 c'16
>         }
>       }
>     >>

>     \new Score \with {
>       proportionalNotationDuration = #(ly:make-moment 1 32)
>     } <<
>       \new RhythmicStaff {
>         c'2
>         c'16 c'16 c'16 c'16
>         \times 4/5 {
>           c'16 c'16 c'16 c'16 c'16
>         }
>       }
>     >>

Observe que una duración de referencia demasiado grande (como la corchea, en el ejemplo de arriba) produce un espaciado excesivamente apretado y puede ser causa de colisiones entre las cabezas de nota. Observe también que la notación proporcional en general ocupa más espacio horizontal que el espaciado clásico. El espaciado proporcional aporta claridad rítmica a expensas del espacio horizontal.

Ahora veremos cómo espaciar de forma óptima grupos de valoración especial que se superponen.

Empezamos por examinar qué le ocurre a nuestro ejemplo original, con espaciado clásico, cuando añadimos un segundo pentagrama con un tipo diferente de grupo especial.

>     \new Score <<
>       \new RhythmicStaff {
>         c'2
>         c'16 c'16 c'16 c'16
>         \times 4/5 {
>           c'16 c'16 c'16 c'16 c'16
>         }
>       }
>       \new RhythmicStaff {
>         \times 8/9 {
>           c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
>         }
>       }
>     >>

El espaciado es defectuoso porque las notas regularmente espaciadas del pentagrama inferior no se amplían de manera uniforme. El grabado clásico incluye muy pocos tresillos complejos y así las reglas del grabado clásico pueden generar este tipo de resultado. El establecimiento de `proportionalNotationDuration` remedia esta situación considerablemente.

>     \new Score \with {
>       proportionalNotationDuration = #(ly:make-moment 1 20)
>     } <<
>       \new RhythmicStaff {
>         c'2
>         c'16 c'16 c'16 c'16
>         \times 4/5 {
>           c'16 c'16 c'16 c'16 c'16
>         }
>       }
>       \new RhythmicStaff {
>         \times 8/9 {
>           c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
>         }
>       }
>     >>

Pero si observamos con mucho cuidado podremos ver que las notas de la segunda mitad del 9-illo están espaciadas de forma ligeramente más ancha que las de la primera mitad del 9-illo. Para asegurar una ampliación uniforme, activamos `uniform-stretching`, que es una propiedad de `SpacingSpanner`.

>     \new Score \with {
>       proportionalNotationDuration = #(ly:make-moment 1 20)
>       \override SpacingSpanner #'uniform-stretching = ##t
>     } <<
>       \new RhythmicStaff {
>         c'2
>         c'16 c'16 c'16 c'16
>         \times 4/5 {
>           c'16 c'16 c'16 c'16 c'16
>         }
>       }
>       \new RhythmicStaff {
>         \times 8/9 {
>           c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
>         }
>       }
>     >>

Nuestro ejemplo de dos pentagramase ahora está espaciado exactamente, nuestras relaciones rítmicas son visualmente claras, y podemos incluir una línea de tiempo graduada o un gráfico, si queremos.

Observe que el paquere de notación proporcional de LilyPond espera que todas las partituras proporcionales establezcan el atributo `uniform-stretching` de `SpacingSpanner` al valor ##t. El establecimiento de `proportionalNotationDuration` sin ajustar también el atributo `uniform-stretching` de `SpacingSpanner` al valor ##t causará, por ejemplo, que los desplazamientos (`skips`) consuman una cantidad de espacio horizontal incorrecta.

El `SpacingSpanner` es un grob abstracto que reside en el contexto de `Score`. Como con nuestros ajustes de `proportionalNotationDuration`, las sobreescrituras al `SpacingSpanner` sólo pueden ocurrir en uno de estos tres lugares dentro del archivo de entrada: en el bloque `\with`, en el bloque `\context` o directamente dentro de la escritura de notas.

De manera predeterminada, sólo hay un `SpacingSpanner` por `Score`. Esto supone que, por omisión, `uniform-stretching` está activado para la partitura completa o desactivado para la partitura completa. Sin embargo, podemos sobreesacibir este comportamiento y activar distintas posibilidades de espaciado en distintos lugares de la partitura. Lo hacemos con la instrucción `\newSpacingSection`. Consulte New spacing area para más información.

A continuación examinamos los efectos del grabador `Separating_line_group_engraver` y veremos por qué las partituras proporcionales con frecuencia eliminan este grabador. El ejemplo siguiente muestra que hay una pequeña cantidad de espacio “preparatorio” justo antes de la primera nota de cada sistema.

>     \paper {
>       indent = #0
>     }

>     \new Staff {
>       c'1
>       \break
>       c'1
>     }

Esta cantidad de espacio preparatorio es la misma ya sea después de una indicación de compás, una armadura o una clave. El grabador `Separating_line_group_engraver` es responsable de este espacio. La eliminación de `Separating_line_group_engraver` reduce este espacio a cero.

>     \paper {
>       indent = #0
>     }

>     \new Staff \with {
>       \remove Separating_line_group_engraver
>     } {
>       c'1
>       \break
>       c'1
>     }

Los elementos no musicales como la indicación de compás, la armadura, la clave y las alteraciones son problemáticos en notación proporcional. Ninguno de estos elementos tiene duración rítmica. Pero todos ellos consumen espacio horizontal. Las distintas partituras proporcionales abordan este problema de distinta manera.

Sería posible evitar los problemas de espaciado con las armaduras, simplemente evitando tenerlas. Esta es una opción válida pues casi todas las partituras proporcionales son música contemporánea. Lo mismo puede valer para las indicaciones de compás, especialmente para las partituras que incluyen una línea de tiempo graduada u otro gráfico. Pero estas partituras son excepcionales y casi todas las partituras proporcionales incluyen al menos unas pocas indicaciones de compás. Las claves y las alteraciones son aún más esenciales.

Así pues ¿qué estrategias existen para el espaciado de los elementos no musicales en un contexto proporcional? Una buena opción es la propiedad `strict-note-spacing` de `SpacingSpanner`. Compare las dos partituras siguientes:

>     \new Staff {
>       \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
>       c''8
>       c''8
>       c''8
>       \clef alto
>       d'8
>       d'2
>     }

>     \new Staff {
>       \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
>       \override Score.SpacingSpanner #'strict-note-spacing = ##t
>       c''8
>       c''8
>       c''8
>       \clef alto
>       d'8
>       d'2
>     }

Las dos poartituras son proporcionales, pero el espaciado de la primera es muy suelto a causa del cambio de clave. Sin embargo, el espaciado de la segunda partitura se mantiene estricto, porque `strict-note-spacing` está activado. La activación de `strict-note-spacing` hace que el ancho de las indicaciones de compás, armaduras, cambios de clave y alteraciones no tomen parte en el algoritmo de espaciado.

Además de los ajustes dados aquí, hay otros que aparecen con frecuencia en las partituras proporcionales. Entre ellos están:

- `\override SpacingSpanner #'strict-grace-spacing = ##t`
- `tupletFullLength = ##t`
- `\override Beam #'breakable = ##t`
- `\override Glissando #'breakable = ##t`
- `\override TextSpanner #'breakable = ##t`
- `\remove Forbid_line_break_engraver in the Voice context`

Estos ajustes dan a las notas de adorno un espaciado estricto, extienden los corchetes de grupo especial para que marquen tanto los puntos de comienzo como de final, y permiten que los elementos de extensión se dividan entre los sistemas y las páginas. Consulte las partes respectivas del manual para ver estos ajustes relacionados.

#### Véase también

Referencia de la notación: New spacing area.

Fragmentos de código: Spacing.

Other languages: English, français.

#### Manual de referencia de la notación