Siguiente: , Anterior: Barras automáticas, Arriba: Barras


Establecer el comportamiento de las barras automáticas

La colocación de barras automáticas viene determinada por las reglas descritas en Barras automáticas. Existen dos formas mutuamente excluyentes de modificar estas reglas. La primera es modificar la agrupación de los pulsos y se aplica a compases poco usuales, es decir, aquellos para los que no ha reglas predefinidas que definen los puntos de final de las barras. El segundo método, modificar la especificación de los puntos finales de las barras, se puede usar para cualquier tipo de compás. Este segundo método se debe usar para aquellos compases y combinaciones de duración de barras para los que existen reglas predefinidas de final de barra, a no ser que se hayan revertido. Hay reglas predefinidas para los compases de 3/2, 3/4, 4/4, 2/4, 4/8, 4/16, 6/8, 9/8 y 12/8.

Modificar las agrupaciones de pulsos

Si no hay definida ninguna regla de final de barra para la duración de una barra en particular dentro del tipo de compás en uso, su barrado se controla mediante tres propiedades de contexto: measureLength, beatLength y beatGrouping. Estas propiedades se deben establecer en los contextos Score, Staff o Voice para delimitar el ámbito de su efecto. Los valores predeterminados se establecen al procesarse las instrucciones \time, por ello las instrucciones \set se deben escribir después de todas las instrucciones \time.

Dichas propiedades determinan el barrado de la siguiente forma:

Las barras pueden dar comienzo en cualquier lugar (excepto si ya hay una barra activa). Las barras terminan en un tiempo determinado por los valores de beatGrouping y beatLength, com se ve a continuación:

Nota: Estas tres propiedades se hacen efectivas para una barra concreta solamente si no hay reglas de final de barra predefinidas para esa duración de barra en el tipo de compás en uso, o si todas esas reglas de final de barra se han revertido.

De forma predeterminada, las propiedades the measureLength y beatLength se derivan del compás establecido por la instrucción \time. La longitud measureLength está establecida de forma que sea exactamente la misma que la longitud del compás dado por la indicación de compás, y la longitud del pulso beatLength tiene un valor dado igual a una parte de compás (1/n, siendo n el denominador del compás).

El valor predeterminado de beatGrouping se toma de una tabla que está en scm/music-functions.scm. Para localizarla, véase Otras fuentes de información. Define la agrupación de pulsos para los compases de 5/8, 6/8, 8/8, 9/8 y 12/8.

Tanto measureLength como beatLength son momentos, unidades de duración musical. Las cantidades del tipo moment se crean por la función de Scheme ly:make-moment. Para ver más información sobre esta función, consulte Gestión del tiempo.

beatGrouping es una lista de enteros que dan el número de pulsos en cada grupo.

Fragmentos de código seleccionados

Agrupar los pulsos

Los patrones de barrado se pueden alterar con la propiedad beatGrouping:

     
     \relative c'' {
       \time 5/16
       \set beatGrouping = #'(2 3)
       c8[^"(2+3)" c16 c8]
       \set beatGrouping = #'(3 2)
       c8[^"(3+2)" c16 c8]
     }
     

[image of music]

Especificar el contexto con beatGrouping

Mediante la especificación del contexto, el efecto de beatGrouping puede limitarse al contexto especificado, y sobreescribirse los valores establecidos en contextos de niveles más altos:

     
     \score {
       \new Staff <<
         \time 7/8
         \new Voice {
           \relative c'' {
             \set Staff.beatGrouping = #'(2 3 2)
             a8 a a a a a a
           }
         }
         \new Voice {
           \relative c' {
             \voiceTwo
             \set Voice.beatGrouping = #'(1 3 3)
             f8 f f f f f f
           }
         }
       >>
     }

[image of music]

Utilización de beatLength y beatGrouping

La propiedad measureLength determina dónde se deben insertar líneas divisorias y, con beatLength y beatGrouping, cómo se deben generar las barras autoomáticas para las duraciones de barra y compases para los que no hay ninguna regla definida para los finales de barra. Este ejemplo muestra distintas dormas de controlar el barrado mediante el establecimiento de estas propiedades. Las explicaciones están en forma de comentarios dentro del código.

     
     \relative c'' {
       \time 3/4
       % De forma predeterminada, en 3/4 el barrado se hace en tres grupos
       % de una negra de longitud cada uno
       a16 a a a a a a a a a a a
     
       \time 12/16
       % No hay ningún barrado automático definido para 12/16
       a16 a a a a a a a a a a a
     
       \time 3/4
       % Cambiar el símbolo de compás, manteniendo el barrado subyacente de 3/4
       \set Score.timeSignatureFraction = #'(12 . 16)
       a16 a a a a a a a a a a a
     
       % El agrupamiento predeterminado de (1 1 1) y beatLength de 1/8 del compás 3/4
       % no son consistentes con una longitud de compás measureLength de 3/4, por ello las barras
       % se agrupan a intervalos de beatLength
       \set Score.beatLength = #(ly:make-moment 1 8)
       a16 a a a a a a a a a a a
     
       % Especificar barras en grupos de (3 3 2 3) semicorcheas
       % 3+3+2+3=11, y 11*1/16<>3/4, así que no es de aplicación beatGrouping
       % y las barras se agrupan a intervalos de beatLength (semicorcheas)
       \set Score.beatLength = #(ly:make-moment 1 16)
       \set Score.beatGrouping = #'(3 3 2 3)
       a16 a a a a a a a a a a a
     
       % Especificat barras en grupos de (3 4 2 3) semicorcheas
       % 3+4+2+3=12, y 12*1/16=3/4, así pues beatGrouping es de aplicación
       \set Score.beatLength = #(ly:make-moment 1 16)
       \set Score.beatGrouping = #'(3 4 2 3)
       a16 a a a a a a a a a a a
     }
     

[image of music]

Subdivisión de las barras de semicorchea

Las barras de semicorcheas (o notas más breves) seguidas no se subdividen de forma predeterminada. Esto es: las tres (o más) barras se prolongan, sin dividirse, sobre grupos completos de notas. Este comportamiento se puede modificar para que las barras se subdividan en subgrupos mediante el establecimiento de la propiedad subdivideBeams. Cuando está establecida, las diversas barras se subdividen a intervalos definidos por el valor actual de la longitud del pulso beatLength reduciendo las barras múltiples a una sola entre los subgrupos. Observe que el valor predeterminado de beatLength es de una negra si no está establecido explícitamente. Se debe establecer al valor de una fracción que da la duración el subgrupo de barras utilizando la función make-moment, como se muestra aquí:

     
     \relative c'' {
       c32[ c c c c c c c]
       \set subdivideBeams = ##t
       c32[ c c c c c c c]
     
       % Fijar la longitud del subgrupo de barras a una corchea
       \set beatLength = #(ly:make-moment 1 8)
       c32[ c c c c c c c]
     
       % Fijar la longitud del subgrupo de barras a una semicorchea
       \set beatLength = #(ly:make-moment 1 16)
       c32[ c c c c c c c]
     }

[image of music]

Símbolos de dirección, símbolos de agrupación de compás

Las opciones para agrupar los pulsos de un compás están a nuestra disposición a través de la función de Scheme set-time-signature, que acepta tres argumentos: el número de pulsos, la longitud del pulso, y la agrupación interna de los pulsos dentro del compás. Si se incluye el grabador Measure_grouping_engraver, la función crea también símbolos de agrupación MeasureGrouping. Dichos símbolos facilitan la lectura de la música moderna de cierta complejidad rítmica. En el ejemplo, el compás de 9/8 se subdivide en 2, 2, 2 y 3. Esto se pasa a la función set-time-signature como tercer argumento: '(2 2 2 3):

     
     \score {
       \relative c'' {
         #(set-time-signature 9 8 '(2 2 2 3))
         #(revert-auto-beam-setting '(end * * 9 8) 3 8)
         #(override-auto-beam-setting '(end 1 8 9 8) 1 4)
         #(override-auto-beam-setting '(end 1 8 9 8) 2 4)
         #(override-auto-beam-setting '(end 1 8 9 8) 3 4)
         g8 g d d g g a( bes g) |
         #(set-time-signature 5 8 '(3 2))
         a4. g4
       }
       \layout {
         \context {
           \Staff
           \consists "Measure_grouping_engraver"
         }
       }
     }

[image of music]

Modificar los puntos finales de las barras

En compases de tipo normal, las barras automáticas pueden comenzar en cualquier nota pero solamente pueden terminar en algunas poriciones dentro del compás, concretamente en las duraciones que estén especificadas por las propiedades de autoBeamSettings. Estas propiedades consisten en una lista de reglas que especifican dónde pueden terminar las barras. Las reglas predeterminadas de autoBeamSettings están definidas en scm/auto-beam.scm. Para localizarlo, consulte Otras fuentes de información.

Se debe usar este método para los tipos de compás para los que existen reglas de final de barra definidas de forma predeterminada, a no ser que todas ellas se hayan revertido. También es particularmente apropiado para otros muchos compases si la indicación de compás cambia con frecuencia, o si el barrado debe ser distinto para las distintas duraciones de barra.

Para añadir una regla a la lista, utilice

#(override-auto-beam-setting
  '(beam-limit
    beam-numerator  beam-denominator
    time-signature-numerator time-signature-denominator)
  moment-numerator moment-denominator [context])

donde:

Por ejemplo, si las barras automáticas siempre deben terminar sobre la primera negra, para cualquier tipo de compás o duración de la barra, use

     
     a8 a a a a a a a
     #(override-auto-beam-setting '(end * * * *) 1 4)
     a8 a a a a a a a

[image of music]

Podemos forzar los ajustes de las barras para que tengan efecto sólo sobre las barras cuya nota más breve sea de una cierta duración:

     
     \time 2/4
     % finalizar barras de semicorchea para todos los compases en el momento 1/16
     #(override-auto-beam-setting '(end 1 16 * *) 1 16)
     a16 a a a a a a a |
     a32 a a a a16 a a a a a |
     % finalizar barras de fusa para todos los compases en el momento 1/16
     #(override-auto-beam-setting '(end 1 32 * *) 1 16)
     a32 a a a a16 a a a a a |

[image of music]

Podemos forzar los ajustes de las barras para que tengan efecto solamente en ciertos tipos de compás:

     
     \time 5/8
     % finalizar barras para cualquier duración en el compás de 5/8, en el momento 2/8
     #(override-auto-beam-setting '(end * * 5 8) 2 8)
     c8 c d d d
     \time 4/4
     e8 e f f e e d d
     \time 5/8
     c8 c d d d

[image of music]

En caso de usar varias voces, se debe especificar el contexto Staff si queremos aplicar el barrado a todas las voces del pentagrama:

     
     \time 7/8
     % ritmo 3-1-1-2
     % Contexto sin especificar: no funciona correctamente
     #(override-auto-beam-setting '(end * * 7 8) 3 8)
     #(override-auto-beam-setting '(end * * 7 8) 4 8)
     #(override-auto-beam-setting '(end * * 7 8) 5 8)
     << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
     
     % Funciona correctamente con el contexto especificado
     #(override-auto-beam-setting '(end * * 7 8) 3 8 'Staff)
     #(override-auto-beam-setting '(end * * 7 8) 4 8 'Staff)
     #(override-auto-beam-setting '(end * * 7 8) 5 8 'Staff)
     << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>

[image of music]

Nota: Si se produce un comportamiento inesperado de las barras, compruebe la existencia de una posible interferencia en los ajustes predeterminados del barrado automático que están en scm/auto-beam.scm, porque los finales de barra definidos aquí aún son válidos además de los suyos.

Debemos revertir cualquer final predeterminado indeseado o conflictivo, para nuestro compás concreto. Podemos eliminar una regla de barrado automático previamente establecida usando

#(revert-auto-beam-setting
  '(beam-limit
    beam-numerator  beam-denominator
    time-signature-numerator time-signature-denominator)
  moment-numerator moment-denominator [context])

límite-barra, numerador-barra, denominador-barra, numerador-compás, denominador-compás, numerador-momento, denominador-momento y contexto son los mismos que antes.

     
     \time 4/4
     a16 a a a a a a a a a a a a a a a
     % deshacer regla de finalizar barras de semicorchea en compás 4/4 en el momento 1/4
     #(revert-auto-beam-setting '(end 1 16 4 4) 1 4)
     a16 a a a a a a a a a a a a a a a

[image of music]

La regla de un enunciado revert-auto-beam-setting debe corresponderse exactamente con la regla original. Esto es, no se tiene en cuenta ninguna expansión de comodines.

     
     \time 1/4
     #(override-auto-beam-setting '(end 1 16 1 4) 1 8)
     a16 a a a
     #(revert-auto-beam-setting '(end 1 16 * *) 1 8) % ¡esto no lo devuelve a su valor anterior!
     a a a a
     #(revert-auto-beam-setting '(end 1 16 1 4) 1 8) % esto sí
     a a a a

[image of music]

Fragmentos de código seleccionados

Agrupamiento de las barras en el compás de 7/8

No está especificada ninguna agrupación predeterminada automática de las barras para el compás de 7/8, de forma que si se requieren barras automáticas se debe especificar la forma de agrupamiento. Por ejemplo, para agrupar todas las barras en la forma 2-3-2 en el compás de 7/8, especificamos los finales de barra en 2/8 y 5/8:

     
     \relative c'' {
       \time 7/8
       % ritmo 2-3-2
       a8 a a a a a a
       #(override-auto-beam-setting '(end * * 7 8) 2 8)
       #(override-auto-beam-setting '(end * * 7 8) 5 8)
       a8 a a a a a a
     }

[image of music]

Alteración de los finales de barra predeterminados

Para tipografiar las barras agrupadas en la forma 3-4-3-2 en 12/8, en primer lugar tenemos que sobreescribir los finales de barra predeterminados en 12/8, y después preparar los finales de barra nuevos:

     
     \relative c'' {
       \time 12/8
     
       % Barrado predeterminado
       a8 a a a a a a a a a a a
     
       % Revertir los valores predeterminados en scm/auto-beam.scm para el 12/8
       #(revert-auto-beam-setting '(end * * 12 8) 3 8)
       #(revert-auto-beam-setting '(end * * 12 8) 3 4)
       #(revert-auto-beam-setting '(end * * 12 8) 9 8)
       a8 a a a a a a a a a a a
     
       % establecer valores nuevos para finales de barra
       #(override-auto-beam-setting '(end * * 12 8) 3 8)
       #(override-auto-beam-setting '(end * * 12 8) 7 8)
       #(override-auto-beam-setting '(end * * 12 8) 10 8)
       a8 a a a a a a a a a a a
     }

[image of music]

Finales de barra en el contexto Score

Las reglas de final de barra especificadas en el contexto Score se aplican a todos los pentagramas, pero se pueden modificar tanto en los niveles de Staff como de Voice:

     
     \relative c'' {
       \time 5/4
       % Establecer el barrado predeterminado para todos los pentagramas
       #(score-override-auto-beam-setting '(end * * 5 4) 3 8)
       #(score-override-auto-beam-setting '(end * * 5 4) 7 8)
       <<
         \new Staff {
           c8 c c c c c c c c c
         }
         \new Staff {
           % Modificar el barrado sólo para este pentagrama
           #(override-auto-beam-setting '(end * * 5 4) 6 8 'Staff)
           #(revert-auto-beam-setting '(end * * 5 4) 7 8 'Staff)
           c8 c c c c c c c c c
         }
         \new Staff {
           % Heredar el barrado del contexto Score
           <<
             {
               \voiceOne
               c8 c c c c c c c c c
             }
             % Modificar el barrado sólo para esta voz
             \new Voice {
               \voiceTwo
               #(override-auto-beam-setting '(end * * 5 4) 6 8)
               #(revert-auto-beam-setting '(end * * 5 4) 7 8)
               a8 a a a a a a a a a
             }
           >>
         }
       >>
     }

[image of music]

Instrucciones predefinidas

\autoBeamOff, \autoBeamOn.

Advertencias y problemas conocidos

Si una partitura termina mientras una barra automática no ha terminado aún todavía está aceptando notas, esta última barra no se imprimirá en absoluto. Lo mismo sirve para las voces polifónicas, introducidas con << ... \\ ... >>. Si una voz polifónica termina mientras una barra automática está aún aceptando notas, no se imprime.

Véase también

Fragmentos de código: Duraciones.

Otros idiomas: English, français, deutsch.