-@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
-@c This file is part of lilypond-learning.tely
-@ignore
- Translation of GIT committish: 41ef91786a08102d9b9a839f6a2f40cec263d723
-
- When revising a translation, copy the HEAD committish of the
- version that you are working on. See TRANSLATION for details.
-@end ignore
-
-@c \version "2.12.0"
-
-
-@node Fundamental concepts
-@chapter Fundamental concepts
-
-Ha podido ver en el tutorial cómo producir música bellamente impresa a
-partir de un simple archivo de texto. Esta sección presenta los
-conceptos y técnicas que se requieren para producir partituras
-igualmente bellas pero más complejas.
-
-@menu
-* How LilyPond input files work::
-* Voices contain music::
-* Contexts and engravers::
-* Extending the templates::
-@end menu
-
-
-@node How LilyPond input files work
-@section How LilyPond input files work
-
-El formato de entrada de LilyPond es bastante libre en su forma y
-concede a los usuarios con experiencia mucha flexibilidad para
-estructurar sus archivos de la forma que deseen. Sin embargo, toda
-esta flexibilidad puede hacer que las cosas se vuelvan confusas para
-los nuevos usuarios. Esta sección le va a explicar parte de esta
-estructura, pero puede obviar ciertos detalles en aras de la
-simplicidad. Para ver una descripción completa del formato de
-entrada, consulte @ruser{File structure}.
-
-
-@menu
-* Introduction to the LilyPond file structure::
-* Score is a (single) compound musical expression::
-* Nesting music expressions::
-* On the un-nestedness of brackets and ties::
-@end menu
-
-@node Introduction to the LilyPond file structure
-@subsection Introduction to the LilyPond file structure
-
-@cindex entrada, formato de la
-@cindex archivo, estructura del
-
-Un ejemplo básico de archivo de entrada de LilyPond es el siguiente:
-
-@example
-\version @w{"@version{}"}
-\header @{ @}
-\score @{
- @var{...expresión musical compuesta...} % toda la música viene aquí
- \layout @{ @}
- \midi @{ @}
-@}
-@end example
-
-@noindent
-Existen muchas variaciones de este esquema básico, pero el ejemplo
-constituye un útil punto de partida.
-
-@funindex \book
-@funindex book
-@funindex \score
-@funindex score
-@cindex book (libro)
-@cindex score (partitura)
-@cindex libro
-@cindex partitura
-
-Hasta el momento, ninguno de los ejemplos que ha podido ver utiliza la
-instrucción @code{\score@{@}}. Esto es así a causa de que LilyPond
-añade automáticamente las órdenes adicionales que se requieren cuando
-le proporcionamos una entrada sencilla. LilyPond trata una entrada
-como esta:
-
-@example
-\relative c'' @{
- c4 a d c
-@}
-@end example
-
-@noindent
-como una abreviatura de esta otra:
-
-@example
-\book @{
- \score @{
- \new Staff @{
- \new Voice @{
- \relative c'' @{
- c4 a b c
- @}
- @}
- @}
- \layout @{ @}
- @}
-@}
-@end example
-
-En otras palabras, si la entrada consta de una única expresión
-musical, LilyPond interpreta el archivo como si la expresción musical
-estuviera rodeada por un envoltorio hecho por las instrucciones que
-acabamos de ver.
-
-@cindex contextos implícitos
-@cindex implícitos, contextos
-
-@strong{¡Advertencia!} Muchos de los ejemplos que aparecen en la
-documentación de LilyPond omiten las instrucciones @code{\new Staff} y
-@code{\new Voice}, dejando que se creen de forma implícita. Esto
-funciona bien para ejemplos sencillos, pero para ejemplos más
-complicados, especialmente cuando se usan instrucciones adicionales,
-la creación implícita de los contextos puede dar lugar a resultados
-inesperados, incluso en ocasiones crear pentagramas no deseados. La
-forma de crear contextos de forma explícita se explica en
-@ref{Contexts and engravers}.
-
-@warning{Cuando se escriben más de unas pocas líneas de música, se
-recomienda crear siempre los pentagramas y las voces de forma
-explícita.}
-
-De todas formas, por ahora vamos a volver al primer ejemplo para
-examinar la instrucción @code{\score}, dejando las demás en su forma
-predeterminada.
-
-Un bloque @code{\score} siempre debe contener una expresión musical
-única, que debe aparecer inmediatamente después de la instrucción
-@code{\score}. Recuerde que una expresión musical podía ser cualquier
-cosa entre una sola nota hasta una enorme expresión compuesta como
-
-@example
-@{
- \new StaffGroup <<
- @var{...inserte aquí la partitura completa de una ópera de Wagner...}
- >>
-@}
-@end example
-
-@noindent
-Puesto que todo se encuentra dentro de @code{@{ ... @}}, cuenta como
-una expresión musical.
-
-Como vimos anteriormente, el bloque @code{\score} puede contener otras
-cosas, tales como
-
-@example
-\score @{
- @{ c'4 a b c' @}
- \header @{ @}
- \layout @{ @}
- \midi @{ @}
-@}
-@end example
-
-@funindex \header
-@funindex header
-@funindex \layout
-@funindex layout
-@funindex \midi
-@funindex midi
-@cindex header
-@cindex layout
-@cindex midi
-@cindex cabecera
-@cindex disposición
-
-@noindent
-Observe que estas tres instrucciones (@code{\header}, @code{\layout} y
-@code{\midi}) son especiales: a diferencia del resto de las
-instrucciones que comienzan con una barra invertida (@code{\}),
-@emph{no} son expresiones musicales y no forman parte de ninguna
-expresión musical. Por tanto, se pueden situar dentro de un bloque
-@code{\score} o fuera de él. De hecho, estas instrucciones se sitúan
-por lo general fuera del bloque @code{\score} (por ejemplo,
-@code{\header} se suele colocar antes de la instrucción @code{\score},
-como muestra el ejemplo que aparece al principio de la sección.
-
-Dos instrucciones más que no hemos visto aún son @code{\layout @{ @}}
-y @code{\midi @{ @}}. Si aparecen tal y como se muestran aquí, hacen
-que LilyPond produzca una salida impresa y una salida MIDI,
-respectivamente. Se describen con todo detalle en el manual de
-Referencia de la notación, en @ruser{Score layout} y en
-@ruser{Creating MIDI files}.
-
-@cindex partituras, varias
-@cindex book, bloque implícito
-@cindex implícito, bloque book
-@funindex \book
-@funindex book
-
-Podemos escribir varios bloques @code{\score}. Cada uno de ellos
-recibirá el mismo tratamiento que una partitura independiente, pero se
-combinarán todos juntos en un archivo de salida único. No se necesita
-ninguna instrucción @code{\book}, se creará una implícitamente. Sin
-embargo, si quiere archivos de salida separados a partir de un único
-archivo @code{.ly}, entonces es necesario utilizar la instrucción
-@code{\book} para separar las distintas secciones: cada bloque
-@code{\book} produce un archivo de salida distinto.
-
-En resumen:
-
-Cada bloque @code{\book} crea un archivo de salida distinto (por
-ejemplo, un archivo PDF). Si no hemos escrito uno de forma explícita,
-LilyPond envuelve todo nuestro código de entrada dentro de un bloque
-@code{\book} de forma implícita.
-
-Cada bloque @code{\score} es un trozo de música separado dentro de un
-bloque @code{\book}.
-
-@cindex layout, efecto de la situación del bloque
-
-Cada bloque @code{\layout} afecta al bloque @code{\score} o
-@code{\book} dentro del cual aparece (es decir, un bloque
-@code{\layout} dentro de un bloque @code{\score} afecta solamente a
-ese bloque @code{\score}, pero un bloque @code{\layout} fuera de un
-bloque @code{\score} (que por ello está dentro de un bloque
-@code{\book}, ya sea explícita o implícitamente) afecta a los bloques
-@code{\score} que están dentro de ese @code{\book}.
-
-Para ver más detalles, consulte @ruser{Multiple scores in a book}.
-
-@cindex variables
-
-Otro atajo genial es la posibilidad de definir variables. Todas las
-plantillas emplean lo siguiente:
-
-@example
-melodia = \relative c' @{
- c4 a b c
-@}
-
-\score @{
- \melodia
-@}
-@end example
-
-Cuando LilyPond examina este archivo, toma el valor de @code{melodia}
-(todo lo que está después del signo igual) y lo inserta dondequiera
-que ve @code{\melodia}. No se requiere un cuidado especial con los
-nombres (puede ser @code{melodia}, @code{global},
-@code{CompasArmadura}, @code{manoderechadelpiano} o
-@code{fulanomengano}). Para ver más detalles, consulte @ref{Saving
-typing with variables and functions}. Recuerde que puede usar casi
-cualquier nombre que se le ocurra, en la medida en que contenga
-solamente caracteres alfabéticos y sea diferente de cualquiera de los
-nombres de instrucción de LilyPond. Las limitaciones exactas que
-afectan a los nombres de variable se detallan en @ruser{File
-structure}.
-
-
-@seealso
-Para ver una definición completa del formato del código de entrada,
-consulte @ruser{File structure}.
-
-
-@node Score is a (single) compound musical expression
-@subsection Score is a (single) compound musical expression
-
-@cindex score
-@cindex partitura
-@cindex contenido del bloque score
-@cindex score, contenido del bloque
-@cindex compuesta, expresión musical
-@cindex musical, expresión, compuesta
-@cindex expresión musical compuesta
-@funindex \score
-@funindex score
-
-En la sección anterior, @ref{Introduction to the LilyPond file
-structure}, hemos podido ver la organización general de los archivos
-de entrada de LilyPond. Pero parece que nos saltamos la parte más
-importante: ¿cómo averiguamos qué escribir después de @code{\score}?
-
-No nos hemos saltado nada en absoluto. El gran misterio es, sencillamente,
-que no hay @emph{ningún} misterio. La siguiente línea lo explica
-todo:
-
-@quotation
-@emph{Un bloque @code{\score} debe comenzar con una expresión musical
-compuesta.}
-@end quotation
-
-@noindent
-Para comprender lo que se entiende por expresión musical y expresión
-musical compuesta, quizá encuentre útil dar un repaso al tutorial,
-@ref{Music expressions explained}. En esta sección vimos cómo
-elaborar grandes expresiones musicales a partir de pequeñas piezas
-(comenzábamos con notas, luego acordes, etc.). Ahora partiremos de
-una gran expresión musical y recorreremos el camino inverso hacia
-abajo.
-
-@example
-\score @{
- @{ % esta llave da inicio a toda la expresión musical compuesta
- \new StaffGroup <<
- @var{...introduzca aquí la partitura completa de una ópera de Wagner...}
- >>
- @} % esta llave da por terminada toda expresión musical completa
- \layout @{ @}
-@}
-@end example
-
-Una ópera de Wagner completa puede ser fácilmente el doble de larga
-que este manual, por tanto vamos a hacer sólo un cantante y un piano.
-No necesitamos un @code{StaffGroup} (que simplemente agrupa un cierto
-número de pautas con un corchete a la izquierda) para este conjunto,
-así que lo retiramos. Sin embargo, @emph{sí} necesitamos un cantante
-y un piano.
-
-@example
-\score @{
- <<
- \new Staff = "cantante" <<
- >>
- \new PianoStaff = "piano" <<
- >>
- >>
- \layout @{ @}
-@}
-@end example
-
-Recuerde que usamos @code{<<} y @code{>>} en vez de @code{@{ ... @}}
-para presentar música simultánea. Y, por supuesto, queremos presentar
-las partes vocal y del piano al mismo tiempo, ¡no una después de otra!
-Observe que la construcción @code{<< ... >>} no es realmente necesaria
-para el pentagrama del cantante (pues contiene una sola expresión
-musical); sin embargo, el uso de @code{<< ... >>} en lugar de llaves
-sigue siendo necesario si la música que debe ir en el pentagrama está
-compuesta por dos expresiones simultáneas, por ejemplo dos voces
-simultáneas o una voz con letra. Escribiremos algo de música real más
-tarde; por ahora limitémonos a poner algunas notas y letra de relleno.
-
-@lilypond[verbatim,quote,ragged-right]
-\score {
- <<
- \new Staff = "singer" <<
- \new Voice = "vocal" { c'1 }
- \addlyrics { And }
- >>
- \new PianoStaff = "piano" <<
- \new Staff = "upper" { c'1 }
- \new Staff = "lower" { c'1 }
- >>
- >>
- \layout { }
-}
-@end lilypond
-
-Ahora tenemos muchos más detalles. Tenemos la pauta del cantante:
-contiene una @code{Voice} o voz (en LilyPond, este término hace
-referencia a un conjunto de notas, no necesariamente notas vocales --
-por ejemplo, un violín generalmente toca una voz --) y el texto de la
-canción. También tenemos una pauta de piano: contiene un pentagrama
-superior (mano derecha) y un pentagrama inferior (mano izquierda).
-
-En este momento podríamos comenzar a meter las notas. Dentro de las
-llaves que siguen a @code{\new Voice = "vocal"}, podríamos empezar
-escribiendo
-
-@example
-\relative c'' @{
- r4 d8\noBeam g, c4 r
-@}
-@end example
-
-Pero si lo hiciéramos, la sección @code{\score} se haría bastante
-larga y sería más difícil comprender lo que ocurre. En lugar de esto
-utilizaremos identificadores o variables. Recordará que las vimos por
-primera vez en la sección anterior. Así pues, escribiendo algunas
-notas, ahora tenemos un fragmento musical de verdad:
-
-@lilypond[verbatim,quote,ragged-right]
-melody = \relative c'' { r4 d8\noBeam g, c4 r }
-text = \lyricmode { And God said, }
-upper = \relative c'' { <g d g,>2~ <g d g,> }
-lower = \relative c { b2 e2 }
-
-\score {
- <<
- \new Staff = "singer" <<
- \new Voice = "vocal" { \melody }
- \addlyrics { \text }
- >>
- \new PianoStaff = "piano" <<
- \new Staff = "upper" { \upper }
- \new Staff = "lower" {
- \clef "bass"
- \lower
- }
- >>
- >>
- \layout { }
-}
-@end lilypond
-
-Tenga cuidado con la diferencia entre las notas, que van precedidas de
-@code{\relative} o insertadas directamente en la expresión musical, y
-la letra, que va precedida de @code{\lyricmode}. Estas instrucciones
-son esenciales para decirle a LilyPond que interprete el contenido que
-viene a continuación como música y texto, respectivamente.
-
-Cuando escriba una sección @code{\score} o cuando la esté leyendo,
-hágalo despacio y con cuidado. Comience por el nivel exterior y luego
-trabaje sobre cada uno de los niveles interiores. También es de gran
-ayuda ser muy estricto con los márgenes (asegúrese de que en su editor
-de texto cada elemento del mismo nivel comienza en la misma posición
-horizontal).
-
-
-@seealso
-Referencia de la notación:
-@ruser{Structure of a score}.
-
-
-@node Nesting music expressions
-@subsection Nesting music expressions
-
-@cindex pentagramas temporales
-@cindex temporales, pentagramas
-@cindex ossias
-
-No es esencial declarar todos los pentagramas al comienzo; se pueden
-crear temporalmente en cualquier momento. Esto es de especial
-utilidad para crear secciones de ossia (véase @rglos{ossia}). A
-continuación presentamos un ejemplo sencillo que muestra cómo
-introducir temporalmente un pentagrama nuevo mientras dura un
-fragmento de tres notas:
-
-@lilypond[verbatim,quote,ragged-right]
-\new Staff {
- \relative g' {
- r4 g8 g c4 c8 d |
- e4 r8
- <<
- { f c c }
- \new Staff {
- f8 f c
- }
- >>
- r4 |
- }
-}
-@end lilypond
-
-@noindent
-Advierta que el tamaño de la clave es igual al que se imprime en un
-cambio de clave (ligeramente menor que la clave al principio de una
-línea). Esto es normal para cualquier clave que se imprime en la
-mitad de una línea.
-
-@cindex pentagrama, posicionado del
-
-La sección ossia se puede colocar encima del pentagrama de la manera
-siguiente:
-
-@lilypond[verbatim,quote,ragged-right]
-\new Staff = "main" {
- \relative g' {
- r4 g8 g c4 c8 d |
- e4 r8
- <<
- { f c c }
- \new Staff \with {
- alignAboveContext = #"main" }
- { f8 f c }
- >>
- r4 |
- }
-}
-@end lilypond
-
-Este ejemplo utiliza @code{\with}, que se explica en todo detalle más
-adelante. Es un medio de modificar el comportamiento predeterminado
-de un solo pentagrama. Aquí, dice que el pentagrama nuevo se debe
-colocar por encima del pentagrama llamado @qq{main} en vez de la
-posición predeterminada que sería por debajo.
-
-
-@seealso
-Los fragmentos de ossia se escriben a menudo sin clave y sin
-indicación de compás, y generalmente en un tipo más pequeño. Esto
-necesitaría más instrucciones que aún no se han visto. Véase
-@ref{Size of objects} y @ruser{Ossia staves}.
-
-
-@node On the un-nestedness of brackets and ties
-@subsection On the un-nestedness of brackets and ties
-
-@cindex corchetes y paréntesis, anidado de
-@cindex corchetes y paréntesis, tipos de
-@cindex corchetes y paréntesis, encerrar frente a marcar
-@cindex paréntesis y corchetes, anidado de
-@cindex paréntesis y corchetes, tipos de
-@cindex paréntesis y corchetes, encerrar frente a marcar
-
-En la escritura del archivo de entrada de LilyPond, hemos podido ver
-algunos tipos de paréntesis, llaves o ángulos de distintos tipos.
-Éstos obedecen a distintas reglas que al principio pueden resultar
-confusas. Antes de explicar estas reglas, demos un repaso a las
-distintas clases de corchetes, llaves y paréntesis.
-
-@c attempt to force this onto a new page
-@need 50
-@multitable @columnfractions .3 .7
-@headitem Tipo de paréntesis
- @tab Función
-@item @code{@{ .. @}}
- @tab Encierra un fragmento secuencial de música
-@item @code{< .. >}
- @tab Encierra las notas de un acorde
-@item @code{<< .. >>}
- @tab Encierra expresiones musicales simultáneas
-@item @code{( .. )}
- @tab Marca el comienzo y el final de una ligadura de expresión
-@item @code{\( .. \)}
- @tab Marca el comienzo y el final de una ligadura de fraseo
-@item @code{[ .. ]}
- @tab Marca el comienzo y el final de un barrado manual
-@end multitable
-
-A las anteriores, debemos añadir otras construcciones que generan
-líneas entre o a través de las notas: las ligaduras de unión (marcadas
-con una tilde curva, @code{~}), los grupos especiales que se escriben
-como @code{\times x/y @{..@}}, y las notas de adorno, que se escriben
-como @code{\grace@{..@}}.
-
-Fuera de LilyPond, el uso convencional de los paréntesis y otros
-corchetes requiere que los distintos tipos se encuentren anidados
-correctamente, como en: @code{<< [ @{ ( .. ) @} ] >>}, de manera que
-los paréntesis que se cierran deben encontrarse en el orden
-exactamente opuesto al de los paréntesis que se abren. Esto
-@strong{es} un requisito para los tres tipos de paréntesis que se
-describen mediante la palabra @q{Encierra} en la tabla anterior: se
-deben anidar correctamente. Sin embargo, el resto de las llaves y
-corchetes, que se encuentran descritos por la palabra @q{Marca} en la
-misma tabla anterior, @strong{no} tienen por qué anidarse
-estrictamente con ninguno de los otros paréntesis. De hecho, éstos no
-son paréntesis en el sentido de que encierran algo: simplemente son
-marcadores que indican dónde empieza o finaliza algo.
-
-Así pues, por ejemplo, una ligadura de fraseo puede dar comienzo
-antes de una barra insertada manualmente, y acabar antes de que acabe
-la barra (algo que quizá no sea muy musical, pero es posible):
-
-@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
- { g8\( a b[ c b\) a] }
-@end lilypond
-
-En general, los distintos tipos de corchete, y los implicados en
-grupos especiales, ligaduras de unión y notas de adorno, se pueden
-mezclar con total libertad. Este ejemplo muestra una barra que se
-extiende hacia el interior de un grupo de valoración especial (línea
-1), una ligadura de expresión que se prolonga hasta el interior de un
-grupo especial (línea 2), una barra y una ligadura de expresión que se
-prolongan hasta el interior de un grupo especial, una ligadura de
-unión que atraviesa dos grupos especiales, y una ligadura de fraseo
-que sale del interior de un grupo especial (líneas 3 y 4).
-
-@lilypond[quote,verbatim,fragment,ragged-right]
-{
- r16[ g16 \times 2/3 {r16 e'8] }
- g16( a \times 2/3 {b d) e' }
- g8[( a \times 2/3 {b d') e'~]}
- \times 4/5 {e'32\( a b d' e'} a'4.\)
-}
-@end lilypond
-
-
-@node Voices contain music
-@section Voices contain music
-
-Igual que los cantantes, LilyPond necesita voces para cantar. En
-realidad, la música para cualquier instrumento de una partitura está
-siempre contenida dentro de una voz --el concepto de LilyPond más
-fundamental de todos--.
-
-@menu
-* I'm hearing Voices::
-* Explicitly instantiating voices::
-* Voices and vocals::
-@end menu
-
-@node I'm hearing Voices
-@subsection I'm hearing Voices
-
-@cindex polifonía
-@cindex capas
-@cindex varias voces
-@cindex voces, varias
-@cindex Voice (voz), contexto de
-@cindex contexto Voice (de voz)
-@cindex simultánea, música
-@cindex concurrente, música
-@cindex voces frente a acordes
-@cindex acordes frente a voces
-
-De las capas más profundas de una partitura de LilyPond, las más bajas
-y más fundamentales reciben el nombre de @q{Voice contexts}
-(«contextos de voz») o, abreviadamente, @q{Voices} («voces»). Las
-voces reciben a veces el nombre de @q{layers} («capas») en otros
-programas de edición de partituras.
-
-De hecho, una capa o contexto de voz es la única que puede contener
-música. Si un contexto de voz no se declara explícitamente, se crea
-uno de forma automática, como vimos al comienzo de este capítulo.
-Ciertos instrumentos como el oboe solamente pueden tocar una nota cada
-vez. La música escrita para estos instrumentos es monofónica y
-solamente requiere una voz única. Los instrumentos que pueden tocar
-más de una nota a la vez, como el piano, con frecuencia necesitarán
-varias voces para codificar las distintas notas y ritmos concurrentes
-que son capaces de tocar.
-
-Una sola voz puede contener muchas notas dentro de un acorde, por
-supuesto; entonces ¿cuándo, exactamente, se necesitan varias voces?
-En primer lugar observe este ejemplo de cuatro acordes:
-
-@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
-\key g \major
-<d g>4 <d fis> <d a'> <d g>
-@end lilypond
-
-Esto se puede expresar utilizando sólo símbolos de acorde con ángulos
-simples, @code{< ... >}, y para este propósito tan sólo se necesita
-una voz. Pero suponga que el Fa sostenido fuese realmente una corchea
-seguida de un Sol corchea, una nota de paso que conduce al La. Ahora
-tenemos dos notas que empiezan en el mismo momento pero tienen
-distintas duraciones: la negra Re, y la corchea Fa sostenido. ¿Cómo se
-codifica esto? No se pueden escribir como un acorde porque todas las
-notas de un acorde deben tener la misma duración. Y no se pueden
-escribir como dos notas en secuencia porque tienen que empezar en el
-mismo momento. Aquí es donde se necesitan dos voces.
-
-Veamos cómo se hace esto dentro de la sintaxis de entrada de LilyPond.
-
-@funindex << \\ >>
-@funindex \\
-
-La forma más fácil de introducir fragmentos con más de una voz en un
-solo pentagrama es escribir cada voz como una secuencia (con
-@code{@{...@}}), y combinarlas simultáneamente con ángulos dobles,
-@code{<<...>>}. Los fragmentos también se deben separar mediante una
-doble barra invertida, @code{\\}, para situarlos en voces separadas.
-Sin esto, las notas irían a una sola voz, lo que normalmente produce
-errores. Esta técnica se adapta especialmente bien a piezas de música
-que son mayormente monofónicas pero ocasionalmente tienen cortas
-secciones de polifonía.
-
-He aquí cómo dividimos los acordes anteriores en dos voces y añadimos
-la nota de paso y la ligadura:
-
-@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
-\key g \major
-% Voice "1" Voice "2"
-<< { g4 fis8( g) a4 g } \\ { d4 d d d } >> |
-@end lilypond
-
-Observe cómo las plicas de la segunda voz ahora se dirigen hacia
-abajo.
-
-A continuación veamos otro ejemplo sencillo:
-
-@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
-\key d \minor
-% Voice "1" Voice "2"
-<< { r4 g g4. a8 } \\ { d,2 d4 g } >> |
-<< { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
-<< { a2. r4 } \\ { fis2. s4 } >> |
-@end lilypond
-
-No es necesario usar una construcción @code{<< \\ >>} distinta para
-cada compás. Para música que tenga unas pocas notas en cada compás,
-esta disposición podría facilitar la legibilidad del código, pero si
-hay muchas notas en cada compás podría ser mejor dividirlo en dos
-voces separadas, de la siguiente manera:
-
-@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
-\key d \minor
-<< {
- % Voice "1"
- r4 g g4. a8 |
- bes4 bes c bes |
- a2. r4 |
-} \\ {
- % Voice "2"
- d,2 d4 g |
- g4 g g8( a) g4 |
- fis2. s4 |
-} >>
-@end lilypond
-
-@cindex voces, nombrado de
-@cindex voces que cruzan corchetes
-@cindex ligaduras que cruzan corchetes
-
-Este ejemplo tiene sólo dos voces, pero la misma construcción se puede
-usar para codificar tres o más voces mediante la adición de más
-separadores de barra invertida.
-
-Los contextos de voz llevan los nombres de @code{"1"}, @code{"2"},
-etc. En cada uno de estos contextos, la dirección vertical de las
-ligaduras, plicas, matices dinámicos, etc., se ajusta de la forma
-correcta.
-
-@lilypond[quote,verbatim,fragment]
-\new Staff \relative c' {
- % Main voice
- c16 d e f
- % Voice "1" Voice "2" Voice "3"
- << { g4 f e } \\ { r8 e4 d c8 ~ } >> |
- << { d2 e2 } \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> |
-}
-@end lilypond
-
-Todas estas voces están separadas de la voz principal que contiene las
-notas justo por fuera de la construcción @code{<< .. >>}. Le
-llamaremos a esto la @emph{construcción simultánea}. Las ligaduras
-(de prolongación y de expresión) solamente pueden conectar notas que
-estén dentro de la misma voz, luego las ligaduras no pueden entrar o
-salir de una construcción simultánea. A la inversa, las voces
-paralelas de construcciones simultáneas distintas sobre el mismo
-pentagrama, son la misma voz. Otras propiedades relativas a las voces
-también conllevan construcciones simultáneas. A continuación vemos el
-mismo ejemplo, con colores y cabezas distintos para cada voz. Observe
-que los cambios en una voz no afectan a otras voces, pero persisten
-más tarde dentro de la misma voz. Observe también que las notas
-ligadas se pueden dividir entre las mismas voces de dos
-construcciones, como se indica aquí en la voz de triángulos azules.
-
-@lilypond[quote,verbatim]
-\new Staff \relative c' {
- % Main voice
- c16 d e f
- << % Bar 1
- {
- \voiceOneStyle
- g4 f e
- }
- \\
- {
- \voiceTwoStyle
- r8 e4 d c8 ~
- }
- >>
- << % Bar 2
- % Voice 1 continues
- { d2 e2 }
- \\
- % Voice 2 continues
- { c8 b16 a b8 g ~ g2 }
- \\
- {
- \voiceThreeStyle
- s4 b4 c2
- }
- >>
-}
-@end lilypond
-
-@funindex \voiceOneStyle
-@funindex \voiceTwoStyle
-@funindex \voiceThreeStyle
-@funindex \voiceFourStyle
-@funindex \voiceNeutralStyle
-
-Las instrucciones @code{\voiceXXXStyle} están pensadas principalmente
-para usarlas en documentos educativos como este mismo. Modifican el
-color de la cabeza, la plica y las barras, y el estilo de la cabeza,
-de forma que las voces se puedan distinguir fácilmente. La voz uno
-está establecida a rombos rojos, la voz dos a triángulos azules, la
-voz tres a círculos verdes con aspas, y la voz cuatro (que no se
-utiliza aquí) a aspas color magenta. @code{\voiceNeutralStyle} (que
-tampoco se usa aquí) devuelve todo al estilo predeterminado. Veremos
-más adelante cómo el usuario puede crear instrucciones como éstas.
-Véase @ref{Visibility and color of objects} y @ref{Using variables for
-tweaks}.
-
-@cindex polifonía y modo relativo
-@cindex relativo, modo, polifonía y
-
-La polifonía no cambia la relación de las notas dentro de un bloque
-@code{\relative @{ @}}. La altura de cada nota aún se calcula con
-relación a la nota que le precede inmediatamente, o a la primera nota
-del acorde precedente. Así, en
-
-@example
-\relative c' @{ notaA << < notaB notaC > \\ notaD >> notaE @}
-@end example
-
-@noindent
-@code{notaB} es relativa a @code{notaA} @*
-@code{notaC} es relativa a @code{notaB}, no a @code{notaA}; @*
-@code{notaD} es relativa a @code{notaB}, no a @code{notaA} ni a
-@code{notaC}; @*
-@code{notaE} es relativa a @code{notaD}, no a @code{notaA}.
-
-Una forma alternativa, que podría ser más clara si las notas en las
-voces están muy separadas, es colocar una instrucción @code{\relative}
-al principio de cada voz:
-
-@example
-\relative c' @{ notaA ... @}
-<<
- \relative c'' @{ < notaB notaC > ... @}
-\\
- \relative g' @{ notaD ... @}
->>
-\relative c' @{ notaE ... @}
-@end example
-
-Finalmente, analicemos las voces en una pieza de música más compleja.
-He aquí las notas de los dos primeros compases del segundo de los Dos
-Nocturnos de Chopin, Op 32. Este ejemplo se utilizará en fases
-posteriores dentro del presente capítulo y el siguiente, para ilustrar
-varias técnicas para producir notación, y por tanto le pedimos que
-ignore por ahora cualquier cosa en el código subyacente que le parezca
-misterioso y tan sólo se concentre en la música y las voces (todas
-las complicaciones se explicarán en secciones posteriores).
-
-@c The following should appear as music without code
-@lilypond[quote,ragged-right]
-\new Staff \relative c'' {
- \key aes \major
- << % Voice one
- { c2 aes4. bes8 }
- \\ % Voice two
- { aes2 f4 fes }
- \\ % No voice three
- \\ % Voice four
- {
- % Ignore these for now - they are explained in Ch 4
- \once \override NoteColumn #'force-hshift = #0
- <ees c>2
- \once \override NoteColumn #'force-hshift = #0.5
- des2
- }
- >> |
- <c ees aes c>1 |
-}
-@end lilypond
-
-Con frecuencia, la dirección de las plicas se utiliza para indicar la
-continuidad de dos líneas melódicas simultáneas. Aquí, todas las
-plicas de las notas agudas se dirigen hacia arriba y las de las notas
-graves hacia abajo. Ésta es la primera indicación de que se requiere
-más de una voz.
-
-Pero la necesidad real de varias voces aflora cuando hay notas que
-comienzan en el mismo tiempo pero tienen distintas duraciones.
-Observe las notas que comienzan en la tercera parte del primer compás.
-El La bemol es una negra con puntillo, el Fa es una negra y el Re
-bemol es una blanca. Estas notas no se pueden escribir como un acorde
-porque todas las notas de un acorde deben tener la misma duración.
-Tampoco se pueden escribir como notas secuenciales, pues deben
-comenzar al mismo tiempo. Esta sección del compás requiere tres
-voces, y la práctica común sería escribir todo el compás como tres
-voces como se muestra abajo, donde hemos usado distintas cabezas y
-colores para las tres voces. Una vez más, el código que subyace a
-este ejemplo se explicará más tarde, así pues ignore todo lo que no
-entienda.
-
-@c The following should appear as music without code
-@c The three voice styles should be defined in -init
-@lilypond[quote,ragged-right]
-\new Staff \relative c'' {
- \key aes \major
- <<
- { % Voice one
- \voiceOneStyle
- c2 aes4. bes8
- }
- \\ % Voice two
- { \voiceTwoStyle
- aes2 f4 fes
- }
- \\ % No Voice three (we want stems down)
- \\ % Voice four
- { \voiceThreeStyle
- % Ignore these for now - they are explained in Ch 4
- \once \override NoteColumn #'force-hshift = #0
- <ees c>2
- \once \override NoteColumn #'force-hshift = #0.5
- des2
- }
- >> |
- <c ees aes c>1 |
-}
-@end lilypond
-
-
-Vamos a intentar codificar esta música partiendo de cero. Como
-veremos, esto se topa con ciertas dificultades. Comenzamos tal y como
-hemos aprendido, usando la construcción @code{<< \\ >>} para
-introducir la música del primer compás en tres voces:
-
-@lilypond[quote,verbatim,fragment,ragged-right]
-\new Staff \relative c'' {
- \key aes \major
- <<
- { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 }
- >>
- <c ees aes c>1
-}
-@end lilypond
-
-@cindex plica abajo
-@cindex voces y dirección de las plicas
-@cindex plicas, voces y dirección de las
-@cindex plica arriba
-
-Las direcciones de las plicas se asignan automáticamente de forma que
-las voces de numeración impar reciben las plicas hacia arriba y las de
-numeración par hacia abajo. Las plicas de las voces 1 y 2 están
-correctas, pero las plicas de la voz 3 debería ir hacia abajo en este
-fragmento en particular. Podemos corregir esto simplemente
-olvidándonos de la voz tres y situando la música en la voz cuatro:
-
-@lilypond[quote,verbatim,fragment,ragged-right]
-\new Staff \relative c'' {
- \key aes \major
- << % Voice one
- { c2 aes4. bes8 }
- \\ % Voice two
- { aes2 f4 fes }
- \\ % Omit Voice three
- \\ % Voice four
- { <ees c>2 des2 }
- >> |
- <c ees aes c>1 |
-}
-@end lilypond
-
-@noindent
-Vemos que esto arregla la dirección de la plica, pero presenta un
-problema que se encuentra a veces con varias voces: las plicas de las
-notas en una voz pueden colisionar con las cabezas de otras voces. Al
-disponer las notas, LilyPond permite que las notas o acordes de dos
-voces ocupen la misma columna vertical de notas teniendo en cuenta que
-las plicas están en direcciones opuestas, pero las notas de la tercera
-y cuarta voces se desplazan si es necesario para evitar la colisión
-entre las cabezas. Esto funciona bien por lo general, pero en este
-ejemplo claramente las notas de la voz inferior no están bien
-colocadas de forma predeterminada. LilyPond proporciona diversas
-maneras de ajustar la colocación horizontal de las notas. Aún no
-estamos preparados para ver cómo corregir esto, así que dejaremos este
-problema aparcado hasta una sección posterior (véase la propiedad
-@code{force-hshift} en @ref{Fixing overlapping notation}).
-
-
-@seealso
-Referencia de la notación:
-@ruser{Multiple voices}.
-
-
-@node Explicitly instantiating voices
-@subsection Explicitly instantiating voices
-
-
-@funindex \voiceOne
-@funindex voiceOne
-@funindex \voiceTwo
-@funindex voiceTwo
-@funindex \voiceThree
-@funindex voiceThree
-@funindex \voiceFour
-@funindex voiceFour
-@funindex \oneVoice
-@funindex oneVoice
-@funindex \new Voice
-@cindex contextos de voz, creación de
-
-Los contextos de voz también se pueden crear manualmente dentro de un
-bloque @code{<< >>} para crear música polifónica, utilizando
-@code{\voiceOne} ... @code{\voiceFour} para indicar las direcciones
-requeridas de plicas, ligaduras, etc. En partituras más largas, este
-método es más claro porque permite que las voces estén separadas y
-reciban nombres más descriptivos.
-
-Concretamente, la construcción @code{<< \\ >>} que usamos en la
-sección previa:
-
-@example
-\new Staff @{
- \relative c' @{
- << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
- @}
-@}
-@end example
-
-@noindent
-equivale a
-
-@example
-\new Staff <<
- \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
- \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
->>
-@end example
-
-Los dos ejemplos anteriores producen:
-
-@c The following example should not display the code
-@lilypond[ragged-right,quote]
-\new Staff <<
- \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
- \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
->>
-@end lilypond
-
-@cindex voces, retorno a única
-@cindex retorno a voz única
-
-Las instrucciones @code{\voiceXXX} establecen la dirección de las
-plicas, ligaduras de expresión, ligaduras de prolongación,
-articulaciones, anotaciones de texto, puntillos y digitaciones.
-@code{\voiceOne} y @code{\voiceThree} hacen que estos objetos apunten
-hacia arriba, mientras que @code{\voiceTwo} y @code{\voiceFour} los
-hacen apuntar hacia abajo. Estas instrucciones también producen un
-desplazamiento horizontal para cada voz cuando es necesario para
-evitar choques entre las cabezas. La instrucción @code{\oneVoice}
-devuelve los ajustes de nuevo a los valores normales para una sola
-voz.
-
-Veamos en algunos ejemplos sencillos exactamente qué efecto tienen
-@code{\oneVoice}, @code{\voiceOne} y @code{voiceTwo} sobre el marcado,
-las ligaduras de unión y de expresión y las indicaciones de dinámica:
-
-@lilypond[quote,ragged-right,verbatim]
-\relative c'{
- % Default behavior or behavior after \oneVoice
- c d8 ~ d e4 ( f g a ) b-> c
-}
-@end lilypond
-
-@lilypond[quote,ragged-right,verbatim]
-\relative c'{
- \voiceOne
- c d8 ~ d e4 ( f g a ) b-> c
- \oneVoice
- c, d8 ~ d e4 ( f g a ) b-> c
-}
-@end lilypond
-
-@lilypond[quote,ragged-right,verbatim]
-\relative c'{
- \voiceTwo
- c d8 ~ d e4 ( f g a ) b-> c
- \oneVoice
- c, d8 ~ d e4 ( f g a ) b-> c
-}
-@end lilypond
-
-A continuación veremos tres formas distintas de componer la notación
-del mismo pasaje polifónico, cada una de las cuales tiene sus ventajas
-según la circunstancia, utilizando el ejemplo de la sección anterior.
-
-Una expresión que aparece directamente dentro de @code{<< >>}
-pertenece a la voz principal (pero, observe, @strong{no} dentro de una
-construcción @code{<< \\ >>}). Esto es útil cuando aparecen voces
-nuevas mientras la voz principal está sonando. A continuación podemos
-ver una realización más correcta del ejemplo de la sección anterior.
-Las notas rojas en forma de rombo muestran que la melodía principal
-está ahora dentro de un contexto de una sola voz, haciendo que se
-pueda trazar una ligadura por encima de ellas.
-
-@lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' {
- \voiceOneStyle
- % The following notes are monophonic
- c16^( d e f
- % Start simultaneous section of three voices
- <<
- % Continue the main voice in parallel
- { g4 f e | d2 e2) }
- % Initiate second voice
- \new Voice {
- % Set stems, etc, down
- \voiceTwo
- r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
- }
- % Initiate third voice
- \new Voice {
- % Set stems, etc, up
- \voiceThree
- s2. | s4 b4 c2
- }
- >>
-}
-@end lilypond
-
-@cindex anidado de expresiones musicales
-@cindex anidado de construcciones simultáneas
-@cindex anidado de voces
-@cindex voces temporales
-@cindex voces, anidado de
-
-Son posibles construcciones polifónicas anidadas más profundamente, y
-si una voz aparece sólo brevemente podría haber una forma más natural
-de tipografiar la música.
-
-@lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' {
- c16^( d e f
- <<
- { g4 f e | d2 e2) }
- \new Voice {
- \voiceTwo
- r8 e4 d c8 ~ |
- <<
- {c8 b16 a b8 g ~ g2}
- \new Voice {
- \voiceThree
- s4 b4 c2
- }
- >>
- }
- >>
-}
-@end lilypond
-
-@cindex espaciadoras, notas
-
-Este método de anidar voces nuevas brevemente es útil cuando sólo hay
-secciones polifónicas pequeñas, pero cuando todo el pentagrama es muy
-polifónico podría ser más claro usar varias voces todo el tiempo,
-usando notas espaciadoras para pasar por encima de las secciones en
-que una voz está en silencio, como aquí:
-
-@lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' <<
- % Initiate first voice
- \new Voice {
- \voiceOne
- c16^( d e f g4 f e | d2 e2) |
- }
- % Initiate second voice
- \new Voice {
- % Set stems, etc, down
- \voiceTwo
- s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 |
- }
- % Initiate third voice
- \new Voice {
- % Set stems, etc, up
- \voiceThree
- s1 | s4 b4 c2 |
- }
->>
-@end lilypond
-
-@subsubheading Note columns
-
-@cindex columna de notas
-@cindex colisiones de notas
-@cindex notas, colisiones de
-@cindex desplazamiento, instrucciones de
-@funindex \shiftOff
-@funindex shiftOff
-@funindex \shiftOn
-@funindex shiftOn
-@funindex \shiftOnn
-@funindex shiftOnn
-@funindex \shiftOnnn
-@funindex shiftOnnn
-
-Las notas cercanas de un acorde, o las notas que se producen al mismo
-tiempo en distintas voces, se disponen en dos (y ocasionalmente más)
-columnas para evitar el solapamiento de las cabezas. Reciben el
-nombre de columnas de notas. Hay columnas distintas para cada voz, y
-el desplazamiento especificado en curso dependiente de la voz se
-aplica a la columna de la nota si en caso contrario se produjese una
-colisión. Esto se puede ver en el ejemplo anterior. En el compás 2 el
-Do en la voz dos está desplazado a la derecha respecto del Re de la
-voz uno, y en el último acorde el Do de la voz tres también está
-desplazado a la derecha respecto de las otras notas.
-
-Las instrucciones @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}
-y @code{\shiftOff} especifican el grado en que se deben desplazar las
-notas y acordes de la voz si en caso contrario ocurriese una
-colisión. De forma predeterminada, las voces exteriores (normalmente
-las voces uno y dos) llevan especificado @code{\shiftOff}, mientras
-que las voces interiores (tres y cuatro) tienen @code{\shiftOn}
-especificado. Cuando se aplica un desplazamiento, las voces uno y
-tres se desplazan hacia la derecha y las voces dos y cuatro se
-desplazan hacia la izquierda.
-
-@code{\shiftOnn} y @code{\shiftOnnn} definen niveles adicionales de
-desplazamiento que se pueden especificar temporalmente para resolver
-colisiones en situaciones complejas (véase @ref{Real music example}).
-
-Una columna de notas puede contener sólo una nota (o acorde) de una
-voz con las plicas hacia arriba y una not (o acorde) de una voz con
-las plicas hacia abajo. Si las notas de dos voces que tienen las
-plicas en la misma dirección se sitúan en la misma posición y las dos
-voces no tienen ningún desplazamiento o llevan especificado el mismo
-desplazamiento, se producirá el mensaje de error @qq{Chocan demasiadas
-columnas de notas}.
-
-
-@seealso
-Referencia de la notación:
-@ruser{Multiple voices}.
-
-
-@node Voices and vocals
-@subsection Voices and vocals
-
-
-La música vocal presenta una dificultad especial: tenemos que combinar
-dos expresiones, a saber, las notas y la letra.
-
-@funindex \new Lyrics
-@funindex \lyricsto
-@funindex lyricsto
-@funindex Lyrics
-@cindex Lyrics, creación de un contexto
-@cindex letra, creación de un contexto de
-@cindex letra, enlazar con una voz
-
-Ya ha visto la instrucción @code{\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 @code{Lyrics} utilizando @code{\new Lyrics} y enlazar
-explícitamente la letra y las notas mediante @code{\lyricsto@{@}},
-usando el nombre asignado a la voz.
-
-@lilypond[quote,verbatim,fragment]
-<<
- \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.
- }
->>
-@end lilypond
-
-Observe que la letra se debe enlazar a un contexto de @code{Voice},
-@emph{no} a un contexto de @code{Staff}. Este es un caso en que es
-necesario crear contextos de @code{Staff} y de @code{Voice}
-explícitamente.
-
-@cindex letra y barrado
-@cindex barrado y letra
-@funindex \autoBeamOff
-@funindex autoBeamOff
-
-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 @code{\autoBeamOff}
-para desactivar el barrado automático.
-
-@funindex \new ChoirStaff
-@funindex ChoirStaff
-@funindex \lyricmode
-@funindex lyricmode
-@cindex vocal, estructura de una partitura
-@cindex coro, sistema de
-
-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 puedan
-separar de la estructura de pentagramas. También introduciremos una
-llave de grupo de ChoirStaff. La letra en sí se debe introducir con
-@code{\lyricmode} para estar seguros de que se interpreta como letra y
-no como música.
-
-@lilypond[quote,verbatim]
-global = { \time 6/8 \partial 8 \key f \major}
-SopOneMusic = \relative c'' {
- c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 }
-SopTwoMusic = \relative c' {
- r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' }
-SopOneLyrics = \lyricmode {
- Let | flee -- cy flocks the | hills a -- dorn, __ }
-SopTwoLyrics = \lyricmode {
- Let | flee -- cy flocks the | hills a -- dorn, }
-
-\score {
- \new ChoirStaff <<
- \new Staff <<
- \new Voice = "SopOne" {
- \global
- \SopOneMusic
- }
- \new Lyrics \lyricsto "SopOne" {
- \SopOneLyrics
- }
- >>
- \new Staff <<
- \new Voice = "SopTwo" {
- \global
- \SopTwoMusic
- }
- \new Lyrics \lyricsto "SopTwo" {
- \SopTwoLyrics
- }
- >>
- >>
-}
-@end lilypond
-
-É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.
-
-@cindex himno, estructura de
-@cindex SATB, estructura de
-@cindex vocal, partitura, varias estrofas
-@cindex varias estrofas vocales
-@cindex estrofas, varias, vocales
-
-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 @q{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 @q{global}.
-
-
-
-@lilypond[quote,verbatim]
-TimeKey = { \time 4/4 \partial 4 \key c \major}
-SopMusic = \relative c' { c4 | e4. e8 g4 g | a a g }
-AltoMusic = \relative c' { c4 | c4. c8 e4 e | f f e }
-TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
-BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
-VerseOne = \lyricmode {
- E -- | ter -- nal fa -- ther, | strong to save, }
-VerseTwo = \lyricmode {
- O | Christ, whose voice the | wa -- ters heard, }
-VerseThree = \lyricmode {
- O | Ho -- ly Spi -- rit, | who didst brood }
-VerseFour = \lyricmode {
- O | Tri -- ni -- ty of | love and pow'r }
-
-\score {
- \new ChoirStaff <<
- \new Staff <<
- \clef "treble"
- \new Voice = "Sop" { \voiceOne \TimeKey \SopMusic }
- \new Voice = "Alto" { \voiceTwo \AltoMusic }
- \new Lyrics \lyricsto "Sop" { \VerseOne }
- \new Lyrics \lyricsto "Sop" { \VerseTwo }
- \new Lyrics \lyricsto "Sop" { \VerseThree }
- \new Lyrics \lyricsto "Sop" { \VerseFour }
- >>
- \new Staff <<
- \clef "bass"
- \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic }
- \new Voice = "Bass" { \voiceTwo \BassMusic }
- >>
- >>
-}
-@end lilypond
-
-@cindex estrofa y estribillo
-
-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
-@code{ChoirStaff}, pues queremos que aparezca un corchete al comienzo
-de la parte de coro. Normalmente necesitaríamos dobles ángulos
-después de @code{\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 @code{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 @code{\new Voice} y el @code{\new Lyrics} para que den
-comienzo al mismo tiempo:
-
-@lilypond[quote,verbatim,ragged-right]
-versenotes = \relative c'' {
- \clef "treble"
- \key g \major
- \time 3/4 g g g b b b
-}
-versewords = \lyricmode {
- One two three four five six
-}
-\score {
- \new ChoirStaff {
- \new Staff <<
- \new Voice = "verse" {
- \versenotes \break
- }
- \new Lyrics \lyricsto verse {
- \versewords
- }
- >>
- }
-}
-@end lilypond
-
-Con esto tenemos la línea de la estrofa.
-
-Ahora deseamos continuar con estribilloA (la primera parte del
-estribillo) sobre el mismo pentagrama, mientras un segundo pentagrama
-aparece en paralelo con él para estribilloB (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 @code{\break} en la
-voz de la estrofa. ¡Sí, @emph{dentro} de la voz de la estrofa! He
-aquí dicha sección paralela. Se podrían introducir más pentagramas de
-la misma forma.
-
-@example
-<<
- \notas_estribilloA
- \new Lyrics \lyricsto estrofa @{
- \letra_estribilloA
- @}
- \new Staff <<
- \new Voice = "estribilloB" @{
- \notas_estribilloB
- @}
- \new Lyrics \lyricsto "estribilloB" @{
- \letra_estribilloB
- @}
- >>
->>
-@end example
-
-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:
-
-@lilypond[quote,verbatim, ragged-right]
-versenotes = \relative c'' {
- \clef "treble"
- \key g \major
- \time 3/4 g g g b b b
-}
-refrainnotesA = \relative c'' {
- \time 2/4
- c c g g \bar "|."
-}
-refrainnotesB = \relative c {
- \clef "bass"
- \key g \major
- c e d d
-}
-versewords = \lyricmode {
- One two three four five six
-}
-refrainwordsA = \lyricmode {
- la la la la
-}
-refrainwordsB = \lyricmode {
- dum dum dum dum
-}
-\score {
- \new ChoirStaff {
- \new Staff <<
- \new Voice = "verse" {
- \versenotes \break
- <<
- \refrainnotesA
- \new Lyrics \lyricsto "verse" {
- \refrainwordsA
- }
- \new Staff <<
- \new Voice = "refrainB" {
- \refrainnotesB
- }
- \new Lyrics \lyricsto "refrainB" {
- \refrainwordsB
- }
- >>
- >>
- }
- \new Lyrics \lyricsto "verse" {
- \versewords
- }
- >>
- }
-}
-@end lilypond
-
-@cindex libro
-@cindex book, ejemplo de su uso
-@funindex \book
-@funindex book
-
-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 @code{\score} dentro de un bloque
-@code{\book} implícito, como sigue:
-
-@lilypond[quote,verbatim,ragged-right]
-versenotes = \relative c'' {
- \clef "treble"
- \key g \major
- \time 3/4 g g g b b b
-}
-refrainnotesA = \relative c'' {
- \time 2/4
- c c g g \bar "|."
-}
-refrainnotesB = \relative c {
- \clef "bass"
- \key g \major
- c e d d
-}
-versewords = \lyricmode {
- One two three four five six
-}
-refrainwordsA = \lyricmode {
- la la la la
-}
-refrainwordsB = \lyricmode {
- dum dum dum dum
-}
-\score {
- \new Staff <<
- \new Voice = "verse" {
- \versenotes
- }
- \new Lyrics \lyricsto "verse" {
- \versewords
- }
- >>
-}
-
-\score {
- \new ChoirStaff <<
- \new Staff <<
- \new Voice = "refrainA" {
- \refrainnotesA
- }
- \new Lyrics \lyricsto "refrainA" {
- \refrainwordsA
- }
- >>
- \new Staff <<
- \new Voice = "refrainB" {
- \refrainnotesB
- }
- \new Lyrics \lyricsto "refrainB" {
- \refrainwordsB
- }
- >>
- >>
-}
-@end lilypond
-
-
-@seealso
-Referencia de la notación:
-@ruser{Vocal music}.
-
-
-@node Contexts and engravers
-@section Contexts and engravers
-
-Los contextos y grabadores se han mencionado de manera informal en
-secciones anteriores; ahora tan sólo vamos a ver estos conceptos con
-más detalle, pues son importantes en el ajuste fino de la salida de
-LilyPond.
-
-@menu
-* Contexts explained::
-* Creating contexts::
-* Engravers explained::
-* Modifying context properties::
-* Adding and removing engravers::
-@end menu
-
-@node Contexts explained
-@subsection Contexts explained
-
-@cindex contextos, explicación de los
-
-Cuando se imprime la música, se tienen que añadir a la salida una gran
-cantidad de elementos notacionales que no aparecen explícitamente en
-el archivo de entrada. Por ejemplo, compare la entrada y la salida
-del siguiente ejemplo:
-
-@lilypond[quote,verbatim,relative=2,fragment]
-cis4 cis2. g4
-@end lilypond
-
-La entrada es bastante escueta, pero en la salida se añaden líneas
-divisorias, alteraciones accidentales, la clave y la indicación de
-compás. LilyPond @emph{interpreta} la entrada. En esta fase se
-inspecciona la información musical en orden temporal, de forma
-parecida a la lectura de una partitura de izquierda a
-derecha. Mientras se lee la entrada, el programa recuerda dónde se
-encuentran los límites de los compases, y qué notas requieren
-alteraciones explícitas. Esta información se puede presentar sobre
-varios niveles. Por ejemplo, el efecto de una alteración accidental
-se encuentra limitada a un solo pentagrama, mientras que una barra
-divisoria debe estar sincronizada a través de la partitura de arriba a
-abajo.
-
-Dentro de LilyPond, estas reglas y pequeñas porciones de información
-se agrupan en @emph{Contexts}. Algunos ejemplos de contextos son
-@code{Voice} (Voz), @code{Staff} (Pauta o pentagrama) y @code{Score}
-(Partitura). Los contextos son jerárquicos, de forma que reflejan la
-naturaleza jerárquica de una partitura musical. Por ejemplo: un
-contexto de @code{Staff} contener muchos contextos de @code{Voice}, y
-un contexto de @code{Score} puede contener muchos contextos de
-@code{Staff}.
-
-@quotation
-@sourceimage{context-example,5cm,,}
-@end quotation
-
-Cada contexto asume la responsabilidad de imponer algunas reglas de
-notación, creando ciertos objetos de notación y manteniendo las
-propiedades asociadas. Por ejemplo, el contexto @code{Voice} puede
-introducir una alteración accidental y entonces el contexto
-@code{Staff} mantiene la regla de mostrar o suprimir la alteración
-para el resto del compás.
-
-Otro ejemplo lo constituye el hecho de que la sincronización de las
-líneas divisorias se gestiona dentro del contexto de la partitura,
-@code{Score}, de forma predeterminada. Sin embargo, en algunas
-músicas posiblemente no queramos que las líneas divisorias estén
-sincronizadas (pensemos en una partitura polimétrica en compases de
-4/4 y de 3/4). En tales casos, debemos modificar los ajustes por
-omisión de los contextos @code{Score} y @code{Staff}.
-
-Para partituras muy sencillas, los contextos se crean implícitamente y
-no debemos preocuparnos por ellos. Para piezas mayores, como por
-ejemplo cualquiera que tenga más de un pentagrama, los contextos se
-deben crear explícitamente para asegurarnos de que tendremos la
-cantidad exacta de pentagramas que necesitamos, y que están en el
-orden correcto. Para tipografiar piezas con notación especializada,
-es frecuente la modificación de contextos existentes o incluso definir
-unos completamente nuevos.
-
-
-Además de los contextos @code{Score,} @code{Staff} y @code{Voice}, hay
-contextos que se sitúan entre los niveles de partitura y de pentagrama
-para controlar los grupos de pentagraamas, como los contextos
-@code{PianoStaff} y @code{ChoirStaff}. También existen contextos
-alternativos de pentagrama y de voz, y contextos para la letra, la
-percusión, diagramas de trastes, bajo cifrado, etc.
-
-Los nombres de todos los tipos de contextos se componen de una o más
-palabras que comienzan con mayúscula y que están unidas unas a otras
-sin guión ni barra baja, por ejemplo:
-@code{GregorianTranscriptionStaff}.
-
-
-@seealso
-Referencia de la notación:
-@ruser{Contexts explained}.
-
-
-@node Creating contexts
-@subsection Creating contexts
-
-@funindex \new
-@funindex new
-@cindex nuevos contextos
-@cindex creación de contextos
-@cindex contextos, creación de
-
-Sólo puede haber un contexto en el nivel más alto: el contexto de
-partitura @code{Score}. Se crea con la instrucción @code{\score} o,
-en partituras sencillas, se crea automáticamente.
-
-Para partituras que solamente tienen una voz y un pentagrama, podemos
-dejar que los contextos @code{Voice} y @code{Staff} se creen
-automáticamente, pero para partituras más complejas es necesario
-crearlos a mano. La instrucción más simple que hace esto es
-@code{\new}. Se antepone a una expresión musical, por ejemplo
-
-@example
-\new @var{tipo} @var{expresión_musical}
-@end example
-
-@noindent
-donde @var{tipo} es el nombre de un contexto (como @code{Staff} o
-@code{Voice}). Esta instrucción crea un contexto nuevo, y comienza a
-interpretar la @var{expresión_musical} que está dentro de ese
-contexto.
-
-Observe que no hay ninguna instrucción @code{\new Score}; el contexto
-@code{Score} único en el nivel más alto se introduce con
-@code{\score}.
-
-
-En las secciones anteriore ha podido ver muchos ejemplos prácticos que
-creaban nuevos contextos de @code{Staff} y de @code{Voice}, pero para
-recordarle cómo se emplean estas instrucciones en la práctica, he aquí
-un ejemplo anotado de música real:
-
-@lilypond[quote,verbatim,ragged-right]
-\score { % start of single compound music expression
- << % start of simultaneous staves section
- \time 2/4
- \new Staff { % create RH staff
- \key g \minor
- \clef "treble"
- \new Voice { % create voice for RH notes
- \relative c'' { % start of RH notes
- d4 ees16 c8. |
- d4 ees16 c8. |
- } % end of RH notes
- } % end of RH voice
- } % end of RH staff
- \new Staff << % create LH staff; needs two simultaneous voices
- \key g \minor
- \clef "bass"
- \new Voice { % create LH voice one
- \voiceOne
- \relative g { % start of LH voice one notes
- g8 <bes d> ees, <g c> |
- g8 <bes d> ees, <g c> |
- } % end of LH voice one notes
- } % end of LH voice one
- \new Voice { % create LH voice two
- \voiceTwo
- \relative g { % start of LH voice two notes
- g4 ees |
- g4 ees |
- } % end of LH voice two notes
- } % end of LH voice two
- >> % end of LH staff
- >> % end of simultaneous staves section
-} % end of single compound music expression
-@end lilypond
-
-(Observe cómo todas las instrucciones que abren un bloque con una
-llave curva, @code{@{}, o con ángulos dobles, @code{<<}, están
-sangrados (tienen un margen adicional) con dos espacios adicionales, y
-la llave de cierre correspondiente tiene un margen exactamente igual.
-Aunque no es necesario, la observancia de esta práctica reducirá
-considerablemente el número de errores de @q{paréntesis
-descompensados}, y se recomienda vivamente. Permite apreciar de un
-solo vistazo la estructura de la música, y cualquier paréntesis
-descompensado aprecerá con obviedad. Observe también cómo el
-pentagrama de la MI se crea usando dobles ángulos porque requiere dos
-voces, mientras que el pentagrama de la MD se crea con una expresión
-musical única encerrada entre llaves porque sólo requiere una voz.)
-
-
-@cindex contextos, nombrado
-@cindex nombrar contextos
-
-La instrucción @code{\new} también puede otorgar un nombre
-identificativo al contexto para distinguirlo de otros contextos del
-mismo tipo:
-
-@example
-\new @var{tipo} = @var{identificador} @var{expresión_musical}
-@end example
-
-Observe la distinción entre el nombre del tipo de contexto,
-@code{Staff}, @code{Voice}, etc., y el nombre identificativo de una
-instancia en particular de ese tipo, que puede ser cualquier secuencia
-de letras inventada por el usuario. En el nombre identificativo
-también se pueden utilizar dígitos y espacios, pero en este caso aquél
-debe ir entre comillas p.ej. @code{\new Staff = "MiPentagrama 1"
-@var{expresión_musical}}. El nombre identificativo se utiliza para
-referirnos más tarde a esa instancia en particular de un contexto.
-Hemos visto esto en la sección acerca de la letra, en @ref{Voices and
-vocals}.
-
-
-@seealso
-Referencia de la notación:
-@ruser{Creating contexts}.
-
-
-@node Engravers explained
-@subsection Engravers explained
-
-@cindex grabadores
-
-Todas y cada una de las marcas de la salida impresa de una partitura
-hecha con LilyPond está producida por un @code{Engraver} (grabador).
-Así, tenemos un grabador para imprimir pentagramas, otro para imprimir
-las cabezas de las notas, otro para las plicas, otro para las barras,
-etc, etc. ¡En total hay más de 120 grabadores! Afortunadamente, para
-la mayor parte de las partituras no es necesario conocer más que
-algunos, y para partituras sencillas no tenemos que saber nada de
-ninguno de ellos.
-
-Los grabadores residen y operan dentro de Contextos. Los grabadores
-como el grabador de la indicación metronómica,
-@code{Metronome_mark_engraver}, cuya acción y resultado se aplican a
-la partitura como un todo, operan en el contexto del nivel más alto:
-el contexto de partitura @code{Score}.
-
-El grabador de la clave @code{Clef_engraver} y el de la armadura
-@code{Key_engraver} se encuentran probablemente en todos los contextos
-de pentagrama (@code{Staff}), pues los distintos pentagramas podrían
-requerir diferentes claves y armaduras.
-
-El grabador de las cabezas de nota @code{Note_heads_engraver} y el de
-las plicas @code{Stem_engraver} viven en cada uno de los contextos de
-voz @code{Voice}, el contexto de nivel más bajo de todos.
-
-Cada grabador procesa los objetos particulares asociados con su
-función, y mantiene las propiedades que están relacionadas con dicha
-función. Estas propiedades, como las que están asociadas con los
-contextos, se pueden modificar para cambiar el funcionamiento del
-grabador o el aspecto de esos elementos en la partitura impresa.
-
-Todos los grabadores tienen nombres compuestos de varias palabras que
-describen su función. Sólo está en mayúsculas la inicial de la
-primera palabra, y el resto se le une mediante guiones bajos. Así, el
-grabador @code{Staff_symbol_engraver} es responsable de la creación de
-las líneas del pentagrama, y el @code{Clef_engraver} determina y
-establece la altura o el punto de referencia sobre el pentagrama
-dibujando un símbolo de clave.
-
-A continuación presentamos algunos de los grabadores más comunes,
-junto a su función. Podrá comprobar que es fácil adivinar la función
-a partir del nombre (en inglés), y viceversa.
-
-@multitable @columnfractions .3 .7
-@headitem Grabador
- @tab Función
-@item Accidental_engraver
- @tab Hace las alteraciones accidentales, de precaución y de sugerencia.
-@item Beam_engraver
- @tab Graba las barras
-@item Clef_engraver
- @tab Graba las claves
-@item Completion_heads_engraver
- @tab Splits notes which cross bar lines
-@c The old Dynamic_engraver is deprecated. -jm
-@item New_dynamic_engraver
- @tab Crea reguladores e indicaciones dinámicas textuales
-@item Forbid_line_break_engraver
- @tab Prevents line breaks if a musical element is still active
-@item Key_engraver
- @tab Crea la armadura de la tonalidad
-@item Metronome_mark_engraver
- @tab Graba la indicación metronómica
-@item Note_heads_engraver
- @tab Graba la cabeza de las notas
-@item Rest_engraver
- @tab Graba los silencios
-@item Staff_symbol_engraver
- @tab Graba las cinco líneas (de forma predeterminada) del pentagrama
-@item Stem_engraver
- @tab Crea las plicas y los trémolos de una sola plica
-@item Time_signature_engraver
- @tab Crea las indicaciones de compás
-@end multitable
-
-@smallspace
-
-Más adelante veremos cómo la salida de LilyPond se puede cambiar
-mediante la modificación del funcionamiento de los Grabadores.
-
-
-@seealso
-Referencia de funcionamiento interno:
-@rinternals{Engravers and Performers}.
-
-
-@node Modifying context properties
-@subsection Modifying context properties
-
-@cindex contexto, propiedades de
-@cindex contexto, propiedades de, modificación
-@cindex modificar las propiedades de contexto
-@funindex \set
-@funindex set
-@funindex \unset
-@funindex unset
-
-Los contextos se responsabilizan de mantener los valores de un cierto
-número de @emph{properties} de contexto. Muchas de ellas se pueden
-cambiar para influir en la interpretación del código de entrada y
-cambiar así la apariencia de la salida impresa. Se modifican mediante
-la instrucción @code{\set}. Esta instrucción toma la forma siguiente:
-
-@example
-\set @emph{NombreDelContexto}.@emph{nombreDeLaPropiedad} = #@emph{valor}
-@end example
-
-Donde el @emph{NombreDelContexto} es normalmente @code{Score},
-@code{Staff} o @code{Voice}. Se puede omitir, en cuyo caso se supone
-que es @code{Voice}.
-
-Los nombres de las propiedades de contexto consisten en palabras
-unidas sin ningún guión o barra baja, y donde todas las palabras
-excepto la primera empiezan en mayúscula. A continuación podemos ver
-algunos ejemplos de nombres de propiedades utilizadas con frecuencia.
-Hay muchas más que las que se muestran aquí.
-
-@c attempt to force this onto a new page
-@need 50
-@multitable @columnfractions .25 .15 .45 .15
-@headitem nombreDeLaPropiedad
- @tab Tipo
- @tab Función
- @tab Valor de ejemplo
-@item extraNatural
- @tab Booleano
- @tab Si es verdadero, poner becuadros adicionales antes de las alteraciones
- @tab @code{#t}, @code{#f}
-@item currentBarNumber
- @tab Entero
- @tab Ajustar el número del compás actual
- @tab @code{50}
-@item doubleSlurs
- @tab Booleano
- @tab Si es verdadero, imprimir ligaduras de expresión por encima y por debajo de las notas
- @tab @code{#t}, @code{#f}
-@item instrumentName
- @tab Texto
- @tab Establecer el nombre del pentagrama, situado a la izquierda
- @tab @code{"Cello I"}
-@item fontSize
- @tab Real
- @tab Aumentar o disminuir el tamaño de la fuente tipográfica
- @tab @code{2.4}
-@item stanza
- @tab Texto
- @tab Establecer el texto que se imprime antes del comienzo de una estrofa
- @tab @code{"2"}
-@end multitable
-
-@noindent
-donde un valor Booleano es verdadero (@code{#t}, True) o falso
-(@code{#f}, False), un Entero es un número entero positivo, un número
-Real es un número decimal positivo o negativo, y el texto se encierra
-entre comillas dobles. Observe la aparición de signos de cuadradillo,
-(@code{#}), en dos lugares diferentes: como parte del valor Booleano
-antes de la @code{t} o la @code{f}, y antes del @emph{valor} dentro de
-la sentencia @code{\set}. Así pues, cuando se está escribiendo un
-valor Booleano, hay que escribir dos signos de cuadradillo, por
-ejemplo: @code{##t}.
-
-@cindex propiedades que funcionan en contextos
-@cindex establecer propiedades en contextos
-
-Antes de poder establecer cualquiera de estas propiedades, tenemos que
-saber en qué contexto operan. A veces es algo obvio, pero en
-ocasiones puede ser algo enrevesado. Si especificamos un contexto
-equivocado, no se produce ningún mensaje de error, pero el
-funcionamiento esperado no tendrá lugar. Por ejemplo, la propiedad
-@code{instrumentName} (nombre del instrumento) vive claramente dentro
-del contexto de @code{Staff}, puesto que es el pentagrama el que debe
-ser nombrado. En este ejemplo, el primer pentagrama resulta
-etiquetado, pero no el segundo, porque hemos omitido el nombre del
-contexto.
-
-@lilypond[quote,verbatim,ragged-right]
-<<
- \new Staff \relative c'' {
- \set Staff.instrumentName = #"Soprano"
- c4 c
- }
- \new Staff \relative c' {
- \set instrumentName = #"Alto" % Wrong!
- d4 d
- }
->>
-@end lilypond
-
-Recuerde que el nombre del contexto predeterminado es @code{Voice},
-así que la segunda instrucción @code{\set} establece la propiedad
-@code{instrumentName} del contexto @code{Voice} a @qq{Alto}, pero como
-LilyPond no busca esta propiedad en el contexto @code{Voice}, no se
-realiza ninguna acción. Esto no es un error, y no se registra ningún
-mensaje en el archivo Log de registro de errores.
-
-De forma parecida, si el nombre de la propiedad se escribe con alguna
-falta, no se produce ningún mensaje de error, y claramente la acción
-esperada no puede tener lugar. De hecho, se puede establecer
-cualquier @q{property} (ficticia) usando cualquier nombre que queramos
-en cualquier contexto que exista, mediante el uso de la instrucción
-@code{\set}. Pero si el nombre no es conocido para LilyPond, no
-producirá ninguna acción. Algunos editores de texto que apoyan a los
-archivos de entrada de LilyPond de manera especial, documentan los
-nombres de propiedades con viñetas cuando psamos sobre ellos con el
-puntero del ratón, como JEdit con la extensión LilyPondTool, o
-resaltan los nombres de propiedades desconocidas de manera diferente,
-como ConTEXT. Si no se utiliza un editor con tales posibilidades, se
-recomienda comprobar la corrección del nombre de la propiedad en el
-manual de Referencia de funcionamiento interno: véase
-@rinternals{Tunable context properties} o @rinternals{Contexts}.
-
-La propiedad @code{instrumentName} tendrá efecto solamente si se
-establece dentro del contexto @code{Staff}, pero algunas propiedades
-se pueden establecer en más de un contexto. Por ejemplo, la propiedad
-@code{extraNatural} está establecida por defecto al valor @code{##t}
-(verdadero) para todos los pentagramas. Si se establece a @code{##f}
-(falso) en un contexto de @code{Staff} determinado, se aplicará
-solamente a las alteraciones de ese pentagrama. Si se establece a
-falso en el contexto de la partitura, @code{Score}, se aplicará a
-todos los pentagramas.
-
-Así, esto desactivará los becuadros adicionales en un pentagrama:
-
-@lilypond[quote,verbatim,ragged-right]
-<<
- \new Staff \relative c'' {
- ais4 aes
- }
- \new Staff \relative c'' {
- \set Staff.extraNatural = ##f
- ais4 aes
- }
->>
-@end lilypond
-
-@noindent
-y esto los desactivará en todos los pentagramas:
-
-@lilypond[quote,verbatim,ragged-right]
-<<
- \new Staff \relative c'' {
- ais4 aes
- }
- \new Staff \relative c'' {
- \set Score.extraNatural = ##f
- ais4 aes
- }
->>
-@end lilypond
-
-Como un ejemplo más, si se establece @code{clefOctavation} dentro del
-contexto de @code{Score}, éste cambia inmediatamente el valor de la
-octavación en todos los pentagramas en curso y establece un nuevo
-valor predeterminado que se aplicará a todos los pentagramas.
-
-La instrucción opuesta, @code{\unset}, tiene el efecto de suprimir la
-propiedad del contexto, lo que ocasiona que la mayoría de las
-porpiedades vuelvan a su valor predeterminado. Normalmente no es
-necesario el uso de @code{\unset}, pues una nueva instrucción
-@code{\set} hará el ajuste deseado.
-
-Las instrucciones @code{\set} y @code{\unset} pueden aparecer en
-cualquier lugar del archivo de entrada y tendrán efecto a partir del
-tiempo en que se encuentran y hasta el final de la partitura o hasta
-que la propiedad se establezca de nuevo mediante @code{\set} o
-@code{\unset}. Probemos a modificar el tamaño de la fuente
-tipográfica, lo que afecta al tamaño de las cabezas de las notas
-(entre otras cosas) varias veces. El cambio se toma a partir del
-valor predeterminado, no el valor en curso.
-
-@lilypond[quote,verbatim,ragged-right,relative=1,fragment]
-c4
-% make note heads smaller
-\set fontSize = #-4
-d e
-% make note heads larger
-\set fontSize = #2.5
-f g
-% return to default size
-\unset fontSize
-a b
-@end lilypond
-
-Hemos podido ver cómo establecer los valores de diversos tipos de
-propiedad diferentes. Observe que los números enteros y reales van
-siempre precedidos de un símbolo de cuadradillo, @code{#}, mientras
-que un valor booleano verdadero o falso se especifica mediante
-@code{##t} y @code{##f}, con dos cuadradillos. Una propiedad de texto
-se debe encerrar entre comillas dobles, como antes, aunque veremos más
-adelante que el texto realmente se puede especificar de una forma
-mucho más general utilizando la potentísima instrucción @code{markup}.
-
-@subsubheading Setting context properties with @code{\with}
-
-@funindex \with
-@funindex with
-@cindex contexto, propiedades de, establecimiento con \with
-
-Las propiedades de contexto también se pueden establecer en el momento
-en que se crea el contexto. A veces esta forma de establecer el valor
-de una propiedad es mucho más clara, si ha de quedar fijo durante todo
-el tiempo que dure el contexto. Cuando se crea un contexto con una
-instrucción @code{\new} puede ir inmediatamente seguido de un bloque
-@code{\with @{ .. @}} en el que se establecen los valores de las
-propiedades. Por ejemplo, si queremos suprimir la impresión de
-becuadros adicionales para toda la duración de un pentagrama, podemos
-escribir:
-
-@example
-\new Staff \with @{ extraNatural = ##f @}
-@end example
-
-@noindent
-de la siguiente forma:
-
-@lilypond[quote,verbatim,ragged-right]
-<<
- \new Staff
- \relative c'' {
- gis ges aes ais
- }
- \new Staff \with { extraNatural = ##f }
- \relative c'' {
- gis ges aes ais
- }
->>
-@end lilypond
-
-Las propiedades ajustadas de esta manera aún pueden cambiarse
-dinámicamente utilizando @code{\set} y ser devueltas a sus valores
-predeterminados mediante @code{\unset}.
-
-@cindex fontSize (tamaño de la tipografía)
-@cindex fuente, tamaño de la
-@cindex tamaño de la fuente
-
-La propiedad @code{fontSize} se trata de forma distinta. Si se ajusta
-dentro de una cláusula @code{\with}, tiene el efecto de reiniciar el
-valor predeterminado del tamaño de la fuente tipográfica. Si más
-tarde se modifica con @code{\set}, este nuevo valor predeterminado
-puede restablecerse con la instrucción @code{\unset fontSize}.
-
-@subsubheading Setting context properties with @code{\context}
-
-@cindex contextos, establecer propiedades de, con \context
-@funindex \context
-@funindex context
-
-Los valores de propiedad de los contextos se pueden establecer para
-@emph{todos} los contextos de un tipo determinado, como por ejemplo
-todos los contextos de @code{Staff}, con una única instrucción. El
-tipo de contexto se identifica mediante la utilización del nombre de
-su tipo, como @code{Staff}, precedido de una barra invertida:
-@code{\Staff}. El enunciado que establece el valor de la propiedad es
-el mismo que el que está en un bloque @code{\with}, presentado
-anteriormente. Se coloca en un bloque @code{\context} dentro de un
-bloque @code{\layout}. Cada bloque @code{\context} afecta a todos los
-contextos del tipo especificado a lo largo del bloque @code{\score} o
-@code{\book} en el que aparece el bloque @code{\layout}. A
-continuación presentamos un ejemplo que muestra el formato:
-
-@lilypond[verbatim,quote]
-\score {
- \new Staff {
- \relative c'' {
- cis4 e d ces
- }
- }
- \layout {
- \context {
- \Staff
- extraNatural = ##t
- }
- }
-}
-@end lilypond
-
-@noindent
-Las propiedades de contexto establecidas de esta forma se pueden
-sobreescribir para ejemplares concretos de contextos mediante
-enunciados dentro de un bloque @code{\with}, y mediante instrucciones
-@code{\set} intercaladas dentro de enunciados musicales.
-
-
-@seealso
-Referencia de la notación:
-@ruser{Changing context default settings}.
-@c FIXME
-@c uncomment when backslash-node-name issue is resolved -pm
-@c @ruser{The set command}.
-
-Referencia de funcionamiento interno:
-@rinternals{Contexts},
-@rinternals{Tunable context properties}.
-
-
-@node Adding and removing engravers
-@subsection Adding and removing engravers
-
-@cindex grabadores, adición
-@cindex grabadores, eliminación
-@cindex adición de grabadores
-@cindex eliminación de grabadores
-
-@funindex \consists
-@funindex consists
-@funindex \remove
-@funindex remove
-
-Hemos visto que cada uno de los contextos contiene varios grabadores,
-cada uno de los cuales a su vez es responsable de la producción de una
-fracción particular del resultado impreso, como líneas divisorias,
-pentagramas, cabezas, plicas, etc. Si un grabador es eliminado de un
-contexto, ya no podrá producir su salida impresa. Es una forma algo
-radical de modificar la salida, pero a veces puede ser útil.
-
-@subsubheading Changing a single context
-
-Para eliminar un grabador de un contexto único, usamos la instrucción
-@code{\with} situada inmediatamente después de la instrucción que crea
-el contexto, como en la sección anterior.
-
-Como ilustración, repitamos un ejemplo extraído de la sección anterior
-con las líneas del pentagrama eliminadas. Recuerde que las líneas del
-pentagrama están dibujadas por el grabador
-@code{Staff_symbol_engraver}.
-
-@lilypond[quote,verbatim,ragged-right]
-\new Staff \with {
- \remove Staff_symbol_engraver
-}
-\relative c' {
- c4
- \set fontSize = #-4 % make note heads smaller
- d e
- \set fontSize = #2.5 % make note heads larger
- f g
- \unset fontSize % return to default size
- a b
-}
-@end lilypond
-
-@cindex ámbito, grabador del
-
-Los grabadores también se pueden añadir a los contextos individuales
-La instrucción que lo hace es
-
-@code{\consists @var{Nombre_del_grabador}},
-
-situada dentro de un bloque @code{\with}. Ciertas partituras vocales
-tienen una indicación de ámbito o tesitura situada al principio del
-pentagrama para indicar el ámbito de notas en dicho pentagrama, véase
-@rglos{ambitus}. El ambitus se produce por parte del grabador
-@code{Ambitus_engraver}, que normalmente no está incluido en ningún
-contexto. Si lo añadimos al contexto @code{Voice}, calcula el rango a
-partir de esa única voz:
-
-@lilypond[quote,verbatim,ragged-right]
-\new Staff <<
- \new Voice \with {
- \consists Ambitus_engraver
- }
- \relative c'' {
- \voiceOne
- c a b g
- }
- \new Voice
- \relative c' {
- \voiceTwo
- c e d f
- }
->>
-@end lilypond
-
-@noindent
-pero si añadimos el grabador de ámbito al contexto de @code{Staff},
-calcula el rango de todas las notas en todas las voces de ese
-pentagrama:
-
-@lilypond[quote,verbatim,ragged-right]
-\new Staff \with {
- \consists Ambitus_engraver
- }
- <<
- \new Voice
- \relative c'' {
- \voiceOne
- c a b g
- }
- \new Voice
- \relative c' {
- \voiceTwo
- c e d f
- }
->>
-@end lilypond
-
-@subsubheading Changing all contexts of the same type
-
-@funindex \layout
-@funindex layout
-
-Los ejemplos anteriores muestran la manera de eliminar o añadir
-grabadores a los contextos individuales. También es posible eliminar
-o añadir grabadores a todos los contextos de un tipo específico,
-situando las instrucciones en el contexto correspondiente dentro de un
-bloque @code{\layout}. Por ejemplo, si queremos mostrar los rangos de
-tesitura para todos los pentagramas de una partitura de cuatro pautas,
-podemos escribir
-
-@lilypond[quote,verbatim,ragged-right]
-\score {
- <<
- \new Staff <<
- \relative c'' { c a b g }
- >>
- \new Staff <<
- \relative c' { c a b g }
- >>
- \new Staff <<
- \clef "G_8"
- \relative c' { c a b g }
- >>
- \new Staff <<
- \clef "bass"
- \relative c { c a b g }
- >>
- >>
- \layout {
- \context {
- \Staff
- \consists Ambitus_engraver
- }
- }
-}
-@end lilypond
-
-@noindent
-Los valores predeterminados de las propiedades de los contextos
-también se pueden establecer para todos los contextos de un tipo en
-particular incluyendo la instrucción @code{\set} dentro de un bloque
-@code{\context} de la misma forma.
-
-
-@seealso
-Referencia de la notación:
-@ruser{Modifying context plug-ins},
-@ruser{Changing context default settings}.
-
-
-@node Extending the templates
-@section Extending the templates
-
-Ha leído el tutorial y ahora sabe escribir música. Pero ¿cómo puede
-poner los pentagramas que quiere? Las plantillas están muy bien, pero
-¿qué ocurre si quiere algo que no está en una de ellas? Bien, puede
-encontrar montañas de plantillas (véase @ref{Templates}) que le pueden
-servir como punto de partida. Pero ¿y si quiere algo que no está
-contemplado aquí? Continúe leyendo.
-
-
-@menu
-* Soprano and cello::
-* Four-part SATB vocal score::
-* Building a score from scratch::
-@end menu
-
-@node Soprano and cello
-@subsection Soprano and cello
-
-@cindex plantilla, modificar
-@cindex modificar plantillas
-
-Para empezar, tome la plantilla que le parezca más parecida a aquello
-que quiere conseguir. Digamos que quiere escribir algo para soprano y
-cello. En este caso comenzaríamos con la plantilla @q{Notas y letra}
-(para la parte de soprano).
-
-@example
-\version @w{"@version{}"}
-melodia = \relative c' @{
- \clef treble
- \key c \major
- \time 4/4
- a4 b c d
-@}
-
-texto = \lyricmode @{
- Aaa Bee Cee Dee
-@}
-
-\score @{
- <<
- \new Voice = "uno" @{
- \autoBeamOff
- \melodia
- @}
- \new Lyrics \lyricsto "uno" \texto
- >>
- \layout @{ @}
- \midi @{ @}
-@}
-@end example
-
-Ahora queremos añadir una parte de violoncello. Veamos el ejemplo
-@q{Sólo notas}:
-
-@example
-\version @w{"@version{}"}
-melodia = \relative c' @{
- \clef treble
- \key c \major
- \time 4/4
- a4 b c d
-@}
-
-\score @{
- \new Staff \melodia
- \layout @{ @}
- \midi @{ @}
-@}
-@end example
-
-No necesitamos dos instrucciones @code{\version}. Vamos a necesitar
-la sección @code{melodia}. No queremos dos secciones @code{\score}
-(si tuviésemos dos @code{\score}s, acabaríamos con las dos particellas
-por separado. Queremos las dos juntas, como un dúo. Dentro de la
-sección @code{\score}, no nos hacen falta dos @code{\layout} ni dos
-@code{\midi}.
-
-Si nos limitásemos a copiar y pegar la sección @code{melodia},
-acabaríamos con dos secciones @code{melodia} separadas, así que vamos
-a cambiarles el nombre. Llamaremos @code{musicaSoprano} a la sección
-de la soprano y @code{musicaCello} a la sección del violoncello. Al
-mismo tiempo cambiaremos el nombre de @code{texto} a
-@code{letraSoprano}. Recuerde cambiar el nombre a las dos apariciones
-de todos estos nombres -- tanto la definición inicial (la parte
-@code{melodia = relative c' @{ }) -- como el uso de ese nombre (en la
-sección @code{\score}).
-
-También aprovecharemos para cambiar el pentagrama de la parte del
-cello (los violoncellos se escriben normalmente en clave de Fa).
-Asimismo, cambiaremos algunas notas del cello.
-
-@example
-\version @w{"@version{}"}
-musicaSoprano = \relative c' @{
- \clef treble
- \key c \major
- \time 4/4
- a4 b c d
-@}
-
-letraSoprano = \lyricmode @{
- Aaa Bee Cee Dee
-@}
-
-musicaCello = \relative c @{
- \clef bass
- \key c \major
- \time 4/4
-
- d4 g fis8 e d4
-@}
-
-\score@{
- <<
- \new Voice = "uno" @{
- \autoBeamOff
- \sopranoMusic
- @}
- \new Lyrics \lyricsto "uno" \letraSoprano
- >>
- \layout @{ @}
- \midi @{ @}
-@}
-@end example
-
-Esto tiene una apariencia prometedora, pero la parte del cello no sale
-en la partitura (no la hemos puesto en la sección @code{\score}). Si
-queremos que la parte del cello aparezca debajo de la de soprano,
-tenemos que añadir
-
-@example
-\new Staff \musicaCello
-@end example
-
-@noindent
-justo debajo de todo lo de la soprano. También tenemos que poner
-@code{<<} y @code{>>} antes y después de la música -- lo que indica a
-LilyPond que hay más de una cosa (en este caso, @code{Staff})
-sucediendo al mismo tiempo --. La @code{\score} se parecerá ahora a
-esto:
-
-@c Indentation in this example is deliberately poor
-@example
-\score@{
- <<
- <<
- \new Voice = "uno" @{
- \autoBeamOff
- \sopranoMusic
- @}
- \new Lyrics \lyricsto "uno" \letraSoprano
- >>
- \new Staff \musicaCello
- >>
- \layout @{ @}
- \midi @{ @}
-@}
-@end example
-
-@noindent
-Esto parece un poco enrevesado; los márgenes están descuadrados. Esto
-tiene fácil solución. Presentamos aquí la plantilla completa para
-soprano y cello.
-
-@lilypond[quote,verbatim,ragged-right,addversion]
-sopranoMusic = \relative c' {
- \clef treble
- \key c \major
- \time 4/4
- a4 b c d
-}
-
-sopranoLyrics = \lyricmode {
- Aaa Bee Cee Dee
-}
-
-celloMusic = \relative c {
- \clef bass
- \key c \major
- \time 4/4
- d4 g fis8 e d4
-}
-
-\score {
- <<
- <<
- \new Voice = "one" {
- \autoBeamOff
- \sopranoMusic
- }
- \new Lyrics \lyricsto "one" \sopranoLyrics
- >>
- \new Staff \celloMusic
- >>
- \layout { }
- \midi { }
-}
-@end lilypond
-
-
-@seealso
-Las plantillas de inicio se pueden encontrar en el apéndice
-@q{Templates}, véase @ref{Single staff}.
-
-
-@node Four-part SATB vocal score
-@subsection Four-part SATB vocal score
-
-La mayor parte de las partituras vocales escritas para coro mixto a
-cuatro voces con acompañamiento orquestal, como el «Elías» de
-Mendelssohn o el «Mesías» de Haendel, tienen la música coral y la
-letra en cuatro pentagramas para S, A, T y B, respectivamente, con una
-reducción de piano del acompañamiento de orquesta, por debajo. He aquí
-un ejemplo del «Mesías» de Haendel:
-
-@c The following should appear as music without code
-@lilypond[quote,ragged-right]
-global = { \key d \major \time 4/4 }
-sopranoMusic = \relative c'' {
- \clef "treble"
- r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
-}
-sopranoWords = \lyricmode {
- Wor -- thy is the lamb that was slain
-}
-altoMusic = \relative a' {
- \clef "treble"
- r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
-}
-altoWords = \sopranoWords
-tenorMusic = \relative c' {
- \clef "G_8"
- r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
-}
-tenorWords = \sopranoWords
-bassMusic = \relative c' {
- \clef "bass"
- r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
-}
-bassWords = \sopranoWords
-upper = \relative a' {
- \clef "treble"
- \global
- r4 <a d fis>2 <a e' a>4 |
- <d fis d'>4. <d fis d'>8 <a d a'>2 |
- <g cis g'>4 <a d fis> <a cis e>2 |
-}
-lower = \relative c, {
- \clef "bass"
- \global
- <d d'>4 <d d'>2 <cis cis'>4 |
- <b b'>4. <b' b'>8 <fis fis'>2 |
- <e e'>4 <d d'> <a' a'>2 |
-}
-
-\score {
- << % combine ChoirStaff and PianoStaff in parallel
- \new ChoirStaff <<
- \new Staff = "sopranos" <<
- \set Staff.instrumentName = #"Soprano"
- \new Voice = "sopranos" { \global \sopranoMusic }
- >>
- \new Lyrics \lyricsto "sopranos" { \sopranoWords }
- \new Staff = "altos" <<
- \set Staff.instrumentName = #"Alto"
- \new Voice = "altos" { \global \altoMusic }
- >>
- \new Lyrics \lyricsto "altos" { \altoWords }
- \new Staff = "tenors" <<
- \set Staff.instrumentName = #"Tenor"
- \new Voice = "tenors" { \global \tenorMusic }
- >>
- \new Lyrics \lyricsto "tenors" { \tenorWords }
- \new Staff = "basses" <<
- \set Staff.instrumentName = #"Bass"
- \new Voice = "basses" { \global \bassMusic }
- >>
- \new Lyrics \lyricsto "basses" { \bassWords }
- >> % end ChoirStaff
-
- \new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano"
- \new Staff = "upper" \upper
- \new Staff = "lower" \lower
- >>
- >>
-}
-@end lilypond
-
-Ninguna de las plantillas proporciona esta disposición con exactitud.
-La más parecida es @q{partitura vocal SATB y reducción de piano
-automática} (véase @ref{Vocal ensembles}), pero necesitamos cambiar la
-disposición y añadir un acompañamiento de piano que no esté derviado
-automáticamente de las partes vocales. Las variables que contienen la
-música y la letra de las partes vocales es adecuada, pero tendremos
-que añadir variables para la reducción de piano.
-
-El orden en que aparecen los contextos en el ChoirStaff de la
-plantilla no se corresponde con el orden de la partitura vocal que
-hemos mostrado más arriba. Tenemos que reordenarlas para que haya
-cuatro pentagramas con la letra escrita directamente bajo las notas de
-cada parte. Todas las voces deben ser @code{\voiceOne}, que es la
-predeterminada, para que las instrucciones @code{\voiceXXX} se puedan
-eliminar. También tenemos que especificar la clave de tenor (clave de
-sol octava baja) en las partes de tenor. Aún no hemos encontrado la
-forma en que la letra se especifica en la plantilla, así que tenemos
-que utilizar el método que nos resulta familiar. También tenemos que
-escribir los nombres de cada pentagrama.
-
-Al hacerlo así obtenemos el ChoirStaff siguiente:
-
-@example
- \new ChoirStaff <<
- \new Staff = "sopranos" <<
- \set Staff.instrumentName = #"Soprano"
- \new Voice = "sopranos" @{ \global \musicaSoprano @}
- >>
- \new Lyrics \lyricsto "sopranos" @{ \latraSoprano @}
- \new Staff = "altos" <<
- \set Staff.instrumentName = #"Alto"
- \new Voice = "altos" @{ \global \musicaAlto @}
- >>
- \new Lyrics \lyricsto "altos" @{ \letraAlto @}
- \new Staff = "tenores" <<
- \set Staff.instrumentName = #"Tenor"
- \new Voice = "tenores" @{ \global \musicaTenor @}
- >>
- \new Lyrics \lyricsto "tenores" @{ \letraTenor @}
- \new Staff = "bajos" <<
- \set Staff.instrumentName = #"Bass"
- \new Voice = "bajos" @{ \global \musicaBajo @}
- >>
- \new Lyrics \lyricsto "bajos" @{ \letraBajo @}
- >> % fin del ChoirStaff
-@end example
-
-A continuación debemos trabajar sobre la parte de piano. Es fácil:
-tan sólo hay que sacar la parte de piano de la plantilla de @q{Piano
-solista}:
-
-@example
-\new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano"
- \new Staff = "superior" \superior
- \new Staff = "inferior" \inferior
->>
-@end example
-
-y escribir las definiciones de variable para @code{superior} e
-@code{inferior}.
-
-Los grupos ChoirStaff y PianoStaff se deben combinar utilizando
-ángulos dobles, ya queremos apilarlos unos sobre otros:
-
-@example
-<< % combinar los grupos ChoirStaff y PianoStaff uno sobre el otro
- \new ChoirStaff <<
- \new Staff = "sopranos" <<
- \new Voice = "sopranos" @{ \global \musicaSoprano @}
- >>
- \new Lyrics \lyricsto "sopranos" @{ \letraSoprano @}
- \new Staff = "altos" <<
- \new Voice = "altos" @{ \global \musicaAlto @}
- >>
- \new Lyrics \lyricsto "altos" @{ \letraAlto @}
- \new Staff = "tenores" <<
- \clef "G_8" % clave de tenor
- \new Voice = "tenores" @{ \global \musicaTenor @}
- >>
- \new Lyrics \lyricsto "tenores" @{ \letraTenor @}
- \new Staff = "bajos" <<
- \clef "bass"
- \new Voice = "bajos" @{ \global \musicaBajo @}
- >>
- \new Lyrics \lyricsto "bajos" @{ \letraBajo @}
- >> % fin del ChoirStaff
-
- \new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano"
- \new Staff = "upper" \upper
- \new Staff = "lower" \lower
- >>
->>
-@end example
-
-Al combinar todo esto junto y escribir la música de los tres compases
-del ejemplo anterior, obtenemos:
-
-@lilypond[quote,verbatim,ragged-right,addversion]
-global = { \key d \major \time 4/4 }
-sopranoMusic = \relative c'' {
- \clef "treble"
- r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
-}
-sopranoWords = \lyricmode {
- Wor -- thy is the lamb that was slain
-}
-altoMusic = \relative a' {
- \clef "treble"
- r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
-}
-altoWords = \sopranoWords
-tenorMusic = \relative c' {
- \clef "G_8"
- r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
-}
-tenorWords = \sopranoWords
-bassMusic = \relative c' {
- \clef "bass"
- r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
-}
-bassWords = \sopranoWords
-upper = \relative a' {
- \clef "treble"
- \global
- r4 <a d fis>2 <a e' a>4 |
- <d fis d'>4. <d fis d'>8 <a d a'>2 |
- <g cis g'>4 <a d fis> <a cis e>2 |
-}
-lower = \relative c, {
- \clef "bass"
- \global
- <d d'>4 <d d'>2 <cis cis'>4 |
- <b b'>4. <b' b'>8 <fis fis'>2 |
- <e e'>4 <d d'> <a' a'>2 |
-}
-
-\score {
- << % combine ChoirStaff and PianoStaff in parallel
- \new ChoirStaff <<
- \new Staff = "sopranos" <<
- \set Staff.instrumentName = #"Soprano"
- \new Voice = "sopranos" { \global \sopranoMusic }
- >>
- \new Lyrics \lyricsto "sopranos" { \sopranoWords }
- \new Staff = "altos" <<
- \set Staff.instrumentName = #"Alto"
- \new Voice = "altos" { \global \altoMusic }
- >>
- \new Lyrics \lyricsto "altos" { \altoWords }
- \new Staff = "tenors" <<
- \set Staff.instrumentName = #"Tenor"
- \new Voice = "tenors" { \global \tenorMusic }
- >>
- \new Lyrics \lyricsto "tenors" { \tenorWords }
- \new Staff = "basses" <<
- \set Staff.instrumentName = #"Bass"
- \new Voice = "basses" { \global \bassMusic }
- >>
- \new Lyrics \lyricsto "basses" { \bassWords }
- >> % end ChoirStaff
-
- \new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano "
- \new Staff = "upper" \upper
- \new Staff = "lower" \lower
- >>
- >>
-}
-@end lilypond
-
-
-@node Building a score from scratch
-@subsection Building a score from scratch
-
-@cindex plantilla, escribir su propia
-@cindex ejemplo de escritura de una partitura
-@cindex escribir una partitura, ejemplo
-@cindex partitura, ejemplo de escritura
-
-Después de adquirir algo de soltura en la escritura del código de
-LilyPond, se dará cuenta de que es más fácil construir completamente
-una partitura partiendo de cero, que modificar una plantilla. También
-puede desarrollar su propio estilo de forma que se adapte al tipo de
-música que le apetezca. Veamos a continuación cómo confeccionar una
-partitura para un preludio de órgano, como ejemplo.
-
-Comenzamos con una sección para el encabezamiento. Aquí es donde van
-el título, nombre del compositor, etc., después van las definiciones
-de las variables, y finalmente el bloque de partitura. Comencemos a
-verlas por encima y más tarde completaremos los detalles.
-
-Utilizaremos los dos primeros compases del preludio de Bach basado en
-@emph{Jesu, meine Freude}, que está escrito para órgano con dos
-manuales y pedal. Tiene estos dos compases de música al final de la
-sección. La parte del manual superior tiene dos voces, y el inferior
-y el pedal, una voz cada uno. Así pues, necesitamos cuatro
-definiciones para la música y una más para definir el compás y la
-tonalidad:
-
-@example
-\version @w{"@version{}"}
-\header @{
- title = "Jesu, meine Freude"
- composer = "J S Bach"
-@}
-TimeKey = @{ \time 4/4 \key c \minor @}
-MusicaManualUnoVozUno = @{s1@}
-MusicaManualUnoVozDos = @{s1@}
-MusicaManualDos = @{s1@}
-MusicaPedal = @{s1@}
-
-\score @{
-@}
-@end example
-
-Por el momento hemos escrito tan sólo una nota espaciadora, @code{s1},
-en lugar de la música de verdad. La añadiremos más adelante.
-
-A continuación veamos qué va en el bloque de partitura.
-Sencillamente, reflejaremos la estructura de pentagramas que deseemos.
-La música de órgano se escribe por lo general en tres pentagramas, uno
-para cada uno de los manuales y otro para el pedal. Los pentagramas
-de los manuales se abarcan con una llave, así que los incluiremos en
-un grupo PianoStaff. La primera parte de manual tiene dos voces, y la
-segunda sólo una.
-
-@example
- \new PianoStaff <<
- \new Staff = "ManualUno" <<
- \new Voice @{ \MusicaManualUnoVozUno @}
- \new Voice @{ \MusicaManualUnoVozDos @}
- >> % fin del contexto de Staff ManualUno
- \new Staff = "ManualDos" <<
- \new Voice @{ \MusicaManualDos @}
- >> % fin del contexto de Staff ManualDos
- >> % fin del contexto de PianoStaff
-@end example
-
-Después, tenemos que añadir un pentagrama para el órgano de pedal.
-Esto va por debajo del PianoStaff, pero debe ser simultáneo con él,
-por lo que escribimos dobles ángulos rodeando a los dos. Si esto se
-nos olvida, se producirá un error en el archivo log de registro. ¡Es
-un error muy común que cometerá antes o después! Intente copiar el
-ejemplo final que aparece al final de la sección, borre los dobles
-ángulos y procese el archivo para ver qué error produce.
-
-@example
-<< % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
- \new PianoStaff <<
- \new Staff = "ManualUno" <<
- \new Voice @{ \MusicaManualUnoVozUno @}
- \new Voice @{ \MusicaManualUnoVozDos @}
- >> % fin del contexto de Staff ManualUno
- \new Staff = "ManualDos" <<
- \new Voice @{ \MusicaManualDos @}
- >> % fin del contexto de Staff ManualDos
- >> % fin del contexto de PianoStaff
- \new Staff = "OrganoPedal" <<
- \new Voice @{ \MusicaOrganoPedal @}
- >>
->>
-@end example
-
-No es necesario utilizar la construcción simultánea @code{<< >>} para
-el pentagrama del manual dos y el pentagrama del órgano de pedal, ya
-que contienen una única expresión, pero no hace daño, y es una buena
-costumbre utilizar siempre dobles ángulos después de @code{\new Staff}
-cuando hay varias voces. Lo opuesto es cierto para las voces:
-normalmente deben ir seguidas de llaves @code{@{ .. @}} en caso de que
-tengamos música codificada como distintas variables que se deben
-situar consecutivamente.
-
-Añadamos esta estructura al bloque de partitura, y ajustemos el
-sangrado de los márgenes. También escribimos las claves
-correspondientes, nos aseguramos de que las plicas y ligaduras de
-unión y de expresión en cada una de las voces del pentagrama superior
-apuntan en la dirección adecuada con @code{\voiceOne} y
-@code{\voiceTwo} y escribimos el compás y la tonalidad en cada uno de
-los pentagramas usando nuestra variable previamente definida
-@code{\TimeKey}.
-
-@example
-\score @{
- << % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
- \new PianoStaff <<
- \new Staff = "ManualUno" <<
- \TimeKey % establecer compás y tonalidad
- \clef "treble"
- \new Voice @{ \voiceOne \MusicaManualUnoVozUno @}
- \new Voice @{ \voiceTwo \MusicaManualUnoVozDos @}
- >> % fin del contexto de Staff ManualUno
- \new Staff = "ManualDos" <<
- \TimeKey
- \clef "bass"
- \new Voice @{ \MusicaManualDos @}
- >> % fin del contexto de Staff ManualDos
- >> % fin del contexto de PianoStaff
- \new Staff = "OrganoPedal" <<
- \TimeKey
- \clef "bass"
- \new Voice @{ \MusicaOrganoPedal @}
- >> % fin del pentagrama de OrganoPedal
- >>
-@} % end Score context
-@end example
-
-Con esto se completa la estructura. Toda música para órgano de tres
-pentagramas tendrá una estructura similar, aunque el número de voces
-puede variar. Todo lo que nos queda es añadir la música, y combinar
-todas las partes.
-
-@lilypond[quote,verbatim,ragged-right,addversion]
-\header {
- title = "Jesu, meine Freude"
- composer = "J S Bach"
-}
-TimeKey = { \time 4/4 \key c \minor }
-ManualOneVoiceOneMusic = \relative g' {
- g4 g f ees | d2 c2 |
-}
-ManualOneVoiceTwoMusic = \relative c' {
- ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
- c c4 b8 c8. g16 c b c d |
-}
-ManualTwoMusic = \relative c' {
- c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
- f ees f d g aes g f ees d e8~ ees16 f ees d |
-}
-PedalOrganMusic = \relative c {
- r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
- r16 g ees f g f g8 c,2 |
- }
-
-\score {
- << % PianoStaff and Pedal Staff must be simultaneous
- \new PianoStaff <<
- \new Staff = "ManualOne" <<
- \TimeKey % set time signature and key
- \clef "treble"
- \new Voice { \voiceOne \ManualOneVoiceOneMusic }
- \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
- >> % end ManualOne Staff context
- \new Staff = "ManualTwo" <<
- \TimeKey
- \clef "bass"
- \new Voice { \ManualTwoMusic }
- >> % end ManualTwo Staff context
- >> % end PianoStaff context
- \new Staff = "PedalOrgan" <<
- \TimeKey
- \clef "bass"
- \new Voice { \PedalOrganMusic }
- >> % end PedalOrgan Staff context
- >>
-} % end Score context
-@end lilypond