2.1.2 Tecniche specifiche per il testo vocale


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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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))
    }
  }
}

[image of music]

Vedi anche

Manuale di apprendimento: Modelli per gruppi vocali.

Guida alla notazione: Ordine di disposizione dei contesti, Creazione e citazione di un contesto.


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
}

[image of music]

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

[image of music]

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"
}

[image of music]

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

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

Vedi anche

Guida alla notazione: Conservazione di un contesto, Ripetizioni.


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 _
    }
  >>
}

[image of music]

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

[image of music]

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.


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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]


LilyPond — Guida alla Notazione v2.23.82 (ramo di sviluppo).