1.4.1 Ripetizioni lunghe

Questa sezione spiega come inserire ripetizioni lunghe (solitamente di più battute). Tali ripetizioni possono essere in due forme: racchiuse tra segni di ritornello oppure ricopiate interamente (adatte a scrivere musica ripetitiva). Si possono anche controllare manualmente i segni di ripetizione.


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 = #(ly:make-moment 3/4)
  \repeat volta 5 { d4 d d }
  \alternative {
    {
      e4 e e
      f4 f f
    }
    { 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.

\relative c'{
  \set Score.alternativeNumberingStyle = #'numbers
  \repeat volta 3 { c4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1 \break
  \set Score.alternativeNumberingStyle = #'numbers-with-letters
  \repeat volta 3 { c,4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1
}

[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.


Indicazioni di ripetizione manuali

Nota: Questi metodi vengono usati solo per mostrare tipi di ripetizioni inusuali, e potrebbero causare un comportamento inaspettato. Nella maggior parte dei casi, le ripetizioni devono essere create col comando standard \repeat oppure stampando le stanghette opportune. Maggiori informazioni in Stanghette.

La proprietà repeatCommands permette di controllare la formattazione delle ripetizioni. Il suo valore è una lista Scheme dei comandi di ripetizione.

start-repeat

Stampa una stanghetta .|:.

\relative {
  c''1
  \set Score.repeatCommands = #'(start-repeat)
  d4 e f g
  c1
}

[image of music]

Come vuole la pratica comune di incisione, i segni di ripetizione non vengono stampati all’inizio di un brano.

end-repeat

Stampa una stanghetta :|.:

\relative {
  c''1
  d4 e f g
  \set Score.repeatCommands = #'(end-repeat)
  c1
}

[image of music]

(volta numero) … (volta #f)

Crea una nuova volta col numero specificato. La parentesi della volta deve essere terminata esplicitamente, altrimenti non sarà stampata.

\relative {
  f''4 g a b
  \set Score.repeatCommands = #'((volta "2"))
  g4 a g a
  \set Score.repeatCommands = #'((volta #f))
  c1
}

[image of music]

Comandi di ripetizione multipli possono trovarsi nello stesso punto:

\relative {
  f''4 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))
}

[image of music]

Si può includere del testo nella parentesi della volta. Il testo può consistere di un numero, di più numeri o di un’indicazione testuale, si veda Formattazione del testo. Il modo più semplice per usare del testo è definirlo prima e poi includerlo nella lista Scheme,

voltaAdLib = \markup { 1. 2. 3... \text \italic { ad lib. } }
\relative {
  c''1
  \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))
}

[image of music]

Vedi anche

Guida alla notazione: Stanghette, Formattazione del testo.

Frammenti: Repeats.

Guida al funzionamento interno: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic.


Ripetizioni ricopiate

Col comando unfold, le ripetizioni possono servire a semplificare la scrittura di musica ripetitiva. La sintassi è

\repeat unfold numero-di-ripetizioni espressione-musicale

dove espressione-musicale è la musica e numero-di-ripetizioni è il numero di volte per cui è ripetuta espressione-musicale.

\relative {
  \repeat unfold 2 { c''4 d e f }
  c1
}

[image of music]

In alcuni casi, specialmente in un contesto \relative, la funzione \repeat unfold non equivale a riscrivere l’espressione musicale più volte. Ad esempio

\repeat unfold 2 { a'4 b c }

non equivale a

a'4 b c | a'4 b c

Le ripetizioni dispiegate (unfold) possono avere dei finali alternativi.

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

[image of music]

Se il numero di ripetizioni è maggiore del numero di finali alternativi, la prima alternativa viene applicata più volte, finché le alternative rimaste non esauriscono il numero totale delle ripetizioni.

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

[image of music]

Se il numero di finali alternativi è maggiore del numero di ripetizioni, solo le prime alternative vengono applicate. Le alternative rimanenti saranno ignorate e non verranno stampate.

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

[image of music]

È anche possibile annidare molteplici funzioni unfold (con o senza finali alternativi).

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

[image of music]

Gli accordi si ripetono col simbolo di ripetizione dell’accordo q. Vedi Ripetizione di un accordo.

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ù.

Vedi anche

Guida alla notazione: Ripetizione di un accordo.

Frammenti: Repeats.

Guida al funzionamento interno: RepeatedMusic, UnfoldedRepeatedMusic.


LilyPond — Guida alla Notazione v2.24.4 (ramo stabile).