Ripetizioni normali

La sintassi per una normale ripetizione è

\repeat volta numero-di-ripetizioni espressione-musicale

dove espressione-musicale è la musica da ripetere.

Un’unica ripetizione senza finale alternativo:

\relative {
  \repeat volta 2 { c''4 d e f }
  c2 d
  \repeat volta 2 { d4 e f g }
}

[image of music]

Il segno di inizio della ripetizione, per impostazione predefinita, non appare nella prima misura. È tuttavia possibile aggiungerlo inserendo a mano la battuta \bar ".|:" prima della prima nota.

\relative {
  \repeat volta 2 { \bar ".|:" c''4 d e f }
  c2 d
  \repeat volta 2 { d4 e f g }
}

[image of music]

I finali alternativi si ottengono con \alternative. Ogni gruppo di alternative deve essere a sua volta racchiuso tra parentesi.

\repeat volta numero-di-ripetizioni espressione-musicale
\alternative {
  { espressione-musicale }
}

dove espressione-musicale è la musica.

Se il numero di ripetizioni è superiore a quello dei finali alternativi, alle prime ripetizioni viene assegnata la prima alternativa.

Una singola ripetizione con un finale alternativo:

\relative {
  \repeat volta 2 { c''4 d e f | }
  \alternative {
    { c2 e | }
    { f2 g | }
  }
  c1
}

[image of music]

Molteplici ripetizioni con un finale alternativo:

\relative {
  \repeat volta 4 { c''4 d e f | }
  \alternative {
    { c2 e | }
    { f2 g | }
  }
  c1
}

[image of music]

Molteplici ripetizioni con più di un finale alternativo:

\relative {
  \repeat volta 3 { c''4 d e f | }
  \alternative {
    { c2 e | }
    { f2 g | }
    { a2 g | }
  }
  c1
}

[image of music]

Nota: Se ci sono due o più finali alternativi, non ci deve essere niente tra la parentesi di chiusura di uno e quella di apertura di quello successivo all’interno di un blocco \alternative, altrimenti non si otterrà il numero atteso di finali.

Nota: Se si usa \relative dentro a un blocco \repeat senza istanziare esplicitamente il contesto Voice, appare un rigo in più (non desiderato). Vedi Appare un rigo in più.

Se una ripetizione che non ha finali alternativi inizia in mezzo a una misura, solitamente termina in un punto corrispondente nel mezzo di una misura successiva (così che tra le due estremità ci sia una misura completa). In questo caso i segni di ripetizione non sono delle “vere” e proprie stanghette, dunque né i controlli di battuta né i comandi \partial devono essere messi lì:

\relative {
  c'4 e g
  \repeat volta 4 {
    e4 |
    c2 e |
    g4 g g
  }
  g4 |
  a2 a |
  g1 |
}

[image of music]

Se una ripetizione senza finali alternativi inizia con una misura parziale, si applicano gli stessi principi dell’esempio precedente, a parte il fatto che è richiesto un comando \partial all’inizio della misura:

\partial 4
\repeat volta 4 {
  e'4 |
  c2 e |
  g4 g g
}
g4 |
a2 a |
g1 |

[image of music]

Si possono aggiungere delle legature di valore a un secondo finale:

\relative {
  c''1
  \repeat volta 2 { c4 d e f~ }
  \alternative {
    { f2 d }
    { f2\repeatTie f, }
  }
}

[image of music]

Il comando \inStaffSegno può essere usato per generare una stanghetta composita che incorpora il simbolo di segno nella stanghetta di ripetizione appropriata se usato col comando \repeat volta. Il tipo corretto di stanghetta di ripetizione, ovvero inizio della ripetizione, fine della ripetizione e doppia ripetizione, viene selezionato automaticamente. Il corrispondente segno “D.S.” deve essere agiunto manualmente.

Lontano da una ripetizione:

\relative {
  e'1
  \inStaffSegno
  f2 g a b
  c1_"D.S." \bar "|."
}

[image of music]

All’inizio di una ripetizione:

\relative {
  e'1
  \repeat volta 2 {
    \inStaffSegno  % inizio ripetizione
    f2 g a b
  }
  c1_"D.S." \bar "|."
}

[image of music]

Alla fine di una ripetizione:

\relative {
  e'1
  \repeat volta 2 {
    f2 g a b
    \inStaffSegno  % fine ripetizione
  }
  f2 g a b
  c1_"D.S." \bar "|."
}

[image of music]

Tra due ripetizioni:

\relative {
  e'1
  \repeat volta 2 {
    f2 g a b
  }
  \inStaffSegno  % doppia ripetizione
  \repeat volta 2 {
    f2 g a b
  }
  c1_"D.S." \bar "|."
}

[image of music]

Si possono impostare simboli alternativi delle stanghette modificando nel contesto Score le proprietà segnoBarType, startRepeatSegnoBarType, endRepeatSegnoBarType o doubleRepeatSegnoBarType per il tipo di stanghetta richiesto. I tipi di stanghetta alternativi devono essere selezionati dai tipi predefiniti o dai tipi precedentemente definiti col comando \defineBarLine (vedi Stanghette).

\defineBarLine ":|.S[" #'(":|." "S[" "")
\defineBarLine "]" #'("]" "" "")
\relative {
  e'1
  \repeat volta 2 {
    f2 g a b
    \once \set Score.endRepeatSegnoBarType = ":|.S["
    \inStaffSegno
  }
  f2 g \bar "]" a b
  c1_"D.S." \bar "|."
}

[image of music]

Frammenti di codice selezionati

Accorciare le parentesi delle volte

Per impostazione predefinita, le parentesi delle volte si estendono per tutta l’alternativa, ma si possono accorciare impostando voltaSpannerDuration. Nell’esempio seguente, la parentesi dura una misura, che ha una durata di 3/4.

\relative c'' {
  \time 3/4
  c4 c c
  \set Score.voltaSpannerDuration = \musicLength 2.
  \repeat volta 5 {
    d4 d d
    \alternative {
      \volta 1,2,3,4 {
        e4 e e
        f4 f f }
      \volta 5 {
        g4 g g } } }
}

[image of music]

Aggiungere le parentesi delle volte a altri righi

L’incisore Volta_engraver risiede nel contesto Score, quindi le parentesi delle ripetizioni appaiono di norma soltanto sul rigo superiore. Questo comportamento può essere modificato aggiungendo l’incisore Volta_engraver al contesto Staff in cui si desidera far apparire le parentesi; si veda anche il frammento “Volta multirigo”.

<<
  \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' } }
>>

[image of music]

Impostare la doppia ripetizione predefinita per le volte

Esistono tre diversi stili di doppie ripetizioni per le volte, che si possono impostare con doubleRepeatBarType.

\relative c'' {
  \repeat volta 2 { c1 }
  \set Score.doubleRepeatBarType = ":..:"
  \repeat volta 2 { c1 }
  \set Score.doubleRepeatBarType = ":|.|:"
  \repeat volta 2 { c1 }
  \set Score.doubleRepeatBarType = ":|.:"
  \repeat volta 2 { c1 }
}

[image of music]

Numeri di battuta alternativi

Si possono impostare due metodi alternativi di numerazione della battuta, utili specialmente per le ripetizioni.

music = \relative c' {
  \repeat volta 3 {
    c4 d e f |
    \alternative {
      \volta 1 { c4 d e f | c2 d \break }
      \volta 2 { f4 g a b | f4 g a b | f2 a | \break }
      \volta 3 { c4 d e f | c2 d } } }
  c1 \bar "|."
}

\markup "default"
{
  \music
}

\markup \typewriter "'numbers"
{
  \set Score.alternativeNumberingStyle = #'numbers
  \music
}

\markup \typewriter "'numbers-with-letters"
{
  \set Score.alternativeNumberingStyle = #'numbers-with-letters
  \music
}

\paper { tagline = ##f }

[image of music]

Vedi anche

Glossario Musicale: ripetizione, volta.

Guida alla notazione: Stanghette, Modifica dei componenti aggiuntivi di un contesto, Modifica di legature di valore e di portamento, Gestione del tempo.

File installati: ly/engraver-init.ly.

Frammenti: Repeats.

Guida al funzionamento interno: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic, UnfoldedRepeatedMusic.

Problemi noti e avvertimenti

Le legature di portamento che si estendono da un blocco \repeat verso un blocco \alternative funzioneranno solo nel primo finale alternativo. L’aspetto grafico di una legatura di portamento che continua negli altri finali alternativi può essere simulato con \repeatTie se la legatura si estende solo su una nota del blocco dell’alternativa, sebbene questo metodo non funzioni in TabStaff. Altri metodi che si possono adattare per indicare legature di portamento che continuano su varie note dei blocchi di alternativa, e che funzionano anche nei contesti TabStaff, sono presentati in Modifica di legature di valore e di portamento.

Inoltre le legature di portamento non possono ricollegarsi dalla fine di un’alternativa all’inizio della ripetizione.

I glissandi che si estendono da un blocco \repeat in un blocco \alternative funzioneranno soltanto per il primo finale alternativo. L’aspetto grafico di un glissando che continua negli altri finali alternativi può essere indicato creando un glissando che inizia su una nota di abbellimento nascosta. Vedere ad esempio il frammento “Estendere i glissandi attraverso le ripetizioni” nei Frammenti Selezionati in Glissando.

Se una ripetizione che inizia con una misura incompleta ha un blocco \alternative che contiene modifiche alla proprietà measureLength, l’uso di \unfoldRepeats causerà l’erroneo posizionamento delle stanghette e degli avvisi di controllo di battuta.

Una ripetizione annidata come la seguente

\repeat …
\repeat …
\alternative

è ambigua, perché non è chiaro a quale \repeat appartenga il blocco \alternative. Questa ambiguità si risolve facendo in modo che \alternative appartenga sempre al blocco \repeat interno. Per chiarezza, si consiglia di usare le parentesi in queste situazioni.


Guida alla Notazione di LilyPond v2.25.21 (ramo di sviluppo).