Referencia de la notación de GNU LilyPond: 1.2.4 Barras

### 1.2.4 Barras

#### Barras automáticas

De manera predeterminada, las barras de corchea se insertan automáticamente:

>     \time 2/4 c8 c c c
>     \time 6/8 c8 c c c8. c16 c8

Cuando estas decisiones automáticas no son lo bastante buenas, se pueden escribir los barrados de forma explícita; véase Barras manuales. Las barras se deben introducir manualmente si se quieren extender por encima de los silencios.

Si no se necesita el barrado automático, se puede desactivar con `\autoBeamOff` y activarse con `\autoBeamOn`:

>     c4 c8 c8. c16 c8. c16 c8
>     \autoBeamOff
>     c4 c8 c8. c16 c8.
>     \autoBeamOn
>     c16 c8

Nota: Si se usan barras para indicar los melismas de las canciones, entonces se debe desactivar el barrado automático con `autoBeamOff` e indicar las barras manualmente.

Nota: La utilización de `\partcombine` con `\autoBeamOff` puede producir resultados no deseados. Véase el fragmento de código de abajo para mayor información.

Se pueden crear patrones de barrado que difieran de los valores automáticos predeterminados; véase Establecer el comportamiento de las barras automáticas.

#### Instrucciones predefinidas

`\autoBeamOff`, `\autoBeamOn`.

#### Fragmentos de código seleccionados

Barras que atraviesan saltos de línea

Normalmente están prohibidos los saltos de línea si las barras atraviesan las líneas divisorias. Se puede cambiar este comportamiento como se muestra aquí:

>     \relative c'' {
>       \override Beam #'breakable = ##t
>       c8 c[ c] c[ c] c[ c] c[ \break
>       c8] c[ c] c[ c] c[ c] c
>     }

Cambiar el salto de las barras en ángulo

Se insertan automáticamente barras en ángulo cuando se detecta un intervalo muy grande entre las notas. Se puede hacer un ajuste fino de este comportamiento a través de la propiedad `auto-knee-gap`. Se traza una barra doblada si el salto es mayor que el valor de `auto-knee-gap` más el ancho del objeto barra (que depende de la duración de las notas y de la inclinación de la barra). De forma predeterminada `auto-knee-gap` está establecido a 5.5 espacios de pentagrama.

>     {
>       f8 f''8 f8 f''8
>       \override Beam #'auto-knee-gap = #6
>       f8 f''8 f8 f''8
>     }

Partcombine y autoBeamOff

Puede ser difícil comprender la función de `\autoBeamOff` cuando se usa con `\partcombine`.

Puede ser preferible usar

`\set Staff.autoBeaming = ##f`

en su lugar, para asegurarse de que el barrado automático se desactiva para todo el pentagrama.

`\partcombine` funciona aparentemente con tres voces: plica arriba cuando hay una sola voz, plica abajo con la otra, y plica arriba cuando está combinada.

Una llamada a `\autoBeamOff` en el primer argumento de partcombine se aplica a la voz que está activa en el momento en que se procesa la llamada, ya sea voz única con la plica hacia arriba, hacia abajo o combinadas. Una llamada a `\autoBeamOff` en el segundo argumento se aplica a la voz que está sola con la plica abajo.

Para pode usar `\autoBeamOff` con el objeto de detener todo el barrado automático cuando se usa con `\partcombine`, es necesario hacer tres llamadas a `\autoBeamOff`.

>     {
>       %\set Staff.autoBeaming = ##f % turns off all autobeaming
>       \partcombine
>       {
>         \autoBeamOff % applies to split up stems
>         \repeat unfold 4 a'16
>         %\autoBeamOff % applies to combined up stems
>         \repeat unfold 4 a'8
>         \repeat unfold 4 a'16
>       }
>       {
>         \autoBeamOff % applies to down stems
>         \repeat unfold 4 f'8
>         \repeat unfold 8 f'16 |
>       }
>     }

#### Véase también

Referencia de la notación: Barras manuales, Establecer el comportamiento de las barras automáticas.

Archivos instalados: ‘`scm/auto-beam.scm`’.

Fragmentos de código: Rhythms.

Referencia de funcionamiento interno: Auto_beam_engraver, Beam_engraver, Beam, BeamEvent, BeamForbidEvent, beam-interface, unbreakable-spanner-interface.

#### Establecer el comportamiento de las barras automáticas

En la mayor parte de los casos, las barras automáticas terminan al final de un pulso. Los puntos finales de las barras vienen determinados por las propiedades de contexto `baseMoment` y `beatStructure`. `beatStructure` es una lista de Scheme que define la longitud de cada pulso dentro del compás en unidades de `baseMoment`. De forma predeterminada, `baseMoment` es una unidad más que el numerador del compás. De forma predeterminada también, cada unidad de longitud `baseMoment` es un único pulso.

>     \time 5/16
>     c16^"default" c c c c |
>     \set Timing.beatStructure = #'(2 3)
>     c16^"(2+3)" c c c c |
>     \set Timing.beatStructure = #'(3 2)
>     c16^"(3+2)" c c c c |

Los cambios en los ajustes de barrado se pueden limitar a contextos específicos. Si no se incluye ningún ajuste en un contexto de nivel más bajo, se aplican los ajustes del contexto circundante.

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

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
>     % rhythm 3-1-1-2
>     % Change applied to Voice by default --  does not work correctly
>     % Because of autogenerated voices, all beating will
>     % be at baseMoment (1 . 8)
>     \set beatStructure = #'(3 1 1 2)
>     << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>

>     % Works correctly with context Staff specified
>     \set Staff.beatStructure = #'(3 1 1 2)
>     << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>

El valor de `baseMoment` se puede ajustar para cambiar el comportamiento de las barras, si se desea. Cuando se hace, el valor de `beatStructure` se debe fijar de manera que sea compatible con el nuevo valor de `baseMoment`.

>     \time 5/8
>     \set Timing.baseMoment = #(ly:make-moment 1 16)
>     \set Timing.beatStructure = #'(7 3)
>     \repeat unfold 10 { a16 }

`baseMoment` es un momento, una unidad de duración musical. Se crea una cantidad del tipo momento por medio de la función de Scheme `ly:make-moment`. Para ver más información acerca de esta función, consulte Gestión del tiempo.

De forma predeterminada `baseMoment` está fijado a una unidad más que el denominador del compás. Todas las excepciones a este valor predeterminado están en ‘`scm/time-signature-settings.scm`’.

Las reglas de autobarrado especiales (distintas de terminar una barra sobre un pulso) están definidas en la propiedad `beamExceptions`.

>     \time 3/16
>     \set Timing.beatStructure = #'(2 1)
>     \set Timing.beamExceptions =
>       #'(                         ;start of alist
>          (end .                   ;entry for end of beams
>           (                       ;start of alist of end points
>            ((1 . 32) . (2 2 2))   ;rule for 1/32 beams -- end each 1/16
>           )))                     %close all entries
>     c16 c c |
>     \repeat unfold 6 { c32 } |

`beamExceptions` es una lista-A con una clave de rule-type y un valor de beaming-rules.

En este momento el único valor disponible de rule-type es `#'end` para la terminación de las barras.

Beaming-rules es una lista-A de Scheme (o una lista de parejas) que indica el tipo de barra y la agrupación que se aplica a las barras que contienen notas con una duración más breve de ese tipo de barra.

>     #'((tipo-barra1 . agrupación1)
>        (tipo-barra2 . agrupación2)
>        (tipo-barra3 . agrupación3))

Tipo de barra es una dupla de Scheme que indica la duración de la barra, p.ej. `(1 . 16)`.

Agrupación es una lista de Scheme que indica la agrupación que aplicar a la barra. El valor de agrupación está en unidades del tipo de barra.

Nota: Un valor de `beamExceptions` debe ser una lista de excepciones completa. Esto es, toda excepción que se tenga que aplicar debe estar incluida en este ajuste. No es posible añadir, eliminar o cambiar sólo una de las excepciones. Aunque esto puede parecer engorroso, significa que no es necesario conocer los ajustes de barrado actuales para poder especificar un patrón de barrado nuevo.

Cuando cambia el compás, se fijan los valores predeterminados de `Timing.baseMoment`, `Timing.beatStructure` y `Timing.beamExceptions`. Un ajuste en el tipo de compás da como resultado un reinicio de los ajustes de barrado automático para el contexto `Timing` al comportamiento predeterminado.

>     \time 6/8
>     \repeat unfold 6 { a8 }
>     % group (4 + 2)
>     \set Timing.beatStructure = #'(4 2)
>     \repeat unfold 6 { a8 }
>     % go back to default behavior
>     \time 6/8
>     \repeat unfold 6 { a8 }

Los ajustes de barrado automático predeterminados para un tipo de compás están determinados en el archivo ‘`scm/time-signature-settings.scm`’. La forma de cambiar los ajustes predeterminados de barrado automático para un tipo de compás se describe en Indicación de compás.

Muchos ajustes de barrado automáticos para un tipo de compás contienen una entrada para `beamExceptions`. Por ejemplo, el compás de 4/4 trata de unir el compás en dos partes si solo hay corcheas. La regla `beamExceptions` puede sobreescribir el ajuste `beatStructure` si no se reinicia `beamExceptions`.

>     \time 4/4
>     \set Timing.baseMoment = #(ly:make-moment 1 8)
>     \set Timing.beatStructure = #'(3 3 2)
>     % This won't beam (3 3 2) because of beamExceptions
>     \repeat unfold 8 {c8} |
>     % This will beam (3 3 2) because we clear beamExceptions
>     \set Timing.beamExceptions = #'()
>     \repeat unfold 8 {c8}

De un modo similar, las corcheas en compás de 3/4 se unen como un compás completo, de forma predeterminada. Para unir las corcheas mediante barras sobre los pulsos en un compás de 3/4, reinicie `beamExceptions`.

>     \time 3/4
>     % by default we beam in (3) due to beamExceptions
>     \repeat unfold 6 {a8} |
>     % This will beam (1 1 1) due to beatLength
>     \set Timing.beamExceptions = #'()
>     \repeat unfold 6 {a8}

Cómo funciona el barrado automático

Cuando se habilita el barrado automático, la colocación de las barras de corchea automáticas viene determinada por las propiedades de contexto `baseMoment`, `beatStructure` y `beamExceptions`.

Son de aplicación las siguientes reglas, en orden de prioridad, cuando se determina el aspecto de las barras:

- Si está especificada una barra manual con `[..]`, fijar la barra tal y como se ha especificado; en caso contrario,
- si está definida en `beamExceptions` una regla de barrado para este tipo de barra, utilizarla para determinar los lugares válidos en que pueden terminar las barras; en caso contrario,
- si está definida en `beamExceptions` una regla de final de barra para un tipo de barra más largo, utilizarla para determinar los lugares válidos en que pueden terminar las barras; en caso contrario,
- usar los valores de `baseMoment` y de `beatStructure` para determinar los finales de los pulsos dentro del compás, y terminar las barras al final de los pulsos.

En las reglas anteriores, el tipo de barra beam-type es la duración de la nota más breve dentro del grupo unido por una barra.

Las reglas de barrado predefinidas están en el archivo ‘`scm/time-signature-settings.scm`’.

#### Fragmentos de código seleccionados

Subdivisión de barras

Las barras de semicorchea, o de figuras más breves, no se subdividen de forma predeterminada. Esto es, las tres (o más) barras se amplían sin romperse sobre grupos completos de notas. Este comportamiento se puede modificar para subdividir las barras en subgrupos mediante el establecimiento de la propiedad `subdivideBeams`. Cuando está activada, las barras se subdividen a intervalos definidos por el valor actual de `baseMoment` mediante la reducción de las barras repetidas a una sola entre los subgrupos. Observe que el valor predeterminado de `baseMoment` es uno más que el denominador del tipo de compás actual, si no se fija explícitamente. Se debe ajustar a una fracción que da la duración del subgrupo de barras utilizando la función `ly:make-moment`, como se ve en este fragmento de código. Asimismo, cuando se modifica `baseMoment`, se debería cambiar también `beatStructure` para que corresponda al `baseMoment` nuevo:

>     \relative c'' {
>       c32[ c c c c c c c]
>       \set subdivideBeams = ##t
>       c32[ c c c c c c c]

>       % Set beam sub-group length to an eighth note
>       \set baseMoment = #(ly:make-moment 1 8)
>       \set beatStructure = #'(2 2 2 2)
>       c32[ c c c c c c c]

>       % Set beam sub-group length to a sixteenth note
>       \set baseMoment = #(ly:make-moment 1 16)
>       \set beatStructure = #'(4 4 4 4)
>       c32[ c c c c c c c]
>     }

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

La agrupación de pulsos dentro de un compás está controlada por la propiedad de contexto `beatStructure`. Hay establecidos valores de `beatStructure` para muchos tipos de compases en ‘`scm/time-signature-settings.scm`’. Los valores de `beatStructure` se pueden cambiar o establecer con `\set`. Como alternativa, se puede usar la función de Scheme `set-time-signature` para establecer tanto el compás como la estructura de pulsos. `set-time-signature` acepta tres argumentos: el número de pulsos, la longitud del pulso y la agrupación interna de los pulsos en el compás. Tanto `\time` como `set-time-signature` se aplican al contexto `Timing`, por lo que no restablecen los valores de `beatStructure` ni de `baseMoment` que se establezcan en otros contextos de nivel inferior, como `Voice`.

Si el grabador `Measure_grouping_engraver` está incluido en uno de los contextos de presentación, se imprimirán signos de agrupación de pulsos. Estos símbolos facilitan la lectura de música moderna rítmicamente compleja. En este ejemplo, el compás de 9/8 se agrupa según dos patrones distintos utilizando los dos métodos, mientras que el compás de 5/8 se agrupa de acuerdo con el ajuste predeterminado que está en ‘`scm/time-signature-settings.scm`’:

>     \score {
>       \new Voice \relative c'' {
>         \time 9/8
>         g8 g d d g g a( bes g) |
>         \set Timing.beatStructure = #'(2 2 2 3)
>         g8 g d d g g a( bes g) |
>         #(set-time-signature 9 8 '(4 5))
>         g8 g d d g g a( bes g) |
>         \time 5/8
>         a4. g4 |
>       }
>       \layout {
>         \context {
>           \Staff
>           \consists "Measure_grouping_engraver"
>         }
>       }
>     }

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
>       % Set default beaming for all staves
>       \set Score.baseMoment = #(ly:make-moment 1 8)
>       \set Score.beatStructure = #'(3 4 3)
>       <<
>         \new Staff {
>           c8 c c c c c c c c c
>         }
>         \new Staff {
>           % Modify beaming for just this staff
>           \set Staff.beatStructure = #'(6 4)
>           c8 c c c c c c c c c
>         }
>         \new Staff {
>           % Inherit beaming from Score context
>           <<
>             {
>               \voiceOne
>               c8 c c c c c c c c c
>             }
>             % Modify beaming for this voice only
>             \new Voice {
>               \voiceTwo
>               \set Voice.beatStructure = #'(6 4)
>               a8 a a a a a a a a a
>             }
>           >>
>         }
>       >>
>     }

#### Véase también

Archivos de inicio: ‘`scm/beam-settings.scm`’.

Fragmentos de código: Rhythms.

Referencia de funcionamiento interno: Auto_beam_engraver, Beam, BeamForbidEvent, beam-interface.

#### 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. El rodeo para estos problemas es aplicar el barrado manual a la última barra de la voz o partitura.

De forma predeterminada, el traductor `Timing` recibe el nombre del contexto `Score` como alias. Esto significa que el establecimiento del compás en ua pauta afectará al barrado de las otras pautas también. Así, un ajuste en el compás en un pentagrama tardío reiniciará el barrado personalizado que se había ajustado en un pentagrama más temprano. Una forma de evitar este problema es ajustar la indicación de compás en un pentagrama solamente.

>     <<
>       \new Staff {
>         \time 3/4
>         \set Timing.baseMoment = #(ly:make-moment 1 8)
>         \set Timing.beatStructure = #'(1 5)
>         \repeat unfold 6 { a8 }
>       }
>       \new Staff {
>         \repeat unfold 6 { a8 }
>       }
>     >>

Los ajustes de barrado predeterminados para dicho compás también se pueden cambiar, de forma que siempre se utilice siempre el barrado deseado. La manera de efectuar cambios en los ajustes de barrado automático para una indicación de compás se describe en Indicación de compás.

>     <<
>       \new Staff {
>         \overrideTimeSignatureSettings
>           #'(3 . 4)         % timeSignatureFraction
>           #'(1 . 8)         % baseMomentFraction
>           #'(1 5)           % beatStructure
>           #'()		% beamExceptions
>         \time 3/4
>         \repeat unfold 6 { a8 }
>       }
>       \new Staff {
>         \time 3/4
>         \repeat unfold 6 { a8 }
>       }
>     >>

#### Barras manuales

En ciertos casos puede ser preciso sobreescribir el algoritmo de barrado automático. Por ejemplo, el barrador automático no escribe barras por encima de los silencios o las líneas divisorias, y en las partituras corales el barrado se ajusta con frecuencia para que siga la medida de la letra en vez de la de las notas. Tales barras se especifican manualmente marcando los puntos de comienzo y final con `[` y `]`

>     r4 r8[ g' a r] r g[ | a] r

La dirección de las barras se puede establecer manualmente utilizando indicadores de dirección:

>     c8^[ d e] c,_[ d e f g]

Se pueden marcar notas individuales con `\noBeam` para evitar que resulten unidas por una barra:

>     \time 2/4
>     c8 c\noBeam c c

Se pueden producir al mismo tiempo barras de notas de adorno y barras normales. Las notas de adorno sin barra no se colocan dentro de las barras de notas normales.

>     c4 d8[
>     \grace { e32[ d c d] }
>     e8] e[ e
>     \grace { f16 }
>     e8 e]

Se puede conseguir un control incluso más estricto sobre las barras estableciendo las propiedades `stemLeftBeamCount` y `stemRightBeamCount`. Especifican el número de barras que se dibujarán en los lados izquierdo y derecho, respectivamente, de la nota siguiente. Si cualquiera de estas dos propiedades está ajustada a un valor, dicho valor se usará una sola vez, y luego se borrará. En este ejemplo, el último Fa se imprime con sólo una barra en el lado izquierdo, es decir, la barra de corchea del grupo como un todo.

>     a8[ r16 f g a]
>     a8[ r16
>     \set stemLeftBeamCount = #2
>     \set stemRightBeamCount = #1
>     f16
>     \set stemLeftBeamCount = #1
>     g16 a]

#### Instrucciones predefinidas

`\noBeam`.

#### Fragmentos de código seleccionados

Corchetes rectos y extremos de barra sueltos

Son posibles tanto los corchetes rectos sobre notas sueltas como extremos de barra sueltos en figuras unidas, con una combinación de `stemLeftBeamCount`, `stemRightBeamCount` e indicadores de barra `[]` emparejados.

Para corchetes rectos que apunten a la derecha sobre notas sueltas, use indicadores de barra emparejados `[]` y establezca `stemLeftBeamCount` a cero (véase el ejemplo 1).

Para corchetes rectos que apunten a la izquierda, establezca en su lugar `stemRightBeamCount` (ejemplo 2).

Para extremos sueltos que apunten a la derecha al final de un conjunto de notas unidas, establezca `stemRightBeamCount` a un valor positivo. Y para extremos sueltos que apunten a la izquierda al principio de un conjunto de notas unidas, establezca `stemLeftBeamCount` en su lugar (ejemplo 3).

A veces, para una nota suelta rodeada de silencios tiene sentido que lleve los dos extremos sueltos del corchete plano, apuntando a derecha e izquierda. Hágalo solamente con indicadores de barra emparejados `[ ]` (ejemplo 4).

(Observe que `\set stemLeftBeamCount` siempre equivale a `\once \set`. En otras palabras, los ajustes de la cantidad de barras no se recuerdan, y por ello el par de corchetes planos aplicados a la nota Do semicorchea `c'16[]` del último ejemplo no tiene nada que ver con el `\set` de dos notas por detrás.)

>     \score {
>       <<
>         % Example 1
>         \new RhythmicStaff {
>           \set stemLeftBeamCount = #0
>           c16[]
>           r8.
>         }
>         % Example 2
>         \new RhythmicStaff {
>           r8.
>           \set stemRightBeamCount = #0
>           c16[]
>         }
>         % Example 3
>         \new RhythmicStaff {
>           c16 c
>           \set stemRightBeamCount = #2
>           c16 r r
>           \set stemLeftBeamCount = #2
>           c16 c c
>         }
>         % Example 4
>         \new RhythmicStaff {
>           c16 c
>           \set stemRightBeamCount = #2
>           c16 r
>           c16[]
>           r16
>           \set stemLeftBeamCount = #2
>           c16 c
>         }
>       >>
>     }

#### Véase también

Referencia de la notación: Dirección y posición, Notas de adorno.

Fragmentos de código: Rhythms.

Referencia de funcionamiento interno: Beam, BeamEvent, Beam_engraver, beam-interface, Stem_engraver.

#### Barras progresivas

Las barras progresivas se usan para indicar que un pequeño grupo de notas se debe tocar a una velocidad creciente (o decreciente), sin cambiar el tempo general de la pieza. El ámbito de la barra progresiva se debe indicar manualmente usando `[` y `]`, el efecto de ángulo de la barra se inicia especificando una dirección en la propiedad `grow-direction` del objeto `Beam`.

Si queremos que la colocación de las notas y el sonido de la salida MIDI refleje el ritardando o accelerando indicado por la barra progresiva, las notas se deben agrupar como una expresión musical delimitada por llaves y precedida de una instrucción `featheredDurations` que especifica la razón entre las duraciones de la primera y la última notas dentro del grupo.

Los corchetes rectos muestran el ámbito de la barra y las llaves muestran qué notas han de modificar sus duraciones. Normalmente delimitarían el mismo grupo de notas, pero no es un requisito: las dos instrucciones son independientes.

En el ejemplo siguiente las ocho semicorcheas ocupan exactamente el mismo tiempo que una blanca, pero la primera nota tiene la mitad de duración que la última, con las notas intermedias alargándose gradualmente. Las cuatro primeras fusas se aceleran gradualmente, mientras que las últimas cuatro fusas están a un tempo constante.

>     \override Beam #'grow-direction = #LEFT
>     \featherDurations #(ly:make-moment 2 1)
>     { c16[ c c c c c c c] }
>     \override Beam #'grow-direction = #RIGHT
>     \featherDurations #(ly:make-moment 2 3)
>     { c32[ d e f] }
>     % revert to non-feathered beams
>     \override Beam #'grow-direction = #'()
>     { g32[ a b c] }

El espaciado en la salida impresa representa las duraciones de las notas de una forma sólo aproximada, pero la salida MIDI es exacta.

#### Instrucciones predefinidas

`\featherDurations`.

#### Véase también

Fragmentos de código: Rhythms.

#### Advertencias y problemas conocidos

La instrucción `\featherDurations` sólo funciona con fragmentos musicales muy breves, y cuando los números de la fracción son pequeños.

Otros idiomas: English, deutsch, français, 日本語.

#### LilyPond — Referencia de la notación