Referència de la notació del GNU LilyPond: 2.1.2 Tècniques específiques per a les lletres

### 2.1.2 Tècniques específiques per a les lletres

#### Treball amb lletra i variables

Es poden crear variables que contenen lletra, però la lletra s’ha d’introduir en el mode lletra:

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

No cal escriure les duraciones si la variable s’invocarà amb `\addlyrics` o amb `\lyricsto`.

Per a disposicions diferents o més complexes, la millor forma és definir en primer lloc les variables de la música i de la lletra, després preparar una jerarquia de pentagrames i lletres, ometent la lletra en sí, i després posar la lletra utilitzant `\context` per sota. Això assegura que les veus referenciades per `\lyricsto` siempre han estat definides prèviament. Per exemple:

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

#### Vegeu també

Referència de la notació: Posicionament vertical de la lletra.

Referència de funcionament intern: LyricCombineMusic, Lyrics.

#### Posicionament vertical de la lletra

Depenent del tipus de música, la lletra pot col·locar-se sobre el pentagrama, a sota del pentagrama o entre dos pentagrames. El més fàcil és situar la lletra a sota de la pauta associada, i es pot aconseguir simplement definint el context Lyrics per sota del context Staff:

>     \score {
>       <<
>         \new Staff {
>           \new Voice = "melodia" {
>             \relative { c''4 c c c }
>           }
>         }
>         \new Lyrics {
>           \lyricsto "melodia" {
>             Here are the words
>           }
>         }
>       >>
>     }

Es pot col·locar la lletra sobre el pentagrama usat un dels dos mètodes disponibles: el més senzill (i preferible) és usar la mateixa sintaxi que s’ha vist més a dalt i especificar explícitament la posició de la lletra:

>     \score {
>       <<
>         \new Staff = "staff" {
>           \new Voice = "melody" {
>             \relative { c''4 c c c }
>           }
>         }
>         \new Lyrics \with { alignAboveContext = "staff" } {
>           \lyricsto "melody" {
>             Here are the words
>           }
>         }
>       >>
>     }

Com a alternativa, es pot usar un procés en dos passos. En primer lloc es declara el context Lyrics (sense cap contingut), abans dels contextos Staff i Voice, i després s’escriu l’ordre `\lyricsto` després de la declaració de Voice a què fa referència, usant `\context`, com es veu a continuació:

>     \score {
>       <<
>         \new Lyrics = "lyrics" \with {
>           % lyrics above a staff should have this 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
>           }
>         }
>       >>
>     }

Quan hi ha dues veus sobre pentagrames separats, la lletra es pot col·locar sobre ells usant qualsevol d’aquests mètodes. Heus ací un exemple del segon mètode:

>     \score {
>       \new ChoirStaff <<
>         \new Staff {
>           \new Voice = "sopranos" {
>             \relative { c''4 c c c }
>           }
>         }
>         \new Lyrics = "sopranos"
>         \new Lyrics = "contraltos" \with {
>           % lyrics above a staff should have this 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
>           }
>         }
>       >>
>     }

És possible generar d’altres combinacions de lletra i pautes mitjançant l’elaboració dels exemples anteriors, o examinant les plantilles del Manual d’Aprenentatge, vegeu Plantilles de conjunts vocals.

#### Fragments de codi seleccionats

Obtaining 2.12 lyrics spacing in newer versions

The vertical spacing engine changed since version 2.14. This can cause lyrics to be spaced differently.

It is possible to set properties for `Lyric` and `Staff` contexts to get the spacing engine to behave as it did in version 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))
>         }
>       }
>     }

#### Vegeu també

Manual d’ aprenentatge: Plantilles de conjunts vocals.

Referència de la notació: Ordre de disposició dels contextos, Creació i referenciació dels contextos.

#### Col·locació horitzontal de les síl·labes

Per augmentar la separació entre les línies de text, establiu la propietat `minimum-distance` de `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 aplicar aquest canvi a totes les lletres de la partitura, ajusteu la propietat dins del bloc `\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
>         }
>       }
>     }

#### Fragments de codi seleccionats

Lyrics alignment

Horizontal alignment for lyrics can be set by overriding the `self-alignment-X` property of the `LyricText` object. `#-1` is left, `#0` is center and `#1` is right; however, you can use `#LEFT`, `#CENTER` and `#RIGHT` as well.

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

La comprovació necessària per assegurar que les inscripcions de text estiguin dins dels marges, requereix càlculs addicionals. Per accelerar lleugerament el processat, es pot desactivar aquesta funcionalitat:

>     \override Score.PaperColumn.keep-inside-line = ##f

Per fer que el text eviti també les línies divisòries, useu

>     \layout {
>       \context {
>         \Lyrics
>           \consists "Bar_engraver"
>           \consists "Separating_line_group_engraver"
>           \hide BarLine
>       }
>     }

#### Lletra i repeticions

### Repeticions senzilles

Les repeticions en la música es descriuen extensament a alguna altra part d’aquest maual; vegeu Repeticions. Aquesta secció explica com afegir lletra a seccions de música que es repeteixen.

La lletra que va amb una secció de música que es repeteix, hauria d’estar envoltada en la mateixa construcció de repeticions exacta que la música, si el text no canvia.

>     \score {
>       <<
>         \new Staff {
>           \new Voice = "melody" {
>             \relative {
>               a'4 a a a
>               \repeat volta 2 { b4 b b b }
>             }
>           }
>         }
>         \new Lyrics {
>           \lyricsto "melody" {
>             Not re -- peat -- ed.
>             \repeat volta 2 { Re -- peat -- ed twice. }
>           }
>         }
>       >>
>     }

El text s’expandirà correctament d’aquesta manera si es despleguen les repeticions.

>     \score {
>       \unfoldRepeats {
>         <<
>           \new Staff {
>             \new Voice = "melody" {
>               \relative {
>                 a'4 a a a
>                 \repeat volta 2 { b4 b b b }
>               }
>             }
>           }
>           \new Lyrics {
>             \lyricsto "melody" {
>               Not re -- peat -- ed.
>               \repeat volta 2 { Re -- peat -- ed twice. }
>             }
>           }
>         >>
>       }
>     }

Si la secció repetida ha de desplegar-se i té una lletra diferent, escriviu simplement tot el text:

>     \score {
>       <<
>         \new Staff {
>           \new Voice = "melody" {
>             \relative {
>               a'4 a a a
>               \repeat unfold 2 { b4 b b b }
>             }
>           }
>         }
>         \new Lyrics {
>           \lyricsto "melody" {
>             Not re -- peat -- ed.
>             The first time words.
>             Sec -- ond time words.
>           }
>         }
>       >>
>     }

Quan el text de les seccions de primera o segona vegada es diferent, la lletra de cada repetició s’ha d’escriure dins de contextos `Lyrics` diferents, niuats correctament a seccions paral·leles:

>     \score {
>       <<
>         \new Staff {
>           \new Voice = "melody" {
>             \relative {
>               a'4 a a a
>               \repeat volta 2 { b4 b b b }
>             }
>           }
>         }
>         \new Lyrics \lyricsto "melody" {
>           Not re -- peat -- ed.
>           <<
>     	{ The first time words. }
>     	\new Lyrics {
>     	  \set associatedVoice = "melody"
>     	  Sec -- ond time words.
>     	}
>           >>
>         }
>       >>
>     }

Es poden afegir més estrofes d’una manera semblant:

>     \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" {
>           Not re -- peat -- ed.
>           <<
>             { The first time words.	}
>     	\new Lyrics {
>     	  \set associatedVoice = "singleVoice"
>     	  Sec -- ond time words.
>     	}
>     	\new Lyrics {
>     	  \set associatedVoice = "singleVoice"
>     	  The third time words.
>     	}
>           >>
>           The end sec -- tion.
>         }
>       >>
>     }

Malgrat això, si aquesta construcció s’insereix dins d’un context de diversos pentagrames tal com un `ChoirStaff`, la lletra dels versos segon i tercer apareixerà a sota del pentagrama inferior.

Per posicionar-los correctament utilitzeu `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" {
>           Not re -- peat -- ed.
>           <<
>             { The first time words.	}
>     	\new Lyrics = "secondVerse"
>             \with { alignBelowContext = "firstVerse" } {
>     	  \set associatedVoice = "melody"
>     	  Sec -- ond time words.
>     	}
>     	\new Lyrics = "thirdVerse"
>             \with { alignBelowContext = "secondVerse" } {
>     	  \set associatedVoice = "melody"
>     	  The third time words.
>     	}
>           >>
>           The end sec -- tion.
>         }
>         \new Voice = "harmony" {
>           \relative {
>             f'4 f f f \repeat volta 2 { g8 g g4 g2 } a4 a8. a16 a2
>           }
>         }
>       >>
>     }

### Repeticions amb finals alternatius (primera i segona vegada)

Si el text de la secció repetida és el mateix, i cap dels blocs `\alternative` comença amb un silenci, es pot usar exactament la mateixa estructura tant per a la lletra com per a la música. Això té l’avantatge que `\unfoldRepeats` expandeix correctament tant la música com la lletra.

>     \score {
>       <<
>         \new Staff {
>           \time 2/4
>           \new Voice = "melody" {
>             \relative {
>               a'4 a a a
>               \repeat volta 2 { b4 b }
>               \alternative { { b b } { b c } }
>             }
>           }
>         }
>         \new Lyrics {
>           \lyricsto "melody" {
>             Not re -- peat -- ed.
>             \repeat volta 2 { Re -- peat -- }
>             \alternative { { ed twice. } { ed twice. } }
>           }
>         }
>       >>
>     }

Però quan la secció repetida té un text diferent, o quan un dels blocs `\alternative` comença amb un silenci, no es pot usar una construcció de repetició per al text i cal inserir manualment ordres `\skip` per saltar sobre les notes a les seccions alternatives que no correponguin.

Nota: no utilitzeu un guió baix, `_`, per saltar notes: el guió baix indica un melisma, i fa que la síl·laba anterior quedi alineada per l’esquerra.

Nota: L’ordre `\skip` ha d’anar seguida per un número, però aquest número s’ignora dins de la lletra, que deriva les duracions de les notes d’una melodia associada a través de `addlyrics` o `lyricsto`. Cada `\skip` salta una sola nota de qualsevol valor, independentment del valor del nombre que s’escriu a continuació.

>     \score {
>       <<
>         \new Staff {
>           \time 2/4
>           \new Voice = "melody" {
>             \relative {
>               \repeat volta 2 { b'4 b }
>               \alternative { { b b } { b c } }
>               c4 c
>             }
>           }
>         }
>         \new Lyrics {
>           \lyricsto "melody" {
>             The first time words.
>             \repeat unfold 2 { \skip 1 }
>             End here.
>           }
>         }
>         \new Lyrics {
>           \lyricsto "melody" {
>             Sec -- ond
>             \repeat unfold 2 { \skip 1 }
>             time words.
>           }
>         }
>       >>
>     }

Quan una nota està lligada sobre dos o més finals alternatius (sobre la primera nota d’una casella de primera i segona vegada), s’usa una lligadura d’unió per arrossegar la nota dins del primer final alternatiu i s’usa una ordre `\repeatTie` de lligadura de repetició a les caselles de repetició següents. Aquesta estructura produeix problemes d’alineació difícils quan hi ha lletra pel mig; augmentar la longitud de les seccions alternatives de forma que les notes lligades quedin contingudes completament dins d’elles, pot oferir un resultat acceptable.

La lligadura d’unió crea un melisma dins de la casella de primera vegada però no en la segona vegada i següent; per tant, per alinear la lletra correctament cal desactivar la creació automàtica de melismes sobre la secció de finals alternatius i inserir salts manuals.

>     \score {
>       <<
>         \new Staff {
>           \time 2/4
>           \new Voice = "melody" {
>             \relative {
>               \set melismaBusyProperties = #'()
>               \repeat volta 2 { b'4 b ~}
>               \alternative { { b b } { b \repeatTie c } }
>               \unset melismaBusyProperties
>               c4 c
>             }
>           }
>         }
>         \new Lyrics {
>           \lyricsto "melody" {
>             \repeat volta 2 { Here's a __ }
>             \alternative {
>               { \skip 1 verse }
>               { \skip 1 sec }
>             }
>             ond one.
>           }
>         }
>       >>
>     }

Observeu que si s’usa `\unfoldRepeats` sobre una secció que contingui alguna `\repeatTie`, la `\repeatTie` s’ha d’eliminar per evitar que s’imprimeixin al mateix temps els dos tipus de lligadures.

Quan la secció repetida té textos diferent, no es pot usar `\repeat` per a la lletra i s’han d’inserir ordres `\skip`, com es va veure abans.

>     \score {
>       <<
>         \new Staff {
>           \time 2/4
>           \new Voice = "melody" {
>             \relative {
>               \repeat volta 2 { b'4 b ~}
>               \alternative { { b b } { b \repeatTie c } }
>               c4 c
>             }
>           }
>         }
>         \new Lyrics {
>           \lyricsto "melody" {
>             Here's a __ verse.
>             \repeat unfold 2 { \skip 1 }
>           }
>         }
>         \new Lyrics {
>           \lyricsto "melody" {
>             Here's one
>             \repeat unfold 2 { \skip 1 }
>             more to sing.
>           }
>         }
>       >>
>     }

Si volem imprimir línies extensores i guions que entren o surten de les caselles de primera i segona vegada, hem d’inserir-los manualment.

>     \score {
>       <<
>         \new Staff {
>           \time 2/4
>           \new Voice = "melody" {
>             \relative {
>               \repeat volta 2 { b'4 b ~}
>               \alternative { { b b } { b \repeatTie c } }
>               c4 c
>             }
>           }
>         }
>         \new Lyrics {
>           \lyricsto "melody" {
>             Here's a __ verse.
>             \repeat unfold 2 { \skip 1 }
>           }
>         }
>         \new Lyrics {
>           \lyricsto "melody" {
>             Here's "a_"
>             \skip 1
>             "_" sec -- ond one.
>           }
>         }
>       >>
>     }

#### Vegeu també

Referència de la notació: Manteniment amb vida dels contextos, Repeticions.

#### Lletres en divisi

Quan solament difereixen les paraules i les duracions de les dues parts mentre que l’alçada de les notes és la mateixa, el mètode adequat pot ser la desactivació temporal de la detecció automàtica dels melismes i indicar el melisma dins de la lletra:

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

Quan difereixen tant la música com les paraules, pot ser millor imprimir la música i la lletra que difereixen mitjançant l’anomenat de contextos de veu i adjuntant la lletra a aquests contextos específics:

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

En la música coral és freqüent que una part vocal es divideixi en dues durant diversos compassos. La construcció `<< {…} \\ {…} >>`, en la qual dues (o més) expressions musicals estan separades per dues barres invertides, pot en principi semblar la forma més adequada de realitzar les veus dividides. Tanmateix, aquesta construcció assigna totes les expressions que estan dins d’ella a contextos de veu NOUS, cosa que fa que no s’assigni a elles cap lletra perquè la lletra s’assigna al context de veu original, que no és el que pretenem, en general. La construcció correcta que hem d’usar és el passatge polifònic temporal, vegeu la secció Passatges polifònics temporals dins de Polifonia en un sol pentagrama.

#### Polifonia amb lletres compartides

Quan dues veus les notes de les quals tenen diferents duracions comparteixen la mateixa lletra, l’alineació de la lletra a una de les veus pot generar problemes a l’altra veu. Per exemple, la segona línia extensora que es veu a sota és massa curta, perquè la lletra està alineada sols amb la veu superior:

>     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 obtenir el resultat desitjat, alineeu la lletra amb un context `NullVoice` (‘Veu Nul·la’) nou que contingui una combinació adequada de les dues veus. Les notes del context `NullVoice` no apareixen a la pàgina impresa, però poden utilitzar-se per alinear la lletra adequadament:

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

Aquest mètode es pot usar també amb la funció `\partCombine`, que per sí mateixa no permet incloure lletra:

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

#### Advertiments i problemes coneguts

La funció `\addLyrics` sols funciona amb lletra de `Voice`, per la qual cosa no pot utilitzar-se amb `NullVoice`.

La funció `\partCombine` es descriu a Combinació automàtica de les parts.

Por últim, aquest mètode es pot usar fins i tot si les veus estan a diferents pentagrames, i no es limita únicament a dues veus:

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

#### LilyPond — Referència de la notació v2.22.2 (branca estable).