[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Barras automáticas ] | [ Up : Barras ] | [ Barras manuales > ] |
Establecer el comportamiento de las barras automáticas
Cuando está habilitado el barrado automático, la colocación de las
barras automáticas viene determinada por tres propiedades de
contexto: beatBase
, beatStructure
y
beamExceptions
. Los valores predeterminados de estas
variables se pueden sobreescribir como se describe más abajo, o de
forma alternativa los propios valores predeterminados se pueden
cambiar como se explica en Indicación de compás.
Si hay definida una regla de beamExceptions
para el compás
en curso, se usa dicha regla para determinar la colocación de las
barras; se ignoran los valores de beatBase
y
beatStructure
.
Si no está definida ninguna regla de beamExceptions
para el
tipo de compás en curso, la colocación de las barras está
determinada por los valores de beatBase
y
beatStructure
.
Barrado basado en beatBase
y beatStructure
De forma predeterminada, las reglas de beamExceptions
están
definidas para los compases más comunes, y así las reglas de
beamExceptions
se deben desactivar si pretendemos que el
barrado automático esté basado en beatBase
y
beatStructure
. Las reglas de beamExceptions
se
desactivan mediante
\set Timing.beamExceptions = #'()
Cuando el valor de beamExceptions
se ha fijado a
#'()
, ya sea debido a un ajuste explícito o a causa de que
no hay ninguna regla de beamExceptions
definida
internamente para el compás actual, los puntos finales de las
barras están en los pulsos según viene determinado por las
propiedades de contexto beatBase
y beatStructure
.
beatStructure
es una lista de Scheme que define la longitud
de cada pulso dentro del compás en unidades de beatBase
.
De forma predeterminada, beatBase
es una unidad más que
el denominador del compás. De forma predeterminada también, cada
unidad de longitud beatBase
es un único pulso.
Observe que existen valores de beatStructure
y de
beatBase
diferentes para cada indicación de compás. Los
cambios que se hacen a estas variables se aplican solamente al
tipo de compás en vigor, por lo que dichos cambios se deben
escribir después de la instrucción \time
que da comienzo a
una sección nueva con un tipo de compás distinto, no antes. Los
valores nuevos que se dan a una indicación de compás concreta se
retienen y se vuelven a aplicar cuando ese tipo de compás vuelve a
establecerse.
\relative c'' { \time 5/16 c16^"default" c c c c | % beamExceptions are unlikely to be defined for 5/16 time, % but let's disable them anyway to be sure \set Timing.beamExceptions = #'() \set Timing.beatStructure = 2,3 c16^"(2+3)" c c c c | \set Timing.beatStructure = 3,2 c16^"(3+2)" c c c c | }
\relative { \time 4/4 a'8^"default" a a a a a a a % Disable beamExceptions because they are definitely % defined for 4/4 time \set Timing.beamExceptions = #'() \set Timing.beatBase = #1/4 \set Timing.beatStructure = 1,1,1,1 a8^"changed" a a a a a a a }
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 % No need to disable beamExceptions % as they are not defined for 7/8 time \set Staff.beatStructure = 2,3,2 << \new Voice = one { \relative { a'8 a a a a a a } } \new Voice = two { \relative { \voiceTwo \set Voice.beatStructure = 1,3,3 f'8 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 beatBase #1/8 \set beatStructure = 3,1,1,2 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >> % Works correctly with context Staff specified \set Staff.beatStructure = 3,1,1,2 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>
El valor de beatBase
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 beatBase
.
\time 5/8 % No need to disable beamExceptions % as they are not defined for 5/8 time \set Timing.beatBase = #1/16 \set Timing.beatStructure = 7,3 \repeat unfold 10 { a'16 }
De forma predeterminada beatBase
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.
Barrado basado en beamExceptions
Las reglas de autobarrado especiales (distintas de terminar una
barra sobre un pulso) están definidas en la propiedad
beamExceptions
.
El valor de beamExceptions
, que es una estructura de datos
de Scheme bastante compleja, se genera fácilmente con la función
\beamExceptions
. Esta función recibe uno o más patrones
rítmicos barrados manualmente y con un compás de duración (los
compases se deben separar por una barra de comprobación de
compás |
porque la función no tiene otra manera de
discernir la longitud del compás). He aquí un ejemplo sencillo:
\relative c'' { \time 3/16 \set Timing.beatStructure = 2,1 \set Timing.beamExceptions = \beamExceptions { 32[ 32] 32[ 32] 32[ 32] } c16 c c | \repeat unfold 6 { c32 } | }
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.beatBase
, 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.
\relative a' { \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.beatBase = #1/8 \set Timing.beatStructure = 3,3,2 % This won't beam (3 3 2) because of beamExceptions \repeat unfold 8 {c''8} | % This will beam (3 3 2) because we clear beamExceptions \set Timing.beamExceptions = #'() \repeat unfold 8 {c''8}
De forma similar, las corcheas en compás de 3/4 se unen mediante
una sola barra para todo el compás, de forma predeterminada. Para
unir las corcheas en 3/4 mediante una barra en cada parte,
reinicie beamExceptions
.
\time 3/4 % by default we beam in (6) due to beamExceptions \repeat unfold 6 {a'8} | % This will beam (1 1 1) due to default beatBase and beatStructure \set Timing.beamExceptions = #'() \repeat unfold 6 {a'8}
En la música tipografiada de los períodos clásico y romántico, con
frecuencia las barras comienzan a mitad de un compás en 3/4, pero
la práctica moderna es evitar la falsa impresión de 6/8 (véase
Gould, pág. 153). Se producen situaciones similares en el compás
de 3/8. Este comportamiento viene controlado mediante la
propiedad de contexto beamHalfMeasure
, que tiene efecto
solamente sobre indicaciones de compás que tienen la cifra 3 en el
numerador:
\relative a' { \time 3/4 r4. a8 a a | \set Timing.beamHalfMeasure = ##f r4. a8 a a | }
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 beatBase
, 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
beatBase
y debeatStructure
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 beatBase
mediante la reducción de las barras
repetidas a una sola entre los subgrupos. Observe que el valor
predeterminado de beatBase
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 beatBase
, se debería cambiar
también beatStructure
para que corresponda al beatBase
nuevo:
\relative c'' { c32[ c c c c c c c] \set subdivideBeams = ##t c32[ c c c c c c c] % Set minimum beam subdivision interval to 1/8 just for this beam \once \set minimumBeamSubdivisionInterval = \musicLength 8 c32[ c c c c c c c] % Set maximum beam subdivision interval to 1/16 just for this beam \once \set maximumBeamSubdivisionInterval = \musicLength 16 c32[ c c c c c c c] % Set maximum beam subdivision interval to 3/8 just for this beam \once \set maximumBeamSubdivisionInterval = \musicLength 8*3 [ \repeat unfold 16 c64 ] r2. % Set maximum beam subdivision interval to 1/64 to limit subdivision depth, % despite not being metrically correct \once \set minimumBeamSubdivisionInterval = \musicLength 32 \once \set maximumBeamSubdivisionInterval = \musicLength 64 [ \repeat unfold 32 c128 ] r2. % Shorten beam by 1/32 c32[ c c c c c c] r32 % Shorten beam by 3/32 c32[ c c c c] r16. % Respect the incomplete beams of the previous two examples \set respectIncompleteBeams = ##t c32[ c c c c c c] r32 % no visual change here as last two stems are exempt from this % special rule c32[ c c c c] r16. }
Barras que se atienen al pulso estrictamente
Se puede hacer que las barras secundarias apunten en la dirección del pulso o fracción a que pertenecen. La primera barra evita los corchetes sueltos (que es el comportamiento predeterminado); la segunda barra sigue el pulso o fracción estrictamente.
\relative c'' { \time 6/8 a8. a16 a a \set strictBeatBeaming = ##t a8. a16 a a }
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 \time
para establecer tanto el
compás como la estructura de pulsos. Para ello, especificamos la
agrupación interna de los pulsos del compás como una lista de números
(en la sintaxis de Scheme) antes de la indicación de compás.
\time
se aplica al contexto Timing
, por lo que no
restablece los valores de beatStructure
ni de beatBase
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) | \time 4,5 9/8 g8 g d d g g a( bes g) | \time 5/8 a4. g4 | \time 3,3,2 4/4 \set Timing.beatBase = #1/8 f4 d8 f4 d8 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.beatBase = #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
Referencia de la notación: Indicación de compás.
Archivos de inicio: scm/time-signature-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 de corchea automática
no ha terminado y aún acepta notas, esta última barra no se
imprime en absoluto. Lo mismo sirve para las voces polifónicas
introducidas con << … \\ … >>
. Si una voz
polifónica termina mientras una barra de corchea automática aún
admite 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.beatBase = #1/8 \set Timing.beatStructure = 1,5 \set Timing.beamExceptions = #'() \repeat unfold 6 { a'8 } } \new Staff { \repeat unfold 6 { a'8 } } >>
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 % beatBase 1,5 % beatStructure #'() % beamExceptions \time 3/4 \repeat unfold 6 { a'8 } } \new Staff { \time 3/4 \repeat unfold 6 { a'8 } } >>
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Barras automáticas ] | [ Up : Barras ] | [ Barras manuales > ] |