Referencia de la notación de GNU LilyPond: 1.4.1 Repeticiones largas

### 1.4.1 Repeticiones largas

Esta sección trata sobre la forma de introducir repeticiones largas, normalmente de varios compases. Las repeticiones adoptan dos formas: repeticiones encerradas entre signos de repetición, o repeticiones explícitas, que se usan para escribir música repetitiva. También se pueden controlar manualmente los signos de repetición.

#### Repeticiones normales

La sintaxis de una repetición normal es

>     \repeat volta número_de_repeticiones expresión_musical

donde `expresión_musical` es una expresión musical.

Una repetición simple sin finales alternativos:

>     \repeat volta 2 { c4 d e f }
>     c2 d
>     \repeat volta 2 { d4 e f g }

Los filanes alternativos (casillas de primera y segunda vez) se pueden generar utilizando `\alternative`. Cada grupo de alternativas debe, a su vez, estar encerrado entre llaves curvas.

>     \repeat volta número_de_repeticiones expresión_musical
>     \alternative {
>       { expresión_musical }
>     }

donde `expresión_musical` es una expresión musical.

Si existen más repeticiones que finales alternativos, se asigna el primer final alternativo a las repeticiones más antiguas.

Repetición única con primera y segunda vez:

>     \repeat volta 2 { c4 d e f | }
>     \alternative {
>       { c2 e | }
>       { f2 g | }
>     }
>     c1

Repetición única con primera y segunda vez, con más de un final alternativo:

>     \repeat volta 4 { c4 d e f | }
>     \alternative {
>       { c2 e | }
>       { f2 g | }
>     }
>     c1

Más de una repetición con más de un final alternativo:

>     \repeat volta 3 { c4 d e f | }
>     \alternative {
>       { c2 e | }
>       { f2 g | }
>       { a2 g | }
>     }
>     c1

Nota: Si hay dos o más alternativas, no debe aparecer nada entre la llave de cierre de una y la de apertura de la otra dentro de un bloque `\alternative`, pues en caso contrario no obtendremos el número de finales esperado.

Nota: Si incluimos `\relative` dentro de un `\repeat` sin instanciar el contexto `Voice` explícitamente, aparecerán pentagramas adicionales no deseados. Véase Aparece un pentagrama de más.

Si una repetición comienza en medio de un compás y no tiene finales alternativos (primera y segunda vez), normalmente el final de la repetición también caerá en el medio de un compás, de forma que el comienzo y el final formen un compás completo. En tales casos, los signos de repetición no son verdaderas líneas divisorias. No utilice instrucciones `\partial` o comprobaciones de compás en los lugares en que se imprimen estos símbolos de repetición:

>     % no \partial here
>     c4 e g  % no bar check here
>     % no \partial here
>     \repeat volta 4 {
>       e4 |
>       c2 e |
>       % no \partial here
>       g4 g g  % no bar check here
>     }
>     % no \partial here
>     g4 |
>     a2 a |
>     g1 |

De forma similar, si una repetición compienza con el compás de anacrusa inicial de una partitura y no tiene finales alternativos, se dan las mismas condiciones que en el ejemplo anterior, excepto que en este caso se necesita la instrucción `\partial` al principio de la partitura:

>     \partial 4  % required
>     \repeat volta 4 {
>       e4 |
>       c2 e |
>       % no \partial here
>       g4 g g  % no bar check here
>     }
>     % no \partial here
>     g4 |
>     a2 a |
>     g1 |

Cuando se añaden primera y segunda vez a una repetición que comienza con un compás incompleto, se hace necesario establecer la propiedad de contexto `Timing.measureLength` manualmente, en los siguiente lugares específicos:

- en el comienzo de los complases incompletos del bloque `\alternative`, que normalmente se producen al final de cada final alternativo, excepto (en la mayoría de los casos) el último de ellos.
- en el comienzo de cada uno de los finales alternativos, excepto el primero.

>     \partial 4
>     \repeat volta 2 { e4 | c2 e | }
>     \alternative {
>       {
>         f2 d |
>         \set Timing.measureLength = #(ly:make-moment 3 4)
>         g4 g g  % optional bar check is allowed here
>       }
>       {
>         \set Timing.measureLength = #(ly:make-moment 4 4)
>         a2 a |
>       }
>     }
>     g1 |

La propiedad `measureLength` se describe en Gestión del tiempo.

Se pueden añadir ligaduras de unión al segundo final:

>     c1
>     \repeat volta 2 { c4 d e f~ }
>     \alternative {
>       { f2 d }
>       { f2\repeatTie f, }
>     }

#### Fragmentos de código seleccionados

Acortar los corchetes de primera y segunda vez

De forma predeterminada, los corchetes de primera y segunda vez se trazan encima de los finales alternativos completos, pero es posible acortartlos estableciendo un valor cierto para `voltaSpannerDuration`. En el ejemplo siguiente, el corchete sólo dura un compás, que corresponde a una duración de 3/4.

>     \relative c'' {
>       \time 3/4
>       c4 c c
>       \set Score.voltaSpannerDuration = #(ly:make-moment 3 4)
>       \repeat volta 5 { d4 d d }
>       \alternative {
>         {
>           e4 e e
>           f4 f f
>         }
>         { g4 g g }
>       }
>     }

Añadir corchetes de primera y segunda vez a más pentagramas

El grabador `Volta_engraver` reside de forma predeterminada dentro del contexto de `Score`, y los corchetes de la repetición se imprimen así normalmente sólo encima del pentagrama superior. Esto se puede ajustar añadiendo el grabador `Volta_engraver` al contexto de `Staff` en que deban aparecer los corchetes; véase también el fragmento de código “Volta multi staff”.

>     <<
>       \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
>       \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
>       \new Staff \with { \consists "Volta_engraver" } { c'2 g' e' a' }
>       \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
>     >>

Establecer el tipo de repetición doble predeterminado para la primera y segunda vez

Existen tres estilos distintos de repeticiones dobles para la primera y segunda vez, que se pueden ajustar utilizando `doubleRepeatType`.

>     \relative c'' {
>       \repeat volta 1 { c1 }
>       \set Score.doubleRepeatType = #":|:"
>       \repeat volta 1 { c1 }
>       \set Score.doubleRepeatType = #":|.|:"
>       \repeat volta 1 { c1 }
>       \set Score.doubleRepeatType = #":|.:"
>       \repeat volta 1 { c1 }
>     }

#### Véase también

Glosario musical: repeat, volta.

Referencia de la notación: Barras de compás, Modificar los complementos (plug-ins) de contexto, Gestión del tiempo.

Fragmentos de código: Repeats.

Referencia de funcionamiento interno: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic, UnfoldedRepeatedMusic.

#### Advertencias y problemas conocidos

Las ligaduras de expresión que abarcan desde un bloque `\repeat` hasta un bloque `\alternative` sólo funcionan para la casilla de primera vez. Asimismo, no es posible hacer que las ligaduras de expresión se replieguen desde el final de una alternativa hasta el comienzo de la repetición.

Si una repetición que comienza con un compás incompleto tiene un bloque `\alternative` que contiene modificaciones a la propiedad `measureLength`, la utilización de `\unfoldRepeats` dará lugar a líneas divisorias erróneamente colocadas y advertencias de comprobación de compás.

Una repetición anidada como

>     \repeat …
>     \repeat …
>     \alternative

es ambigua porque no está claro a qué `\repeat` pertenece la `\alternative`. Esta ambigüedad se resuelve haciendo que la `\alternative` pertenezca siempre a la `\repeat` más interna. Para más claridad, se recomienda usar llaves en tales situaciones.

#### Marcas de repetición manual

Nota: Estos métodos sólo se utilizan para realizar construcciones de repetición poco usuales, y pueden tener un comportamiento distinto al esperado. En casi todas las situaciones, se deben crear las repeticiones utilizando la instrucción estándar `\repeat` o imprimiendo las barras de compás correspondientes. Para ver más información, consulte Barras de compás.

Se puede usar la propiedad `repeatCommands` para controlar la disposición de las repeticiones. Su valor es una lista de Scheme de comandos de repetición.

`start-repeat`

  Imprimir una barra de compás `|:`

  >     c1
  >     \set Score.repeatCommands = #'(start-repeat)
  >     d4 e f g
  >     c1

  En la práctica habitual del grabado no se imprimen signos de repetición al principio de la pieza.

``end-repeat``

  Imprimir una barra de compás `:|`

  >     c1
  >     d4 e f g
  >     \set Score.repeatCommands = #'(end-repeat)
  >     c1

`(volta number) ... (volta #f)`

  Crear una nueva casilla de repetición con el número que se especifica. El corchete de vez se debe terminar de forma explícita, pues en caso contrario no se imprimirá.

  >     f4 g a b
  >     \set Score.repeatCommands = #'((volta "2"))
  >     g4 a g a
  >     \set Score.repeatCommands = #'((volta #f))
  >     c1

Se pueden producir varias instrucciones de repetición en el mismo punto:

>     f4 g a b
>     \set Score.repeatCommands = #'((volta "2, 5") end-repeat)
>     g4 a g a
>     c1
>     \set Score.repeatCommands = #'((volta #f) (volta "95") end-repeat)
>     b1
>     \set Score.repeatCommands = #'((volta #f))

Se puede incluir texto dentro de la casilla de primera y segunda vez. El texto puede ser un número o números, o un elemento de marcado, véase Formatear el texto. La forma más fácil de usar texto de marcado es definir el marcado previamente, y luego incluirlo dentro de una lista de Scheme.

>     voltaAdLib = \markup { 1. 2. 3... \text \italic { ad lib. } }
>     \relative c'' {
>       c1
>       \set Score.repeatCommands = #(list(list 'volta voltaAdLib) 'start-repeat)
>       c4 b d e
>       \set Score.repeatCommands = #'((volta #f) (volta "4.") end-repeat)
>       f1
>       \set Score.repeatCommands = #'((volta #f))
>     }

#### Fragmentos de código seleccionados

Imprimir puntos de repetición al prinicpio de la pieza

Se puede imprimir una línea divisoria de la forma `|:` al principio de la pieza, sobreescribiendo la propiedad correspondiente:

>     \relative c'' {
>       \once \override Score.BreakAlignment #'break-align-orders =
>         #(make-vector 3 '(instrument-name
>                           left-edge
>                           ambitus
>                           breathing-sign
>                           clef
>                           key-signature
>                           time-signature
>                           staff-bar
>                           custos))
>       \once \override Staff.TimeSignature #'space-alist =
>         #'((first-note . (fixed-space . 2.0))
>            (right-edge . (extra-space . 0.5))
>            ;; free up some space between time signature
>            ;; and repeat bar line
>            (staff-bar . (extra-space . 1)))
>       \bar "|:"
>       c1
>       d1
>       d4 e f g
>     }

#### Véase también

Referencia de la notación: Barras de compás, Formatear el texto.

Fragmentos de código: Repeats.

Referencia de funcionamiento interno: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic.

#### Repeticiones explícitas

Mediante la utilización de la instrucción `unfold` se pueden usar las repeticiones para simplificar la escritura desplegada de música repetitiva. La sintaxis es:

>     \repeat unfold número_de_repeticiones expresión_musical

donde `expresión_musical` es una expresión musical y `número_de_repeticiones` es el número de veces que `expresión_musical` se repite.

>     \repeat unfold 2 { c4 d e f }
>     c1

Se pueden hacer repeticiones desplegadas con finales alternativos.

>     \repeat unfold 2 { c4 d e f }
>     \alternative {
>       { c2 g' }
>       { c,2 b }
>     }
>     c1

Si hay más repeticiones que finales alternativos, el primer final alternativo se aplica las veces necesarias hasta que las alternativas restantes completan el número total de repeticiones.

>     \repeat unfold 4 { c4 d e f }
>     \alternative {
>       { c2 g' }
>       { c,2 b }
>       { e2 d }
>      }
>     c1

Si existen más finales alternativos que repeticiones, se aplican los primeros finales alternativos y LilyPond ignora las alternativas restantes, que no se imprimen.

>     \repeat unfold 2 { c4 d e f }
>     \alternative {
>       { c2 g' }
>       { c,2 b }
>       { e2 d }
>     }
>     c1

Es posible también anidar varias funciones `unfold` (con finales alternativos o sin ellos).

>     \repeat unfold 2 {
>       \repeat unfold 2 { c4 d e f }
>       \alternative {
>         { c2 g' }
>         { c,2 b }
>       }
>     }
>     c1

Nota: Si pone `\relative` dentro de un bloque `\repeat` sin instanciar explícitamente el contexto `Voice`, aparecerán pentagramas no deseados. Véase Aparece un pentagrama de más.

#### Véase también

Fragmentos de código: Repeats.

Referencia de funcionamiento interno: RepeatedMusic, UnfoldedRepeatedMusic.

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

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