4.5.5 Notación proporcional
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.
\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 queremos 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
.
\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 } } >> \layout { \context { \Score proportionalNotationDuration = #(ly:make-moment 1 20) } } }
La blanca al principio 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). Son también posibles valores como
#(ly:make-moment 1 16)
,
#(ly:make-moment 1 8)
y #(ly:make-moment 3 97)
.
¿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.
\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 } } >> \layout { \context { \Score proportionalNotationDuration = #(ly:make-moment 1 8) } } } \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 } } >> \layout { \context { \Score proportionalNotationDuration = #(ly:make-moment 1 16) } } } \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 } } >> \layout { \context { \Score proportionalNotationDuration = #(ly:make-moment 1 32) } } }
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.
\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. Los grabados
clásicos incluyen muy pocos tresillos complejos y así las reglas del
grabado clásico pueden generar este tipo de resultado. El
establecimiento de proportionalNotationDuration
lo
soluciona.
\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 } } >> \layout { \context { \Score proportionalNotationDuration = #(ly:make-moment 1 20) } } }
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
.
\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 } } >> \layout { \context { \Score proportionalNotationDuration = #(ly:make-moment 1 20) \override SpacingSpanner #'uniform-stretching = ##t } } }
Nuestro ejemplo de dos pentagramas 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 paquete 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 sobreescribir este
comportamiento y activar distintas posibilidades de espaciado en
distintos lugares de la partitura. Lo hacemos con la instrucción
\newSpacingSection
. Consulte Área de espaciado nueva
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 partituras 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: Área de espaciado nueva.
Fragmentos de código: Spacing.