[ << Notazione musicale ] | [Inizio][Contenuti][Indice] | [ Notazione specialistica >> ] |
[ < Ripetizioni ] | [ Su : Ripetizioni ] | [ Ripetizioni normali > ] |
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 | ||
Indicazioni di ripetizione manuali | ||
Ripetizioni ricopiate |
[ << Notazione musicale ] | [Inizio][Contenuti][Indice] | [ Notazione specialistica >> ] |
[ < Ripetizioni lunghe ] | [ Su : Ripetizioni lunghe ] | [ Indicazioni di ripetizione manuali > ] |
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 } }
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 } }
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 }
Molteplici ripetizioni con un finale alternativo:
\relative { \repeat volta 4 { c''4 d e f | } \alternative { { c2 e | } { f2 g | } } c1 }
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 }
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 | }
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 |
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, } } }
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 "|." }
All’inizio di una ripetizione:
\relative { e'1 \repeat volta 2 { \inStaffSegno % inizio ripetizione f2 g a b } c1_"D.S." \bar "|." }
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 "|." }
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 "|." }
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 "|." }
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 } } }
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' } } >>
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 } }
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 }
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.
[ << Notazione musicale ] | [Inizio][Contenuti][Indice] | [ Notazione specialistica >> ] |
[ < Ripetizioni normali ] | [ Su : Ripetizioni lunghe ] | [ Ripetizioni ricopiate > ] |
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 }
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 }
-
(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 }
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)) }
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)) }
Vedi anche
Guida alla notazione: Stanghette, Formattazione del testo.
Frammenti: Repeats.
Guida al funzionamento interno: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic.
[ << Notazione musicale ] | [Inizio][Contenuti][Indice] | [ Notazione specialistica >> ] |
[ < Indicazioni di ripetizione manuali ] | [ Su : Ripetizioni lunghe ] | [ Ripetizioni brevi > ] |
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 }
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 }
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 }
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 }
È 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 }
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.
[ << Notazione musicale ] | [Inizio][Contenuti][Indice] | [ Notazione specialistica >> ] |
[ < Indicazioni di ripetizione manuali ] | [ Su : Ripetizioni lunghe ] | [ Ripetizioni brevi > ] |