[ << Notazione specialistica ] | [Inizio][Contenuti][Indice] | [ Input e output >> ] |
[ < Cambi graduali di vocale ] | [ Su : Musica vocale ] | [ Lavorare con testo e variabili > ] |
2.1.2 Tecniche specifiche per il testo vocale
Lavorare con testo e variabili | ||
Posizionamento verticale del testo | ||
Posizionamento orizzontale delle sillabe | ||
Testo e ripetizioni | ||
Testi alternati | ||
Polifonia con testo in comune |
Lavorare con testo e variabili
Si possono creare delle variabili contenenti il testo vocale, ma questo deve essere inserito in modalità testo vocale:
musicOne = \relative { c''4 b8. a16 g4. f8 e4 d c2 } verseOne = \lyricmode { Joy to the world, the Lord is come. } \score { << \new Voice = "one" { \time 2/4 \musicOne } \new Lyrics \lyricsto "one" { \verseOne } >> }
Non è necessario aggiungere le durate se la variabile viene richiamata
con \addlyrics
o \lyricsto
.
Se la musica ha un ordine diverso e più complesso, conviene definire
prima le variabili che contengono la musica e il testo, poi impostare
la gerarchia di righi e testo, omettendo il testo stesso, e infine
aggiungere il testo all’interno di un blocco \context
. Ciò
garantisce che le voci richiamate da \lyricsto
siano sempre
state definite prima. Per esempio:
sopranoMusic = \relative { c''4 c c c } contraltoMusic = \relative { a'4 a a a } sopranoWords = \lyricmode { Sop -- ra -- no words } contraltoWords = \lyricmode { Con -- tral -- to words } \score { \new ChoirStaff << \new Staff { \new Voice = "sopranos" { \sopranoMusic } } \new Lyrics = "sopranos" \new Lyrics = "contraltos" \new Staff { \new Voice = "contraltos" { \contraltoMusic } } \context Lyrics = "sopranos" { \lyricsto "sopranos" { \sopranoWords } } \context Lyrics = "contraltos" { \lyricsto "contraltos" { \contraltoWords } } >> }
Vedi anche
Guida alla notazione: Posizionamento verticale del testo.
Guida al funzionamento interno: LyricCombineMusic, Lyrics.
Posizionamento verticale del testo
A seconda del tipo di musica, il testo può trovarsi sopra o sotto
il rigo oppure tra i righi. Posizionare il testo sotto il rigo
associato è il modo più semplice, infatti basta definire il
contesto Lyrics
sotto il contesto Staff
;
\score { << \new Staff { \new Voice = "melody" { \relative { c''4 c c c } } } \new Lyrics { \lyricsto "melody" { Here are the words } } >> }
Per posizionare il testo sopra il rigo ci sono due metodi. Il metodo più semplice (e preferito) consiste nell’usare la stessa sintassi precedente e indicare in modo esplicito la posizione del testo:
\score { << \new Staff = "staff" { \new Voice = "melody" { \relative { c''4 c c c } } } \new Lyrics \with { alignAboveContext = "staff" } { \lyricsto "melody" { Here are the words } } >> }
Altrimenti si possono usare due passaggi. Prima si dichiara il
contesto Lyrics (privo di contenuto) prima dei contesti Staff e
Voice, poi il comando \lyricsto
viene posizionato dopo la
voce a cui si riferisce tramite \context
. Ecco un esempio:
\score { << \new Lyrics = "lyrics" \with { % il testo sopra un rigo deve avere questo override \override VerticalAxisGroup.staff-affinity = #DOWN } \new Staff { \new Voice = "melody" { \relative { c''4 c c c } } } \context Lyrics = "lyrics" { \lyricsto "melody" { Here are the words } } >> }
Quando ci sono due voci in righi separati, si può posizionare il testo tra i righi usando uno di questi metodi. Ecco un esempio del secondo metodo:
\score { \new ChoirStaff << \new Staff { \new Voice = "sopranos" { \relative { c''4 c c c } } } \new Lyrics = "sopranos" \new Lyrics = "contraltos" \with { % il testo sopra un rigo deve avere questo override \override VerticalAxisGroup.staff-affinity = #DOWN } \new Staff { \new Voice = "contraltos" { \relative { a'4 a a a } } } \context Lyrics = "sopranos" { \lyricsto "sopranos" { Sop -- ra -- no words } } \context Lyrics = "contraltos" { \lyricsto "contraltos" { Con -- tral -- to words } } >> }
Si possono generare altre combinazioni di testo e righi a partire da questi esempi oppure studiando i modelli nel Manuale di apprendimento, vedi Modelli per gruppi vocali.
Frammenti di codice selezionati
Ottenere la spaziatura del testo della vecchia versione 2.12
Il motore di spaziatura verticale è cambiato a partire dalla versione 2.14. Ciò può far sì che il testo vocale abbia un posizionamento diverso.
È possibile impostare delle proprietà dei contesti Lyric
e Staff
che facciano sì che il motore di spaziatura si comporti come nella versione 2.12.
global = { \key d \major \time 3/4 } sopMusic = \relative c' { % VERSE ONE fis4 fis fis | \break fis4. e8 e4 } altoMusic = \relative c' { % VERSE ONE d4 d d | d4. b8 b4 | } tenorMusic = \relative c' { a4 a a | b4. g8 g4 | } bassMusic = \relative c { d4 d d | g,4. g8 g4 | } words = \lyricmode { Great is Thy faith -- ful -- ness, } \score { \new ChoirStaff << \new Lyrics = sopranos \new Staff = women << \new Voice = "sopranos" { \voiceOne \global \sopMusic } \new Voice = "altos" { \voiceTwo \global \altoMusic } >> \new Lyrics = "altos" \new Lyrics = "tenors" \new Staff = men << \clef bass \new Voice = "tenors" { \voiceOne \global \tenorMusic } \new Voice = "basses" { \voiceTwo \global \bassMusic } >> \new Lyrics = basses \context Lyrics = sopranos \lyricsto sopranos \words \context Lyrics = altos \lyricsto altos \words \context Lyrics = tenors \lyricsto tenors \words \context Lyrics = basses \lyricsto basses \words >> \layout { \context { \Lyrics \override VerticalAxisGroup.staff-affinity = ##f \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 0) (minimum-distance . 2) (padding . 2)) } \context { \Staff \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 0) (minimum-distance . 2) (padding . 2)) } } }
Vedi anche
Manuale di apprendimento: Modelli per gruppi vocali.
Guida alla notazione: Ordine di disposizione dei contesti, Creazione e citazione di un contesto.
[ << Notazione specialistica ] | [Inizio][Contenuti][Indice] | [ Input e output >> ] |
[ < Posizionamento verticale del testo ] | [ Su : Tecniche specifiche per il testo vocale ] | [ Testo e ripetizioni > ] |
Posizionamento orizzontale delle sillabe
Per aumentare lo spazio tra le righe del testo, si imposta la proprietà
minimum-distance
di LyricSpace
.
\relative c' { c c c c \override Lyrics.LyricSpace.minimum-distance = #1.0 c c c c } \addlyrics { longtext longtext longtext longtext longtext longtext longtext longtext }
Per applicare questa modifica a tutti i testi della partitura, impostare la
proprietà nel blocco \layout
.
\score { \relative { c' c c c c c c c } \addlyrics { longtext longtext longtext longtext longtext longtext longtext longtext } \layout { \context { \Lyrics \override LyricSpace.minimum-distance = #1.0 } } }
Frammenti di codice selezionati
Allineamento del testo vocale
L’allineamento orizzontale del testo vocale si imposta attraverso la
proprietà self-alignment-X
dell’oggetto LyricText
.
#-1
è sinistra, #0
è centro e #1
è destra;
si possono usare anche #LEFT
, #CENTER
e #RIGHT
.
\layout { ragged-right = ##f } \relative c'' { c1 c1 c1 } \addlyrics { \once \override LyricText.self-alignment-X = #LEFT "This is left-aligned" \once \override LyricText.self-alignment-X = #CENTER "This is centered" \once \override LyricText.self-alignment-X = #1 "This is right-aligned" }
Problemi noti e avvertimenti
Verificare che le annotazioni testuali e il testo vocale stiano dentro i margini richiede ulteriori calcoli. Se si desidera velocizzare un po’ l’elaborazione, tale funzionalità può essere disabilitata:
\override Score.PaperColumn.keep-inside-line = ##f
Per far sì che il testo eviti anche le stanghette, usare
\layout { \context { \Lyrics \consists Bar_engraver \consists Separating_line_group_engraver \hide BarLine } }
[ << Notazione specialistica ] | [Inizio][Contenuti][Indice] | [ Input e output >> ] |
[ < Posizionamento orizzontale delle sillabe ] | [ Su : Tecniche specifiche per il testo vocale ] | [ Testi alternati > ] |
Testo e ripetizioni
Ripetizioni semplici
Le ripetizioni in musica sono trattate in un’altra sezione: Ripetizioni. Questa sezione spiega come aggiungere del testo vocale a delle parti musicali ripetute.
Il testo che si riferisce a una sezione musicale ripetuta deve avere lo stesso costrutto di ripetizione della musica, se le parole non sono modificate.
\score { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat volta 2 { b4 b b b } } } } \new Lyrics { \lyricsto "melody" { Non ri -- petu -- to. \repeat volta 2 { Ri -- petu -- to due. } } } >> }
Le parole verranno poi espanse correttamente se le ripetizioni sono ripetute.
\score { \unfoldRepeats { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat volta 2 { b4 b b b } } } } \new Lyrics { \lyricsto "melody" { Non ri -- petu -- to. \repeat volta 2 { Ri -- petu -- to due. } } } >> } }
Se la sezione ripetuta deve essere ripetuta di nuovo con parole diverse, è sufficiente inserire tutte le parole:
\score { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat unfold 2 { b4 b b b } } } } \new Lyrics { \lyricsto "melody" { Non ri -- petu -- to. Parole della prima volta. Parole della seconda volta. } } >> }
Quando le parole che si riferiscono a una ripetizione sono diverse,
le parole di ogni ripetizione devono essere inserite in contesti
Lyrics
separati, annidati correttamente in sezioni parallele:
\score { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat volta 2 { b4 b b b } } } } \new Lyrics \lyricsto "melody" { Non ri -- petu -- to. << { Parole della prima volta. } \new Lyrics { \set associatedVoice = "melody" Parole della seconda volta. } >> } >> }
Si possono aggiungere più strofe in modo analogo:
\score { << \new Staff { \new Voice = "singleVoice" { \relative { a'4 a a a \repeat volta 3 { b4 b b b } c4 c c c } } } \new Lyrics \lyricsto "singleVoice" { Non ri -- petu -- to. << { Parole della prima volta. } \new Lyrics { \set associatedVoice = "singleVoice" Parole della seconda volta. } \new Lyrics { \set associatedVoice = "singleVoice" Parole della terza volta. } >> La sezione fi -- nale. } >> }
Tuttavia, se questo costrutto si trova all’interno di un contesto
multirigo come ChoirStaff
, il testo della seconda e terza
strofa apparirà sotto il rigo inferiore.
Per posizionarli correttamente usare alignBelowContext
:
\score { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat volta 3 { b4 b b b } c4 c c c } } } \new Lyrics = "firstVerse" \lyricsto "melody" { Non ri -- petu -- to. << { Parole della prima volta. } \new Lyrics = "secondVerse" \with { alignBelowContext = "firstVerse" } { \set associatedVoice = "melody" Parole della seconda volta. } \new Lyrics = "thirdVerse" \with { alignBelowContext = "secondVerse" } { \set associatedVoice = "melody" Parole della terza volta.. } >> La sezione fi -- nale. } \new Voice = "harmony" { \relative { f'4 f f f \repeat volta 2 { g8 g g4 g2 } a4 a8. a16 a2 } } >> }
Ripetizioni con finali alternativi
Se le parole della sezione ripetuta sono le stesse, e nessuno dei finali
alternativi inizia con una pausa, si può usare la stessa identica struttura sia
per il testo che per la musica. Ciò comporta il vantaggio che
unfoldRepeats
espanderà correttamente sia la musica che il testo vocale.
\score { << \new Staff { \time 2/4 \new Voice = "melody" { \relative { a'4 a a a \repeat volta 2 { b4 b } \alternative { \volta 1 { b b } \volta 2 { b c } } } } } \new Lyrics { \lyricsto "melody" { Non ri -- petu -- to. \repeat volta 2 { Ripe -- tu -- } \alternative { \volta 1 { to due. } \volta 2 { to due. } } } } >> }
Ma quando la sezione ripetuta ha parole diverse o uno dei blocchi
\alternative
inizia con una pausa, non si può usare il costrutto della
ripetizione per le parole e bisogna inserire manualmente i comandi \skip
per le note delle sezioni alternative prive di un testo corrispondente.
Attenzione: non usare il trattino basso, _
, per saltare le note,
perché il trattino basso indica un melisma e fa sì che la sillaba
precedente sia allineata a sinistra.
Nota: Il comando \skip
deve essere seguito da un numero,
ma questo numero viene ignorato se nel testo vocale la durata delle
sillabe deriva dalla durata delle note in una melodia associata attraverso
\addlyrics
o \lyricsto
. Ogni \skip
salta una
singola nota di un qualsiasi valore, senza tener conto del valore del
numero che segue.
\score { << \new Staff { \time 2/4 \new Voice = "melody" { \relative { \repeat volta 2 { b'4 b } \alternative { \volta 1 { b b } \volta 2 { b c } } c4 c } } } \new Lyrics { \lyricsto "melody" { Parole della prima volta. \repeat unfold 2 { \skip 1 } Termina qui. } } \new Lyrics { \lyricsto "melody" { Pa -- role \repeat unfold 2 { \skip 1 } seconda volta. } } >> }
Quando una nota è legata verso uno o più finali alternativi, si usa
una legatura di valore per portare quella nota nel primo finale
alternativo e \repeatTie
per portarla nel secondo e nei successivi.
Questa struttura comporta dei problemi di difficile allineamento quando
è presente il testo; si può ottenere un risultato più accettabile
aumentando la lunghezza delle sezioni alternative in modo che le note
legate siano contenute interamente al loro interno.
La legatura crea un melisma nella prima alternativa, ma non nella seconda e nelle successive, dunque per allineare il testo correttamente occorre disabilitare la creazione automatica dei melismi dopo la sezione delle volte e inserire dei salti manuali.
\score { << \new Staff { \time 2/4 \new Voice = "melody" { \relative { \set melismaBusyProperties = #'() \repeat volta 2 { b'4 b ~} \alternative { \volta 1 { b b } \volta 2 { b \repeatTie c } } \unset melismaBusyProperties c4 c } } } \new Lyrics { \lyricsto "melody" { \repeat volta 2 { Ecco una __ } \alternative { \volta 1 { \skip 1 strofa } \volta 2 { \skip 1 sec } } onda strofa. } } >> }
Se \unfoldRepeats
precede una sezione contenente \repeatTie
,
bisogna togliere \repeatTie
per evitare che appaiano entrambi i
tipi di legatura.
Quando la sezione ripetuta ha parola diverse, non si può mettere il
testo in un blocco \repeat
e bisogna inserire manualmente i
comandi \skip
, come si è visto prima.
\score { << \new Staff { \time 2/4 \new Voice = "melody" { \relative { \repeat volta 2 { b'4 b ~} \alternative { \volta 1 { b b } \volta 2 { b \repeatTie c } } c4 c } } } \new Lyrics { \lyricsto "melody" { Ecco una __ strofa. \repeat unfold 2 { \skip 1 } } } \new Lyrics { \lyricsto "melody" { Eccone un' \repeat unfold 2 { \skip 1 } altra da cantare. } } >> }
Se si desidera mostrare gli estensori e i trattini subito prima o dopo un finale alternativo, questi vanno inseriti a mano.
\score { << \new Staff { \time 2/4 \new Voice = "melody" { \relative { \repeat volta 2 { b'4 b ~} \alternative { \volta 1 { b b } \volta 2 { b \repeatTie c } } c4 c } } } \new Lyrics { \lyricsto "melody" { Ecco una __ strofa. \repeat unfold 2 { \skip 1 } } } \new Lyrics { \lyricsto "melody" { Ecco "una_" \skip 1 "_" sec -- onda strofa. } } >> }
Vedi anche
Guida alla notazione: Conservazione di un contesto, Ripetizioni.
[ << Notazione specialistica ] | [Inizio][Contenuti][Indice] | [ Input e output >> ] |
[ < Testo e ripetizioni ] | [ Su : Tecniche specifiche per il testo vocale ] | [ Polifonia con testo in comune > ] |
Testi alternati
Quando solo le parole e le durate di due parti differiscono mentre le altezze sono le stesse, conviene disabilitare temporaneamente la rilevazione automatica dei melismi e indicare il melisma nel testo cantato:
\score { << \new Voice = "melody" { \relative c' { \set melismaBusyProperties = #'() \slurDown \slurDashed e4 e8 ( e ) c4 c | \unset melismaBusyProperties c } } \new Lyrics \lyricsto "melody" { They shall not o -- ver -- come } \new Lyrics \lyricsto "melody" { We will _ } >> }
Quando sia la musica che le parole differiscono, è meglio nominare i contesti della voce in cui musica e testo sono diversi e assegnare il testo a quei contesti specifici:
\score { << \new Voice = "melody" { \relative { << { \voiceOne e'4 e8 e } \new Voice = "splitpart" { \voiceTwo c4 c } >> \oneVoice c4 c | c } } \new Lyrics \lyricsto "melody" { They shall not o -- ver -- come } \new Lyrics \lyricsto "splitpart" { We will } >> }
Nella musica corale è comune avere una voce divisa in varie
misure. Il costrutto << {…} \\ {…} >>
,
in cui due (o più) espressioni musicali sono separate dalla
doppia barra inversa, potrebbe sembrare il modo giusto di
impostare le voci divise. Tuttavia questo costrutto assegna
tutte le espressioni al suo interno a
NUOVI contesti Voice, dunque nessun testo cantato
sarà impostato per esse perché il testo si collegherà al contesto
della voce originale. Di norma, non è ciò che si desidera.
Il costrutto adatto in questa situazione è il passaggio polifonico
temporaneo, spiegato nella sezione Passaggi polifonici temporanei
in Polifonia su un solo rigo.
[ << Notazione specialistica ] | [Inizio][Contenuti][Indice] | [ Input e output >> ] |
[ < Testi alternati ] | [ Su : Tecniche specifiche per il testo vocale ] | [ Strofe > ] |
Polifonia con testo in comune
Quando due voci contenenti durate diverse condividono lo stesso testo cantato, allineare il testo a una delle voci può creare dei problemi nell’altra voce. Per esempio, il secondo estensore del testo nell’esempio seguente è troppo corto, perché il testo è allineato solo alla voce superiore:
soprano = \relative { b'8( c d c) d2 } alto = \relative { g'2 b8( a g a) } words = \lyricmode { la __ la __ } \new Staff << \new Voice = "sopranoVoice" { \voiceOne \soprano } \new Voice { \voiceTwo \alto } \new Lyrics \lyricsto "sopranoVoice" \words >>
Per ottenere il risultato desiderato, si allinea il testo a un
nuovo contesto NullVoice
contenente una giusta combinazione
delle due voci. Le note del contesto NullVoice
non appaiono
nello spartito, ma servono soltanto ad allineare il testo nel
modo corretto:
soprano = \relative { b'8( c d c) d2 } alto = \relative { g'2 b8( a g a) } aligner = \relative { b'8( c d c) b( a g a) } words = \lyricmode { la __ la __ } \new Staff << \new Voice { \voiceOne \soprano } \new Voice { \voiceTwo \alto } \new NullVoice = "aligner" \aligner \new Lyrics \lyricsto "aligner" \words >>
Questo metodo si può usare anche con la funzione \partCombine
,
che di per sé non accetta il testo cantato:
soprano = \relative { b'8( c d c) d2 } alto = \relative { g'2 b8( a g a) } aligner = \relative { b'8( c d c) b( a g a) } words = \lyricmode { la __ la __ } \new Staff << \new Voice \partCombine \soprano \alto \new NullVoice = "aligner" \aligner \new Lyrics \lyricsto "aligner" \words >>
Problemi noti e avvertimenti
La funzione \addlyrics
funziona solo con testi vocali collegati
a contesti Voice
e non può essere usata con NullVoice
.
La funzione \partCombine
è descritta in
Combinazione automatica delle parti.
Infine, si può usare questo metodo anche quando le voci si trovano su righi diversi e non è limitata a due sole voci:
soprano = \relative { b'8( c d c) d2 } altoOne = \relative { g'2 b8( a b4) } altoTwo = \relative { d'2 g4( fis8 g) } aligner = \relative { b'8( c d c) d( d d d) } words = \lyricmode { la __ la __ } \new ChoirStaff \with {\accepts NullVoice } << \new Staff << \soprano \new NullVoice = "aligner" \aligner >> \new Lyrics \lyricsto "aligner" \words \new Staff \partCombine \altoOne \altoTwo >>
[ << Notazione specialistica ] | [Inizio][Contenuti][Indice] | [ Input e output >> ] |
[ < Testi alternati ] | [ Su : Tecniche specifiche per il testo vocale ] | [ Strofe > ] |