Anterior: Voces explícitas, Arriba: Las voces contienen música
La música vocal presenta una dificultad especial: tenemos que combinar dos expresiones, a saber, las notas y la letra.
Ya ha visto la instrucción \addlyrics{}
, que maneja bien
partituras sencillas. Sin embargo esta técnica es algo limitada.
Para música de mayor complejidad, tenemos que introducir la letra en
un contexto Lyrics
utilizando \new Lyrics
y enlazar
explícitamente la letra y las notas mediante \lyricsto{}
,
usando el nombre asignado a la voz.
<< \new Voice = "one" \relative c'' { \autoBeamOff \time 2/4 c4 b8. a16 g4. f8 e4 d c2 } \new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. } >>
Observe que la letra se debe enlazar a un contexto de Voice
,
no a un contexto de Staff
. Este es un caso en que es
necesario crear contextos de Staff
y de Voice
explícitamente.
El barrado automático que LilyPond usa de forma predeterminada
funciona bien para la música instrumental, pero no tan bien para
música con letra, donde o bien el barrado no se necesita en absoluto,
o bien se utiliza para indicar los melismas de la letra. En el
ejemplo anterior hemos utilizado la instrucción \autoBeamOff
para desactivar el barrado automático.
Ahora vamos a reutilizar el ejemplo anterior de «Judas Macabeo» para
ilustrar esta técnica más flexible. Primero la reescribiremos para
que use variables de manera que la música y la letra se pueda separar
de la estructura de pentagramas. También introduciremos una llave de
grupo de ChoirStaff. La letra en sí se debe introducir con
\lyricmode
para estar seguros de que se interpreta como letra y
no como música.
global = { \time 6/8 \partial 8 \key f \major} MusicaSopranoUno = \relative c'' { c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 } MusicaSopranoDos = \relative c' { r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' } LetraSopranoUno = \lyricmode { Let | flee -- cy flocks the | hills a -- dorn, __ } LetraSopranoDos = \lyricmode { Let | flee -- cy flocks the | hills a -- dorn, } \score { \new ChoirStaff << \new Staff << \new Voice = "SopOne" { \global \MusicaSopranoUno } \new Lyrics \lyricsto "SopOne" { \LetraSopranoUno } >> \new Staff << \new Voice = "SopTwo" { \global \MusicaSopranoDos } \new Lyrics \lyricsto "SopTwo" { \LetraSopranoDos } >> >> }
Ésta es la estructura básica de todas las partituras vocales. Se pueden añadir más pentagramas según se necesite, se pueden añadir más voces a los pentagramas y más estrofas a la letra, y las variables que contienen la música se pueden colocar fácilmente en archivos separados cuando se hagan demasiado largos.
A continuación podemos ver un ejemplo final de la primera línea de un himno con cuatro estrofas, para coro SATB. En este caso la letra de las cuatro partes es la misma. Observe cómo utilizamos variables para separar la notación musical de la estructura de pentagramas. Observe también cómo se utiliza una variable, para la que hemos elegido el nombre ‘TimeKey’ («compás y tonalidad»), para que contenga varias instrucciones que se usarán dentro de los dos pentagramas. En otros ejemplos se le suele dar el nombre de ‘global’.
CompasTono = { \time 4/4 \partial 4 \key c \major} MusicaSoprano = \relative c' { c4 | e4. e8 g4 g | a a g } MusicaAlto = \relative c' { c4 | c4. c8 e4 e | f f e } MusicaTenor = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 } MusicaBajo = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 } EstrofaUno = \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, } EstrofaDos = \lyricmode { O | Christ, whose voice the | wa -- ters heard, } EstrofaTres = \lyricmode { O | Ho -- ly Spi -- rit, | who didst brood } EstrofaCuatro = \lyricmode { O | Tri -- ni -- ty of | love and pow'r } \score { \new ChoirStaff << \new Staff << \clef "treble" \new Voice = "Sop" { \voiceOne \CompasTono \MusicaSoprano } \new Voice = "Alto" { \voiceTwo \MusicaAlto } \new Lyrics \lyricsto "Sop" { \EstrofaUno } \new Lyrics \lyricsto "Sop" { \EstrofaDos } \new Lyrics \lyricsto "Sop" { \EstrofaTres } \new Lyrics \lyricsto "Sop" { \EstrofaCuatro } >> \new Staff << \clef "bass" \new Voice = "Tenor" { \voiceOne \CompasTono \MusicaTenor } \new Voice = "Bass" { \voiceTwo \MusicaBajo } >> >> }
Finalizamos con un ejemplo que muestra cómo podemos codificar una estrofa para solista seguida de un estribillo en dos partes sobre dos pentagramas. El posicionado de las secciones secuencial y simultánea para conseguirlo dentro de una sola partitura es un poco enrevesado, por tanto siga esta explicación con todo cuidado.
Comenzamos el ejemplo con un bloque de partitura que contiene un
ChoirStaff
, pues queremos que aparezca un corchete al comienzo
de la parte de coro. Normalmente necesitaríamos dobles ángulos
después de \new ChoirStaff
para meter dentro todos los
pentagramas en paralelo, pero aquí queremos postponer el paralelismo
mientras dura el solo y por ello usaremos llaves, aunque aquí unos
ángulos dobles no harían daño. Dentro del ChoirStaff
queremos
en primer lugar el pentagrama que va a contener la estrofa. Debe
contener notas y letra en paralelo, así que necesitamos dobles ángulos
encerrando el \new Voice
y el \new Lyrics
para que den
comienzo al mismo tiempo:
notas_estrofa = \relative c'' { \clef "treble" \key g \major \time 3/4 g g g b b b } letra_estrofa = \lyricmode { One two three four five six } \score { \new Choirstaff { \new Staff << \new Voice = "verse" { \notas_estrofa \break } \new Lyrics \lyricsto verse { \letra_estrofa } >> } }
Con esto tenemos la línea de la estrofa.
Ahora deseamos continuar con refrainA (la primera parte del
estribillo) sobre el mismo pentagrama, mientras un segundo pentagrama
aparece en paralelo con él para refrainB (estribillo, segunda parte),
por lo que ésta es una sección paralela que se debe situar
inmediatamente a continuación del salto de línea \break
en la
voz de la estrofa. ¡Sí, dentro de la voz de la estrofa! He
aquí dicha sección paralela. Se podrían introducir más pentagramas de
la misma forma.
<< \refrainnotesA \new Lyrics \lyricsto verse { \refrainwordsA } \new Staff << \new Voice = "refrainB" { \refrainnotesB } \new Lyrics \lyricsto "refrainB" { \refrainwordsB } >> >>
Aquí tenemos el resultado final con dos pentagramas en el estribillo mostrando cómo la sección paralela se posiciona dentro de la voz de la estrofa:
notas_estrofa = \relative c'' { \clef "treble" \key g \major \time 3/4 g g g b b b } notas_estribilloA = \relative c'' { \time 2/4 c c g g \bar "|." } notas_estribilloB = \relative c { \clef "bass" \key g \major c e d d } letra_estrofa = \lyricmode { One two three four five six } letra_estribilloA = \lyricmode { la la la la } letra_estribilloB = \lyricmode { dum dum dum dum } \score { \new ChoirStaff { \new Staff << \context Voice = "verse" { \notas_estrofa \break << \notas_estribilloA \new Lyrics \lyricsto "verse" { \letra_estribilloA } \new Staff << \new Voice = "refrainB" { \notas_estribilloB } \new Lyrics \lyricsto "refrainB" { \letra_estribilloB } >> >> } \new Lyrics \lyricsto "verse" { \letra_estrofa } >> } }
Sin embargo, y aunque esto es un interesante y útil ejercicio
destinado a ayudarle a comprender cómo funcionan los bloques
secuenciales y simultáneos, en la práctica quizá nos decidiríamos por
codificarlo como dos bloques \score
dentro de un bloque
\book
implícito, como sigue:
notas_estrofa = \relative c'' { \clef "treble" \key g \major \time 3/4 g g g b b b } notas_estribilloA = \relative c'' { \time 2/4 c c g g \bar "|." } notas_estribilloB = \relative c { \clef "bass" \key g \major c e d d } letra_estrofa = \lyricmode { One two three four five six } letra_estribilloA = \lyricmode { la la la la } letra_estribilloB = \lyricmode { dum dum dum dum } \score { \new Staff << \new Voice = "verse" { \notas_estrofa } \new Lyrics \lyricsto "verse" { \letra_estrofa } >> } \score { \new ChoirStaff << \new Staff << \new Voice = "refrainA" { \notas_estribilloA } \new Lyrics \lyricsto "refrainA" { \letra_estribilloA } >> \new Staff << \new Voice = "refrainB" { \notas_estribilloB } \new Lyrics \lyricsto "refrainB" { \letra_estribilloB } >> >> }
Esta página corresponde a LilyPond-2.11.58 (rama de desarrollo).
Informe de los fallos a través de la lista en español lilypond-es, o en inglés a través de http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.
Se agradecen las sugerencias para la documentación.