1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2 @c This file is part of lilypond-learning.tely
4 Translation of GIT committish: 54fcdc3c1f2550992fb811183122fc1c33ff714c
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. See TRANSLATION for details.
13 @node Fundamental concepts
14 @chapter Fundamental concepts
16 Ha podido ver en el tutorial cómo producir música bellamente impresa a
17 partir de un simple archivo de texto. Esta sección presenta los
18 conceptos y técnicas que se requieren para producir partituras
19 igualmente bellas pero más complejas.
22 * How LilyPond files work::
23 * Voices contain music::
24 * Contexts and engravers::
25 * Extending the templates::
29 @node How LilyPond files work
30 @section How LilyPond files work
32 El formato de entrada de LilyPond es bastante libre en su forma y
33 concede a los usuarios con experiencia mucha flexibilidad para
34 estructurar sus archivos de la forma que deseen. Sin embargo, toda
35 esta flexibilidad puede hacer que las cosas se vuelvan confusas para
36 los nuevos usuarios. Esta sección le va a explicar parte de esta
37 estructura, pero puede obviar ciertos detalles en aras de la
38 simplicidad. Para ver una descripción completa del formato de
39 entrada, consulte @ruser{File structure}.
43 * Introduction to the LilyPond file structure::
44 * Score is a (single) compound musical expression::
45 * Nesting music expressions::
46 * On the un-nestedness of brackets and ties::
49 @node Introduction to the LilyPond file structure
50 @subsection Introduction to the LilyPond file structure
52 @cindex entrada, formato de la
53 @cindex archivo, estructura del
55 Un ejemplo básico de archivo de entrada de LilyPond es el siguiente:
58 \version @w{"@version{}"}
61 @var{...expresión musical compuesta...} % toda la música viene aquí
68 Existen muchas variaciones de este esquema básico, pero el ejemplo
69 constituye un útil punto de partida.
78 Hasta el momento, ninguno de los ejemplos que ha podido ver utiliza la
79 instrucción @code{\score@{@}}. Esto es así a causa de que LilyPond
80 añade automáticamente las órdenes adicionales que se requieren cuando
81 le proporcionamos una entrada sencilla. LilyPond trata una entrada
91 como una abreviatura de esta otra:
108 En otras palabras, si la entrada consta de una única expresión
109 musical, LilyPond interpreta el archivo como si la expresción musical
110 estuviera rodeada por un envoltorio hecho por las instrucciones que
113 @cindex contextos implícitos
115 @strong{¡Advertencia!} Muchos de los ejemplos que aparecen en la
116 documentación de LilyPond omiten las instrucciones @code{\new Staff} y
117 @code{\new Voice}, dejando que se creen de forma implícita. Esto
118 funciona bien para ejemplos sencillos, pero para ejemplos más
119 complicados, especialmente cuando se usan instrucciones adicionales,
120 la creación implícita de los contextos puede dar lugar a resultados
121 inesperados, incluso en ocasiones crear pentagramas no deseados. La
122 forma de crear contextos de forma explícita se explica en
123 @ref{Contexts and engravers}.
125 @warning{Cuando se escriben más de unas pocas líneas de música, se
126 recomienda crear siempre los pentagramas y las voces de forma
129 De todas formas, por ahora vamos a volver al primer ejemplo para
130 examinar la instrucción @code{\score}, dejando las demás en su forma
133 Un bloque @code{\score} siempre debe contener una expresión musical
134 única, que debe aparecer inmediatamente después de la instrucción
135 @code{\score}. Recuerde que una expresión musical podía ser cualquier
136 cosa entre una sola nota hasta una enorme expresión compuesta como
141 @var{...inserte aquí la partitura completa de una ópera de Wagner...}
147 Puesto que todo se encuentra dentro de @code{@{ ... @}}, cuenta como
148 una expresión musical.
150 Como vimos anteriormente, el bloque @code{\score} puede contener otras
172 Observe que estas tres instrucciones (@code{\header}, @code{\layout} y
173 @code{\midi}) son especiales: a diferencia del resto de las
174 instrucciones que comienzan con una barra invertida (@code{\}),
175 @emph{no} son expresiones musicales y no forman parte de ninguna
176 expresión musical. Por tanto, se pueden situar dentro de un bloque
177 @code{\score} o fuera de él. De hecho, estas instrucciones se sitúan
178 por lo general fuera del bloque @code{\score} (por ejemplo,
179 @code{\header} se suele colocar antes de la instrucción @code{\score},
180 como muestra el ejemplo que aparece al principio de la sección.
182 Dos instrucciones más que no hemos visto aún son @code{\layout @{ @}}
183 y @code{\midi @{@}}. Si aparecen tal y como se muestran aquí, hacen
184 que LilyPond produzca una salida impresa y una salida MIDI,
185 respectivamente. Se describen con todo detalle en el manual de
186 Referencia de la notación, en @ruser{Score layout} y en
187 @ruser{Creating MIDI files}.
189 @cindex partituras, varias
191 Podemos escribir varios bloques @code{\score}. Cada uno de ellos
192 recibirá el mismo tratamiento que una partitura independiente, pero se
193 combinarán todos juntos en un archivo de salida único. No se necesita
194 ninguna instrucción @code{\book}, se creará una implícitamente. Sin
195 embargo, si quiere archivos de salida separados a partir de un único
196 archivo @code{.ly}, entonces es necesario utilizar la instrucción
197 @code{\book} para separar las distintas secciones: cada bloque
198 @code{\book} produce un archivo de salida distinto.
202 Cada bloque @code{\book} crea un archivo de salida distinto (por
203 ejemplo, un archivo PDF). Si no hemos escrito uno de forma explícita,
204 LilyPond envuelve todo nuestro código de entrada dentro de un bloque
205 @code{\book} de forma implícita.q
207 Cada bloque @code{\score} es un trozo de música separado dentro de un
210 Cada bloque @code{\layout} afecta al bloque @code{\score} o
211 @code{\book} dentro del cual aparece (es decir, un bloque
212 @code{\layout} dentro de un bloque @code{\score} afecta solamente a
213 ese bloque @code{\score}, pero un bloque @code{\layout} fuera de un
214 bloque @code{\score} (que por ello está dentro de un bloque
215 @code{\book}, ya sea explícita o implícitamente) afecta a los bloques
216 @code{\score} que están dentro de ese @code{\book}.
218 Para ver más detalles, consulte @ruser{Multiple scores in a book}.
222 Otro atajo genial es la posibilidad de definir variables. Todas las
223 plantillas emplean lo siguiente:
226 melodia = \relative c' @{
235 Cuando LilyPond examina este archivo, toma el valor de @code{melodia}
236 (todo lo que está después del signo igual) y lo inserta dondequiera
237 que ve @code{\melodia}. No se requiere un cuidado especial con los
238 nombres (puede ser @code{melodia}, @code{global},
239 @code{CompasArmadura}, @code{manoderechadelpiano} o
240 @code{fulanomengano}). Para ver más detalles, consulte @ref{Saving
241 typing with variables and functions}. Recuerde que puede usar casi
242 cualquier nombre que se le ocurra, en la medida en que contenga
243 solamente caracteres alfabéticos y sea diferente de cualquiera de los
244 nombres de instrucción de LilyPond. Las limitaciones exactas que
245 afectan a los nombres de variable se detallan en @ruser{File
251 Para ver una definición completa del formato del código de entrada,
252 consulte @ruser{File structure}.
254 @node Score is a (single) compound musical expression
255 @subsection Score is a (single) compound musical expression
257 @cindex expresión musical compuesta
258 @cindex música, expresión compuesta de
263 En la sección anterior, @ref{Introduction to the LilyPond file
264 structure}, hemos podido ver la organización general de los archivos
265 de entrada de LilyPond. Pero parece que nos saltamos la parte más
266 importante: ¿cómo averiguamos qué escribir después de @code{\score}?
268 No nos hemos saltado nada en absoluto. El gran misterio es, sencillamente,
269 que no hay @emph{ningún} misterio. La siguiente línea lo explica
273 @emph{Un bloque @code{\score} debe comenzar con una expresión musical
278 Para comprender lo que se entiende por expresión musical y expresión
279 musical compuesta, quizá encuentre útil dar un repaso al tutorial,
280 @ref{Music expressions explained}. En esta sección, vimos cómo
281 elaborar grandes expresiones musicales a partir de pequeñas piezas
282 (comenzábamos con notas, luego acordes, etc.). Ahora partiremos de
283 una gran expresión musical y recorreremos el camino inverso hacia
288 @{ % esta llave da inicio a toda la expresión musical compuesta
290 @var{...introduzca aquí la partitura completa de una ópera de Wagner...}
292 @} % esta llave da por terminada toda expresión musical completa
297 Una ópera de Wagner completa puede ser fácilmente el doble de larga
298 que este manual, por tanto vamos a hacer sólo un cantante y un piano.
299 No necesitamos un @code{GrandStaff} para este conjunto, así que lo
300 retiramos. Sin embargo, sí que @emph{necesitamos} un cantante y un
306 \new Staff = "cantante" <<
308 \new PianoStaff = piano <<
315 Recuerde que usamos @code{<<} y @code{>>} en vez de @code{@{ ... @}}
316 para presentar música simultánea. Y, por supuesto, queremos presentar
317 las partes vocal y del piano al mismo tiempo, ¡no una después de otra!
318 Observe que la construcción @code{<< ... >>} no es realmente necesaria
319 para el pentagrama del cantante (pues contiene una sola expresión
320 musical); sin embargo, el uso de @code{<< ... >>} en lugar de llaves
321 sigue siendo necesario si la música que debe ir en el pentagrama está
322 compuesta por dos expresiones simultáneas, por ejemplo dos voces
323 simultáneas o una voz con letra. Escribiremos algo de música real más
324 tarde; por ahora limitémonos a poner algunas notas y letra de relleno.
326 @lilypond[verbatim,quote,ragged-right]
329 \new Staff = "singer" <<
330 \new Voice = "vocal" { c'1 }
333 \new PianoStaff = "piano" <<
334 \new Staff = "upper" { c'1 }
335 \new Staff = "lower" { c'1 }
342 Ahora tenemos muchos más detalles. Tenemos la pauta del cantante:
343 contiene una @code{Voice} o voz (en LilyPond, este término hace
344 referencia a un conjunto de notas, no necesariamente notas vocales --
345 por ejemplo, un violín generalmente toca una voz --) y el texto de la
346 canción. También tenemos una pauta de piano: contiene un pentagrama
347 superior (mano derecha) y un pentagrama inferior (mano izquierda).
349 En este momento podríamos comenzar a meter las notas. Dentro de las
350 llaves que siguen a @code{\new Voice = vocal}, podríamos empezar
359 Pero si lo hiciéramos, la sección @code{\score} se haría bastante
360 larga y sería más difícil comprender lo que ocurre. En lugar de esto
361 utilizaremos identificadores o variables. Recordará que las vimos por
362 primera vez en la sección anterior. Así pues, escribiendo algunas
363 notas, ahora tenemos un fragmento musical de verdad:
365 @lilypond[verbatim,quote,ragged-right]
366 melody = \relative c'' { r4 d8\noBeam g, c4 r }
367 text = \lyricmode { And God said, }
368 upper = \relative c'' { <g d g,>2~ <g d g,> }
369 lower = \relative c { b2 e2 }
373 \new Staff = "singer" <<
374 \new Voice = "vocal" { \melody }
377 \new PianoStaff = "piano" <<
378 \new Staff = "upper" { \upper }
379 \new Staff = "lower" {
389 Tenga cuidado con la diferencia entre las notas, que van precedidas de
390 @code{\relative} o insertadas directamente en la expresión musical, y
391 la letra, que va precedida de @code{\lyricmode}. Estas instrucciones
392 son esenciales para decirle a LilyPond que interprete el contenido que
393 viene a continuación como música y texto, respectivamente.
395 Cuando escriba una sección @code{\score} o cuando la esté leyendo,
396 hágalo despacio y con cuidado. Comience por el nivel exterior y luego
397 trabaje sobre cada uno de los niveles interiores. También es de gran
398 ayuda ser muy estricto con los márgenes (asegúrese de que en su editor
399 de texto cada elemento del mismo nivel comienza en la misma posición
404 Referencia de la notación:
405 @ruser{Structure of a score}.
408 @node Nesting music expressions
409 @subsection Nesting music expressions
411 No es esencial declarar todos los pentagramas al comienzo; se pueden
412 crear temporalmente en cualquier momento. Esto es de especial
413 utilidad para crear secciones de ossia (véase @rglos{ossia}). A
414 continuación presentamos un ejemplo sencillo que muestra cómo
415 introducir temporalmente un pentagrama nuevo mientras dura un
416 fragmento de tres notas:
418 @lilypond[verbatim,quote,ragged-right]
435 Advierta que el tamaño de la clave es igual al que se imprime en un
436 cambio de clave (ligeramente menor que la clave al principio de una
437 línea). Esto es normal para cualquier clave que se imprime en la
440 @cindex pentagrama, posicionado del
442 La sección ossia se puede colocar encima del pentagrama de la manera
445 @lilypond[verbatim,quote,ragged-right]
446 \new Staff = "main" {
453 alignAboveContext = "main" }
461 Este ejemplo utiliza @code{\with}, que se explica en todo detalle más
462 adelante. Es un medio de modificar el comportamiento predeterminado
463 de un solo pentagrama. Aquí, dice que el pentagrama nuevo se debe
464 colocar por encima del pentagrama llamado @qq{main} en vez de la
465 posición predeterminada que sería por debajo.
469 Los fragmentos de ossia se escriben a menudo sin clave y sin
470 indicación de compás, y generalmente en un tipo más pequeño. Esto
471 necesitaría más instrucciones que aún no se han visto. Véase
472 @ref{Size of objects} y @ruser{Ossia staves}.
475 @node On the un-nestedness of brackets and ties
476 @subsection On the un-nestedness of brackets and ties
478 @cindex corchetes y paréntesis, anidado de
480 En la escritura del archivo de entrada de LilyPond, hemos podido ver
481 algunos tipos de paréntesis, llaves o ángulos de distintos tipos.
482 Éstos obedecen a distintas reglas que al principio pueden resultar
483 confusas. Antes de explicar estas reglas, demos un repaso a las
484 distintas clases de corchetes, llaves y paréntesis.
486 @c attempt to force this onto a new page
488 @multitable @columnfractions .3 .7
489 @headitem Tipo de paréntesis
491 @item @code{@{ .. @}}
492 @tab Encierra un fragmento secuencial de música
494 @tab Encierra las notas de un acorde
495 @item @code{<< .. >>}
496 @tab Encierra expresiones musicales simultáneas
498 @tab Marca el comienzo y el final de una ligadura de expresión
499 @item @code{\( .. \)}
500 @tab Marca el comienzo y el final de una ligadura de fraseo
502 @tab Marca el comienzo y el final de un barrado manual
505 A las anteriores, debemos añadir otras construcciones que generan
506 líneas entre o a través de las notas: las ligaduras de unión (marcadas
507 con una tilde curva, @code{~}), los grupos especiales que se escriben
508 como @code{\times x/y @{..@}}, y las notas de adorno, que se escriben
509 como @code{\grace@{..@}}.
511 Fuera de LilyPond, el uso convencional de los paréntesis y otros
512 corchetes requiere que los distintos tipos se encuentren anidados
513 correctamente, como en: @code{<< [ @{ ( .. ) @} ] >>}, de manera que
514 los paréntesis que se cierran deben encontrarse en el orden
515 exactamente opuesto al de los paréntesis que se abren. Esto
516 @strong{es} un requisito para los tres tipos de paréntesis que se
517 describen mediante la palabra @q{Encierra} en la tabla anterior: se
518 deben anidar correctamente. Sin embargo, el resto de las llaves y
519 corchetes, que se encuentran descritos por la palabra @q{Marca} en la
520 misma tabla anterior, @strong{no} tienen por qué anidarse
521 estrictamente con ninguno de los otros paréntesis. De hecho, éstos no
522 son paréntesis en el sentido de que encierran algo: simplemente son
523 marcadores que indican dónde empieza o finaliza algo.
525 Así pues, por ejemplo, una ligadura de fraseo puede dar comienzo
526 antes de una barra insertada manualmente, y acabar antes de que acabe
527 la barra (algo que quizá no sea muy musical, pero es posible):
529 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
530 { g8\( a b[ c b\) a] }
533 En general, los distintos tipos de corchete, y los implicados en
534 grupos especiales, ligaduras de unión y notas de adorno, se pueden
535 mezclar con total libertad. Este ejemplo muestra una barra que se
536 extiende hacia el interior de un grupo de valoración especial (línea
537 1), una ligadura de expresión que se prolonga hasta el interior de un
538 grupo especial (línea 2), una barra y una ligadura de expresión que se
539 prolongan hasta el interior de un grupo especial, una ligadura de
540 unión que atraviesa dos grupos especiales, y una ligadura de fraseo
541 que sale del interior de un grupo especial (líneas 3 y 4).
543 @lilypond[quote,verbatim,fragment,ragged-right]
545 r16[ g16 \times 2/3 {r16 e'8] }
546 g16( a \times 2/3 {b d) e' }
547 g8[( a \times 2/3 {b d') e'~]}
548 \times 4/5 {e'32\( a b d' e'} a'4.\)
553 @node Voices contain music
554 @section Voices contain music
556 Igual que los cantantes, LilyPond necesita voces para cantar. En
557 realidad, la música para cualquier instrumento de una partitura está
558 siempre contenida dentro de una voz --el concepto de LilyPond más
559 fundamental de todos--.
562 * I'm hearing Voices::
563 * Explicitly instantiating voices::
564 * Voices and vocals::
567 @node I'm hearing Voices
568 @subsection I'm hearing Voices
572 @cindex Voice (voz), contexto de
573 @cindex contexto de voz
574 @cindex simultánea, música
575 @cindex concurrente, música
577 De las capas más profundas de una partitura de LilyPond, las más bajas
578 y más fundamentales reciben el nombre de @q{Voice contexts}
579 («contextos de voz») o, abreviadamente, @q{Voices} («voces»). Las
580 voces reciben a veces el nombre de @q{layers} («capas») en otros
581 programas de edición de partituras.
583 De hecho, una capa o contexto de voz es la única que puede contener
584 música. Si un contexto de voz no se declara explícitamente, se crea
585 uno de forma automática, como vimos al comienzo de este capítulo.
586 Ciertos instrumentos como el oboe solamente pueden tocar una nota cada
587 vez. La música escrita para estos instrumentos es monofónica y
588 solamente requiere una voz única. Los instrumentos que pueden tocar
589 más de una nota a la vez, como el piano, con frecuencia necesitarán
590 varias voces para codificar las distintas notas y ritmos concurrentes
591 que son capaces de tocar.
593 Una sola voz puede contener muchas notas dentro de un acorde, por
594 supuesto; entonces ¿cuándo, exactamente, se necesitan varias voces?
595 En primer lugar observe este ejemplo de cuatro acordes:
597 @lilypond[quote,verbatim,fragment,ragged-right,relative=1]
599 <d g>4 <d fis> <d a'> <d g>
602 Esto se puede expresar utilizando sólo símbolos de acorde con ángulos
603 simples, @code{< ... >}, y para este propósito tan sólo se necesita
604 una voz. Pero suponga que el Fa sostenido fuese realmente una corchea
605 seguida de un Sol corchea, una nota de paso que conduce al La. Ahora
606 tenemos dos notas que empiezan en el mismo momento pero tienen
607 distintas duraciones: la negra Re, y la corchea Fa sostenido. ¿Cómo se
608 codifica esto? No se pueden escribir como un acorde porque todas las
609 notas de un acorde deben tener la misma duración. Y no se pueden
610 escribir como dos notas en secuencia porque tienen que empezar en el
611 mismo momento. Aquí es donde se necesitan dos voces.
613 Veamos cómo se hace esto dentro de la sintaxis de entrada de LilyPond.
618 La forma más fácil de introducir fragmentos con más de una voz en un
619 solo pentagrama es escribir cada voz como una secuencia (con
620 @code{@{...@}}), y combinarlas simultáneamente con ángulos dobles,
621 @code{<<...>>}. Los fragmentos también se deben separar mediante una
622 doble barra invertida, @code{\\}, para situarlos en voces separadas.
623 Sin esto, las notas irían a una sola voz, lo que normalmente producirá
624 errores. Esta técnica se adapta especialmente bien a piezas de música
625 que son mayormente monofónicas pero ocasionalmente tienen cortas
626 secciones de polifonía.
628 He aquí cómo dividimos los acordes anteriores en dos voces y añadimos
629 la nota de paso y la ligadura:
631 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
633 % Voice "1" Voice "2"
634 << { g4 fis8( g) a4 g } \\ { d4 d d d } >> |
637 Observe cómo las plicas de la segunda voz ahora se dirigen hacia
640 A continuación veamos otro ejemplo sencillo:
642 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
644 % Voice "1" Voice "2"
645 << { r4 g g4. a8 } \\ { d,2 d4 g } >> |
646 << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
647 << { a2. r4 } \\ { fis2. s4 } >> |
650 No es necesario usar una construcción @code{<< \\ >>} distinta para
651 cada compás. Para música que tenga unas pocas notas en cada compás,
652 esta disposición podría facilitar la legibilidad del código, pero si
653 hay muchas notas en cada compás podría ser mejor dividirlo en dos
654 voces separadas, de la siguiente manera:
656 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
672 Este ejemplo tiene sólo dos voces, pero la misma construcción se puede
673 usar para codificar tres o más voces mediante la adición de más
674 separadores de barra invertida.
676 Los contextos de voz llevan los nombres de @code{"1"}, @code{"2"},
677 etc. En cada uno de estos contextos, la dirección vertical de las
678 ligaduras, plicas, matices dinámicos, etc., se ajusta de la forma
681 @lilypond[quote,verbatim,fragment]
682 \new Staff \relative c' {
685 % Voice "1" Voice "2" Voice "3"
686 << { g4 f e } \\ { r8 e4 d c8 ~ } >> |
687 << { d2 e2 } \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> |
691 Todas estas voces están separadas de la voz principal que contiene las
692 notas justo por fuera de la construcción @code{<< .. >>}. Le
693 llamaremos a esto la @emph{construcción simultánea}. Las ligaduras
694 (de prolongación y de expresión) solamente pueden conectar notas que
695 estén dentro de la misma voz, luego las ligaduras no pueden entrar o
696 salir de una construcción simultánea. A la inversa, las voces
697 paralelas de construcciones simultáneas distintas sobre el mismo
698 pentagrama, son la misma voz. Otras propiedades relativas a las voces
699 también conllevan construcciones simultáneas. A continuación vemos el
700 mismo ejemplo, con colores y cabezas distintos para cada voz. Observe
701 que los cambios en una voz no afectan a otras voces, pero persisten
702 más tarde dentro de la misma voz. Observe también que las notas
703 ligadas se pueden dividir entre las mismas voces de dos
704 construcciones, como se indica aquí en la voz de triángulos azules.
706 @lilypond[quote,verbatim]
707 \new Staff \relative c' {
726 { c8 b16 a b8 g ~ g2 }
736 @funindex \voiceOneStyle
737 @funindex \voiceTwoStyle
738 @funindex \voiceThreeStyle
739 @funindex \voiceFourStyle
740 @funindex \voiceNeutralStyle
742 Las instrucciones @code{\voiceXXXStyle} están pensadas principalmente
743 para usarlas en documentos educativos como este mismo. Modifican el
744 color de la cabeza, la plica y las barras, y el estilo de la cabeza,
745 de forma que las voces se puedan distinguir fácilmente. La voz uno
746 está establecida a rombos rojos, la voz dos a triángulos azules, la
747 voz tres a círculos verdes con aspas, y la voz cuatro (que no se
748 utiliza aquí) a aspas color magenta. @code{\voiceNeutralStyle} (also
749 not used here) reverts the style back to the default.
750 Veremos más adelante cómo el usuario puede crear instrucciones como
752 @ref{Visibility and color of objects} y
753 @ref{Using variables for tweaks}.
756 La polifonía no cambia la relación de las notas dentro de un bloque
757 @code{\relative @{ @}}. La altura de cada nota aún se calcula con
758 relación a la nota que le precede inmediatamente, o a la primera nota
759 del acorde precedente. Así, en
762 \relative c' @{ notaA << < notaB notaC > \\ notaD >> notaE @}
766 @code{notaB} es relativa a @code{notaA} @*
767 @code{notaC} es relativa a @code{notaB}, no a @code{notaA}; @*
768 @code{notaD} es relativa a @code{notaB}, no a @code{notaA} ni a
770 @code{notaE} es relativa a @code{notaD}, no a @code{notaA}.
772 Una forma alternativa, que podría ser más clara si las notas en las
773 voces están muy separadas, es colocar una instrucción @code{\relative}
774 al principio de cada voz:
777 \relative c' @{ notaA ... @}
779 \relative c'' @{ < notaB notaC > ... @}
781 \relative g' @{ notaD ... @}
783 \relative c' @{ notaE ... @}
786 Finalmente, analicemos las voces en una pieza de música más compleja.
787 He aquí las notas de los dos primeros compases del segundo de los Dos
788 Nocturnos de Chopin, Op 32. Este ejemplo se utilizará en fases
789 posteriores dentro del presente capítulo y el siguiente, para ilustrar
790 varias técnicas para producir notación, y por tanto le pedimos que
791 ignore por ahora cualquier cosa en el código subyacente que le parezca
792 misterioso y tan sólo se concentre en la música y las voces (todas
793 las complicaciones se explicarán en secciones posteriores).
795 @c The following should appear as music without code
796 @lilypond[quote,ragged-right]
797 \new Staff \relative c'' {
806 % Ignore these for now - they are explained in Ch 4
807 \once \override NoteColumn #'force-hshift = #0
809 \once \override NoteColumn #'force-hshift = #0.5
817 Con frecuencia, la dirección de las plicas se utiliza para indicar la
818 continuidad de dos líneas melódicas simultáneas. Aquí, todas las
819 plicas de las notas agudas se dirigen hacia arriba y las de las notas
820 graves hacia abajo. Ésta es la primera indicación de que se requiere
823 Pero la necesidad real de varias voces aflora cuando hay notas que
824 comienzan en el mismo tiempo pero tienen distintas duraciones.
825 Observe las notas que comienzan en la tercera parte del primer compás.
826 El La bemol es una negra con puntillo, el Fa es una negra y el Re
827 bemol es una blanca. Estas notas nos e pueden escribir como un acorde
828 porque todas las notas de un acorde deben tener la misma duración.
829 Tampoco se pueden escribir como notas secuenciales, pues deben
830 comenzar al mismo tiempo. Esta sección del compás requiere tres
831 voces, y la práctica común sería escribir todo el compás como tres
832 voces como se muestra abajo, donde hemos usado distintas cabezas y
833 colores para las tres voces. Una vez más, el código que subyace a
834 este ejemplo se explicará más tarde, así pues ignore todo lo que no
837 @c The following should appear as music without code
838 @c The three voice styles should be defined in -init
839 @lilypond[quote,ragged-right]
840 \new Staff \relative c'' {
851 \\ % No Voice three (we want stems down)
854 % Ignore these for now - they are explained in Ch 4
855 \once \override NoteColumn #'force-hshift = #0
857 \once \override NoteColumn #'force-hshift = #0.5
866 Vamos a intentar codificar esta música partiendo de cero. Como
867 veremos, esto se topa con ciertas dificultades. Comenzamos tal y como
868 hemos aprendido, usando la construcción @code{<< \\ >>} para
869 introducir la música del primer compás en tres voces:
871 @lilypond[quote,verbatim,fragment,ragged-right]
872 \new Staff \relative c'' {
875 { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 }
884 Las direcciones de las plicas se asignan automáticamente de forma que
885 las voces de numeración impar reciben las plicas hacia arriba y las de
886 numeración par hacia abajo. Las plicas de las voces 1 y 2 están
887 correctas, pero las plicas de la voz 3 debería ir hacia abajo en este
888 fragmento en particular. Podemos corregir esto simplemente
889 olvidándonos de la voz tres y situando la música en la voz cuatro:
891 @lilypond[quote,verbatim,fragment,ragged-right]
892 \new Staff \relative c'' {
898 \\ % Omit Voice three
907 Vemos que esto arregla la dirección de la plica, pero presenta un
908 problema que se encuentra a veces con varias voces: las plicas de las
909 notas en una voz pueden colisionar con las cabezas de otras voces. Al
910 disponer las notas, LilyPond permite que las notas o acordes de dos
911 voces ocupen la misma columna vertical de notas teniendo en cuenta que
912 las plicas están en direcciones opuestas, pero las notas de la tercera
913 y cuarta voces se desplazan si es necesario para evitar la colisión
914 entre las cabezas. Esto funciona bien por lo general, pero en este
915 ejemplo claramente las notas de la voz inferior no están bien
916 colocadas de forma predeterminada. LilyPond proporciona diversas
917 maneras de ajustar la colocación horizontal de las notas. Aún no
918 estamos preparados para ver cómo corregir esto, así que dejaremos este
919 problema aparcado hasta una sección posterior (véase la propiedad
920 @code{force-hshift} en @ref{Fixing overlapping notation}).
924 Referencia de la notación:
925 @ruser{Multiple voices}.
928 @node Explicitly instantiating voices
929 @subsection Explicitly instantiating voices
934 @funindex \voiceThree
938 @cindex contextos de voz, creación de
940 Los contextos de voz también se pueden crear manualmente dentro de un
941 bloque @code{<< >>} para crear música polifónica, utilizando
942 @code{\voiceOne} ... @code{\voiceFour} para indicar las direcciones
943 requeridas de plicas, ligaduras, etc. En partituras más largas, este
944 método es más claro porque permite que las voces estén separadas y
945 reciban nombres más descriptivos.
947 Concretamente, la construcción @code{<< \\ >>} que usamos en la
953 << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
963 \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
964 \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
968 Los dos ejemplos anteriores producirán:
970 @c The following example should not display the code
971 @lilypond[ragged-right,quote]
973 \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
974 \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
978 Las instrucciones @code{\voiceXXX} establecen la dirección de las
979 plicas, ligaduras de expresión, ligaduras de prolongación,
980 articulaciones, anotaciones de texto, puntillos y digitaciones.
981 @code{\voiceOne} y @code{\voiceThree} hacen que estos objetos apunten
982 hacia arriba, mientras que @code{\voiceTwo} y @code{\voiceFour} los
983 hacen apuntar hacia abajo. Estas instrucciones también producen un
984 desplazamiento horizontal para cada voz cuando es necesario para
985 evitar choques entre las cabezas. La instrucción @code{\oneVoice}
986 devuelve los ajustes de nuevo a los valores normales para una sola
989 Veamos en algunos ejemplos sencillos exactamente qué efecto tienen
990 @code{\oneVoice}, @code{\voiceOne} y @code{voiceTwo} sobre el marcado,
991 las ligaduras de unión y de expresión y las indicaciones de dinámica:
993 @lilypond[quote,ragged-right,verbatim]
995 % Default behaviour or behaviour after \oneVoice
996 c d8 ~ d e4 ( f g a ) b-> c
1000 @lilypond[quote,ragged-right,verbatim]
1003 c d8 ~ d e4 ( f g a ) b-> c
1005 c, d8 ~ d e4 ( f g a ) b-> c
1009 @lilypond[quote,ragged-right,verbatim]
1012 c d8 ~ d e4 ( f g a ) b-> c
1014 c, d8 ~ d e4 ( f g a ) b-> c
1018 A continuación veremos tres formas distintas de componer la notación
1019 del mismo pasaje polifónico, cada una de las cuales tiene sus ventajas
1020 según la circunstancia, utilizando el ejemplo de la sección anterior.
1022 Una expresión que aparece directamente dentro de @code{<< >>}
1023 pertenece a la voz principal (pero, observe, @strong{no} dentro de una
1024 construcción @code{<< \\ >>}). Esto es útil cuando aparecen voces
1025 nuevas mientras la voz principal está sonando. A continuación podemos
1026 ver una realización más correcta del ejemplo de la sección anterior.
1027 Las notas rojas en forma de rombo muestran que la melodía principal
1028 está ahora dentro de un contexto de una sola voz, haciendo que se
1029 pueda trazar una ligadura por encima de ellas.
1031 @lilypond[quote,ragged-right,verbatim]
1032 \new Staff \relative c' {
1034 % The following notes are monophonic
1036 % Start simultaneous section of three voices
1038 % Continue the main voice in parallel
1040 % Initiate second voice
1042 % Set stems, etc, down
1044 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
1046 % Initiate third voice
1048 % Set stems, etc, up
1056 @cindex anidado de expresiones musicales
1057 @cindex anidado de construcciones simultáneas
1059 @cindex voces temporales
1060 @cindex voces, anidado de
1062 Son posibles construcciones polifónicas anidadas más profundamente, y
1063 si una voz aparece sólo brevemente podría haber una forma más natural
1064 de tipografiar la música.
1066 @lilypond[quote,ragged-right,verbatim]
1067 \new Staff \relative c' {
1075 {c8 b16 a b8 g ~ g2}
1086 @cindex espaciadoras, notas
1088 Este método de anidar voces nuevas brevemente es útil cuando sólo hay
1089 secciones polifónicas pequeñas, pero cuando todo el pentagrama es muy
1090 polifónico podría ser más claro usar varias voces todo el tiempo,
1091 usando notas espaciadoras para pasar por encima de las secciones en
1092 que una voz está en silencio, como aquí:
1094 @lilypond[quote,ragged-right,verbatim]
1095 \new Staff \relative c' <<
1096 % Initiate first voice
1099 c16^( d e f g4 f e | d2 e2) |
1101 % Initiate second voice
1103 % Set stems, etc, down
1105 s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 |
1107 % Initiate third voice
1109 % Set stems, etc, up
1116 @cindex columna de notas
1117 @cindex desplazamiento, instrucciones de
1121 @funindex \shiftOnnn
1123 Las notas cercanas de un acorde, o las notas que se producen al mismo
1124 tiempo en distintas voces, se disponen en dos (y ocasionalmente más)
1125 columnas para evitar el solapamiento de las cabezas. Reciben el
1126 nombre de columnas de notas. Hay columnas distintas para cada voz, y
1127 el desplazamiento especificado en curso dependiente de la voz se
1128 aplica a la columna de la nota si en caso contrario se produjese una
1129 colisión. Esto se puede ver en el ejemplo anterior. En el compás 2 el
1130 Do en la voz dos está desplazado a la derecha respecto del Re de la
1131 voz uno, y en el último acorde el Do de la voz tres también está
1132 desplazado a la derecha respecto de las otras notas.
1134 Las instrucciones @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}
1135 y @code{\shiftOff} especifican el grado en que se deben desplazar las
1136 notas y acordes de la voz si en caso contrario ocurriese una
1137 colisión. De forma predeterminada, las voces exteriores (normalmente
1138 las voces uno y dos) llevan especificado @code{\shiftOff}, mientras
1139 que las voces interiores (tres y cuatro) tienen @code{\shiftOn}
1140 especificado. Cuando se aplica un desplazamiento, las voces uno y
1141 tres se desplazan hacia la derecha y las voces dos y cuatro se
1142 desplazan hacia la izquierda.
1144 @code{\shiftOnn} y @code{\shiftOnnn} definen niveles adicionales de
1145 desplazamiento que se pueden especificar temporalmente para resolver
1146 colisiones en situaciones complejas (véase @ref{Real music example}).
1148 Una columna de notas puede contener sólo una nota (o acorde) de una
1149 voz con las plicas hacia arriba y una not (o acorde) de una voz con
1150 las plicas hacia abajo. Si las notas de dos voces que tienen las
1151 plicas en la misma dirección se sitúan en la misma posición y las dos
1152 voces no tienen ningún desplazamiento o llevan especificado el mismo
1153 desplazamiento, se producirá el mensaje de error @qq{Chocan demasiadas
1158 Referencia de la notación:
1159 @ruser{Multiple voices}.
1162 @node Voices and vocals
1163 @subsection Voices and vocals
1166 La música vocal presenta una dificultad especial: tenemos que combinar
1167 dos expresiones, a saber, las notas y la letra.
1169 @funindex \new Lyrics
1171 @cindex Lyrics, creación de un contexto
1172 @cindex letra, creación de un contexto de
1173 @cindex letra, enlazar con una voz
1175 Ya ha visto la instrucción @code{\addlyrics@{@}}, que maneja bien
1176 partituras sencillas. Sin embargo esta técnica es algo limitada.
1177 Para música de mayor complejidad, tenemos que introducir la letra en
1178 un contexto @code{Lyrics} utilizando @code{\new Lyrics} y enlazar
1179 explícitamente la letra y las notas mediante @code{\lyricsto@{@}},
1180 usando el nombre asignado a la voz.
1182 @lilypond[quote,verbatim,fragment]
1184 \new Voice = "one" \relative c'' {
1187 c4 b8. a16 g4. f8 e4 d c2
1189 \new Lyrics \lyricsto "one" {
1190 No more let sins and sor -- rows grow.
1195 Observe que la letra se debe enlazar a un contexto de @code{Voice},
1196 @emph{no} a un contexto de @code{Staff}. Este es un caso en que es
1197 necesario crear contextos de @code{Staff} y de @code{Voice}
1200 @cindex letra y barrado
1201 @cindex barrado y letra
1202 @funindex \autoBeamOff
1204 El barrado automático que LilyPond usa de forma predeterminada
1205 funciona bien para la música instrumental, pero no tan bien para
1206 música con letra, donde o bien el barrado no se necesita en absoluto,
1207 o bien se utiliza para indicar los melismas de la letra. En el
1208 ejemplo anterior hemos utilizado la instrucción @code{\autoBeamOff}
1209 para desactivar el barrado automático.
1211 @funindex \new ChoirStaff
1212 @funindex \lyricmode
1213 @cindex vocal, estructura de una partitura
1215 Ahora vamos a reutilizar el ejemplo anterior de «Judas Macabeo» para
1216 ilustrar esta técnica más flexible. Primero la reescribiremos para
1217 que use variables de manera que la música y la letra se pueda separar
1218 de la estructura de pentagramas. También introduciremos una llave de
1219 grupo de ChoirStaff. La letra en sí se debe introducir con
1220 @code{\lyricmode} para estar seguros de que se interpreta como letra y
1223 @lilypond[quote,verbatim]
1224 global = { \time 6/8 \partial 8 \key f \major}
1225 SopOneMusic = \relative c'' {
1226 c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 }
1227 SopTwoMusic = \relative c' {
1228 r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' }
1229 SopOneLyrics = \lyricmode {
1230 Let | flee -- cy flocks the | hills a -- dorn, __ }
1231 SopTwoLyrics = \lyricmode {
1232 Let | flee -- cy flocks the | hills a -- dorn, }
1237 \new Voice = "SopOne" {
1241 \new Lyrics \lyricsto "SopOne" {
1246 \new Voice = "SopTwo" {
1250 \new Lyrics \lyricsto "SopTwo" {
1258 Ésta es la estructura básica de todas las partituras vocales. Se
1259 pueden añadir más pentagramas según se necesite, se pueden añadir más
1260 voces a los pentagramas y más estrofas a la letra, y las variables que
1261 contienen la música se pueden colocar fácilmente en archivos separados
1262 cuando se hagan demasiado largos.
1264 @cindex himno, estructura de
1266 A continuación podemos ver un ejemplo final de la primera línea de un
1267 himno con cuatro estrofas, para coro SATB. En este caso la letra de
1268 las cuatro partes es la misma. Observe cómo utilizamos variables para
1269 separar la notación musical de la estructura de pentagramas. Observe
1270 también cómo se utiliza una variable, para la que hemos elegido el
1271 nombre @q{TimeKey} («compás y tonalidad»), para que contenga varias
1272 instrucciones que se usarán dentro de los dos pentagramas. En otros
1273 ejemplos se le suele dar el nombre de @q{global}.
1277 @lilypond[quote,verbatim]
1278 TimeKey = { \time 4/4 \partial 4 \key c \major}
1279 SopMusic = \relative c' { c4 | e4. e8 g4 g | a a g }
1280 AltoMusic = \relative c' { c4 | c4. c8 e4 e | f f e }
1281 TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
1282 BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
1283 VerseOne = \lyricmode {
1284 E -- | ter -- nal fa -- ther, | strong to save, }
1285 VerseTwo = \lyricmode {
1286 O | Christ, whose voice the | wa -- ters heard, }
1287 VerseThree = \lyricmode {
1288 O | Ho -- ly Spi -- rit, | who didst brood }
1289 VerseFour = \lyricmode {
1290 O | Tri -- ni -- ty of | love and pow'r }
1296 \new Voice = "Sop" { \voiceOne \TimeKey \SopMusic }
1297 \new Voice = "Alto" { \voiceTwo \AltoMusic }
1298 \new Lyrics \lyricsto "Sop" { \VerseOne }
1299 \new Lyrics \lyricsto "Sop" { \VerseTwo }
1300 \new Lyrics \lyricsto "Sop" { \VerseThree }
1301 \new Lyrics \lyricsto "Sop" { \VerseFour }
1305 \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic }
1306 \new Voice = "Bass" { \voiceTwo \BassMusic }
1312 @cindex estrofa y estribillo
1314 Finalizamos con un ejemplo que muestra cómo podemos codificar una
1315 estrofa para solista seguida de un estribillo en dos partes sobre dos
1316 pentagramas. El posicionado de las secciones secuencial y simultánea
1317 para conseguirlo dentro de una sola partitura es un poco enrevesado,
1318 por tanto siga esta explicación con todo cuidado.
1320 Comenzamos el ejemplo con un bloque de partitura que contiene un
1321 @code{ChoirStaff}, pues queremos que aparezca un corchete al comienzo
1322 de la parte de coro. Normalmente necesitaríamos dobles ángulos
1323 después de @code{\new ChoirStaff} para meter dentro todos los
1324 pentagramas en paralelo, pero aquí queremos postponer el paralelismo
1325 mientras dura el solo y por ello usaremos llaves, aunque aquí unos
1326 ángulos dobles no harían daño. Dentro del @code{ChoirStaff} queremos
1327 en primer lugar el pentagrama que va a contener la estrofa. Debe
1328 contener notas y letra en paralelo, así que necesitamos dobles ángulos
1329 encerrando el @code{\new Voice} y el @code{\new Lyrics} para que den
1330 comienzo al mismo tiempo:
1332 @lilypond[quote,verbatim,ragged-right]
1333 versenotes = \relative c'' {
1336 \time 3/4 g g g b b b
1338 versewords = \lyricmode {
1339 One two three four five six
1344 \new Voice = "verse" {
1347 \new Lyrics \lyricsto verse {
1355 Con esto tenemos la línea de la estrofa.
1357 Ahora deseamos continuar con refrainA (la primera parte del
1358 estribillo) sobre el mismo pentagrama, mientras un segundo pentagrama
1359 aparece en paralelo con él para refrainB (estribillo, segunda parte),
1360 por lo que ésta es una sección paralela que se debe situar
1361 inmediatamente a continuación del salto de línea @code{\break} en la
1362 voz de la estrofa. ¡Sí, @emph{dentro} de la voz de la estrofa! He
1363 aquí dicha sección paralela. Se podrían introducir más pentagramas de
1369 \new Lyrics \lyricsto verse @{
1373 \new Voice = "refrainB" @{
1376 \new Lyrics \lyricsto "refrainB" @{
1383 Aquí tenemos el resultado final con dos pentagramas en el estribillo
1384 mostrando cómo la sección paralela se posiciona dentro de la voz de la
1387 @lilypond[quote,verbatim, ragged-right]
1388 versenotes = \relative c'' {
1391 \time 3/4 g g g b b b
1393 refrainnotesA = \relative c'' {
1397 refrainnotesB = \relative c {
1402 versewords = \lyricmode {
1403 One two three four five six
1405 refrainwordsA = \lyricmode {
1408 refrainwordsB = \lyricmode {
1414 \context Voice = "verse" {
1418 \new Lyrics \lyricsto "verse" {
1422 \new Voice = "refrainB" {
1425 \new Lyrics \lyricsto "refrainB" {
1431 \new Lyrics \lyricsto "verse" {
1440 @cindex book, ejemplo de su uso
1443 Sin embargo, y aunque esto es un interesante y útil ejercicio
1444 destinado a ayudarle a comprender cómo funcionan los bloques
1445 secuenciales y simultáneos, en la práctica quizá nos decidiríamos por
1446 codificarlo como dos bloques @code{\score} dentro de un bloque
1447 @code{\book} implícito, como sigue:
1449 @lilypond[quote,verbatim,ragged-right]
1450 versenotes = \relative c'' {
1453 \time 3/4 g g g b b b
1455 refrainnotesA = \relative c'' {
1459 refrainnotesB = \relative c {
1464 versewords = \lyricmode {
1465 One two three four five six
1467 refrainwordsA = \lyricmode {
1470 refrainwordsB = \lyricmode {
1475 \new Voice = "verse" {
1478 \new Lyrics \lyricsto "verse" {
1487 \new Voice = "refrainA" {
1490 \new Lyrics \lyricsto "refrainA" {
1495 \new Voice = "refrainB" {
1498 \new Lyrics \lyricsto "refrainB" {
1508 Referencia de la notación:
1509 @ruser{Vocal music}.
1512 @node Contexts and engravers
1513 @section Contexts and engravers
1515 Los contextos y grabadores se han mencionado de manera informal en
1516 secciones anteriores; ahora tan sólo vamos a ver estos conceptos con
1517 más detalle, pues son importantes en el ajuste fino de la salida de
1521 * Contexts explained::
1522 * Creating contexts::
1523 * Engravers explained::
1524 * Modifying context properties::
1525 * Adding and removing engravers::
1528 @node Contexts explained
1529 @subsection Contexts explained
1531 @cindex contextos, explicación de los
1533 Cuando se imprime la música, se tienen que añadir a la salida una gran
1534 cantidad de elementos notacionales que no aparecen explícitamente en
1535 el archivo de entrada. Por ejemplo, compare la entrada y la salida
1536 del siguiente ejemplo:
1538 @lilypond[quote,verbatim,relative=2,fragment]
1542 La entrada es bastante escueta, pero en la salida se añaden líneas
1543 divisorias, alteraciones accidentales, la clave y la indicación de
1544 compás. LilyPond @emph{interpreta} la entrada. En esta fase se
1545 inspecciona la información musical en orden temporal, de forma
1546 parecida a la lectura de una partitura de izquierda a
1547 derecha. Mientras se lee la entrada, el programa recuerda dónde se
1548 encuentran los límites de los compases, y qué notas requieren
1549 alteraciones explícitas. Esta información se puede presentar sobre
1550 varios niveles. Por ejemplo, el efecto de una alteración accidental
1551 se encuentra limitada a un solo pentagrama, mientras que una barra
1552 divisoria debe estar sincronizada a través de la partitura de arriba a
1555 Dentro de LilyPond, estas reglas y pequeñas porciones de información
1556 se agrupan en @emph{Contexts}. Algunos ejemplos de contextos son
1557 @code{Voice} (Voz), @code{Staff} (Pauta o pentagrama) y @code{Score}
1558 (Partitura). Los contextos son jerárquicos, de forma que reflejan la
1559 naturaleza jerárquica de una partitura musical. Por ejemplo: un
1560 contexto de @code{Staff} contener muchos contextos de @code{Voice}, y
1561 un contexto de @code{Score} puede contener muchos contextos de
1565 @sourceimage{context-example,5cm,,}
1568 Cada contexto asume la responsabilidad de imponer algunas reglas de
1569 notación, creando ciertos objetos de notación y manteniendo las
1570 propiedades asociadas. Por ejemplo, el contexto @code{Voice} puede
1571 introducir una alteración accidental y entonces el contexto
1572 @code{Staff} mantiene la regla de mostrar o suprimir la alteración
1573 para el resto del compás.
1575 Otro ejemplo lo constituye el hecho de que la sincronización de las
1576 líneas divisorias se gestiona dentro del contexto de la partitura,
1577 @code{Score}, de forma predeterminada. Sin embargo, en algunas
1578 músicas posiblemente no queramos que las líneas divisorias estén
1579 sincronizadas (pensemos en una partitura polimétrica en compases de
1580 4/4 y de 3/4). En tales casos, debemos modificar los ajustes por
1581 omisión de los contextos @code{Score} y @code{Staff}.
1583 Para partituras muy sencillas, los contextos se crean implícitamente y
1584 no debemos preocuparnos por ellos. Para piezas mayores, como por
1585 ejemplo cualquiera que tenga más de un pentagrama, los contextos se
1586 deben crear explícitamente para asegurarnos de que tendremos la
1587 cantidad exacta de pentagramas que necesitamos, y que están en el
1588 orden correcto. Para tipografiar piezas con notación especializada,
1589 es frecuente la modificación de contextos existentes o incluso definir
1590 unos completamente nuevos.
1593 Además de los contextos @code{Score,} @code{Staff} y @code{Voice}, hay
1594 contextos que se sitúan entre los niveles de partitura y de pentagrama
1595 para controlar los grupos de pentagraamas, como los contextos
1596 @code{PianoStaff} y @code{ChoirStaff}. También existen contextos
1597 alternativos de pentagrama y de voz, y contextos para la letra, la
1598 percusión, diagramas de trastes, bajo cifrado, etc.
1600 Los nombres de todos los tipos de contextos se componen de una o más
1601 palabras que comienzan con mayúscula y que están unidas unas a otras
1602 sin guión ni barra baja, por ejemplo:
1603 @code{GregorianTranscriptionStaff}.
1607 Referencia de la notación:
1608 @ruser{Contexts explained}.
1610 @node Creating contexts
1611 @subsection Creating contexts
1614 @cindex nuevos contextos
1615 @cindex creación de contextos
1616 @cindex contextos, creación de
1618 Sólo puede haber un contexto en el nivel más alto: el contexto de
1619 partitura @code{Score}. Se crea con la instrucción @code{\score} o,
1620 en partituras sencillas, se crea automáticamente.
1622 Para partituras que solamente tienen una voz y un pentagrama, podemos
1623 dejar que los contextos @code{Voice} y @code{Staff} se creen
1624 automáticamente, pero para partituras más complejas es necesario
1625 crearlos a mano. La instrucción más simple que hace esto es
1626 @code{\new}. Se antepone a una expresión musical, por ejemplo
1629 \new @var{tipo} @var{expresión_musical}
1633 donde @var{tipo} es el nombre de un contexto (como @code{Staff} o
1634 @code{Voice}). Esta instrucción crea un contexto nuevo, y comienza a
1635 interpretar la @var{expresión_musical} que está dentro de ese
1638 Observe que no hay ninguna instrucción @code{\new Score}; el contexto
1639 @code{Score} único en el nivel más alto se introduce con
1643 En las secciones anteriore ha podido ver muchos ejemplos prácticos que
1644 creaban nuevos contextos de @code{Staff} y de @code{Voice}, pero para
1645 recordarle cómo se emplean estas instrucciones en la práctica, he aquí
1646 un ejemplo anotado de música real:
1648 @lilypond[quote,verbatim,ragged-right]
1649 \score { % start of single compound music expression
1650 << % start of simultaneous staves section
1652 \new Staff { % create RH staff
1655 \new Voice { % create voice for RH notes
1656 \relative c'' { % start of RH notes
1662 \new Staff << % create LH staff; needs two simultaneous voices
1665 \new Voice { % create LH voice one
1667 \relative g { % start of LH voice one notes
1668 g8 <bes d> ees, <g c> |
1669 g8 <bes d> ees, <g c> |
1670 } % end of LH voice one notes
1671 } % end of LH voice one
1672 \new Voice { % create LH voice two
1674 \relative g { % start of LH voice two notes
1677 } % end of LH voice two notes
1678 } % end of LH voice two
1679 >> % end of LH staff
1680 >> % end of simultaneous staves section
1681 } % end of single compound music expression
1684 (Observe cómo todas las instrucciones que abren un bloque con una
1685 llave curva, @code{@{}, o con ángulos dobles, @code{<<}, están
1686 sangrados (tienen un margen adicional) con dos espacios adicionales, y
1687 la llave de cierre correspondiente tiene un margen exactamente igual.
1688 Aunque no es necesario, la observancia de esta práctica reducirá
1689 considerablemente el número de errores de @q{paréntesis
1690 descompensados}, y se recomienda vivamente. Permite apreciar de un
1691 solo vistazo la estructura de la música, y cualquier paréntesis
1692 descompensado aprecerá con obviedad. Observe también cómo el
1693 pentagrama de la MI se crea usando dobles ángulos porque requiere dos
1694 voces, mientras que el pentagrama de la MD se crea con una expresión
1695 musical única encerrada entre llaves porque sólo requiere una voz.)
1698 @cindex contextos, nombrado
1699 @cindex nombrar contextos
1701 La instrucción @code{\new} también puede otorgar un nombre
1702 identificativo al contexto para distinguirlo de otros contextos del
1706 \new @var{tipo} = @var{identificador} @var{expresión_musical}
1709 Observe la distinción entre el nombre del tipo de contexto,
1710 @code{Staff}, @code{Voice}, etc., y el nombre identificativo de una
1711 instancia en particular de ese tipo, que puede ser cualquier secuencia
1712 de letras inventada por el usuario. En el nombre identificativo
1713 también se pueden utilizar dígitos y espacios, pero en este caso aquél
1714 debe ir entre comillas p.ej. @code{\new Staff = "MiPentagrama 1"
1715 @var{expresión_musical}}. El nombre identificativo se utiliza para
1716 referirnos más tarde a esa instancia en particular de un contexto.
1717 Hemos visto esto en la sección acerca de la letra, en @ref{Voices and
1722 Referencia de la notación:
1723 @ruser{Creating contexts}.
1726 @node Engravers explained
1727 @subsection Engravers explained
1731 Todas y cada una de las marcas de la salida impresa de una partitura
1732 hecha con LilyPond está producida por un @code{Engraver} (grabador).
1733 Así, tenemos un grabador para imprimir pentagramas, otro para imprimir
1734 las cabezas de las notas, otro para las plicas, otro para las barras,
1735 etc, etc. ¡En total hay más de 120 grabadores! Afortunadamente, para
1736 la mayor parte de las partituras no es necesario conocer más que
1737 algunos, y para partituras sencillas no tenemos que saber nada de
1740 Los grabadores residen y operan dentro de Contextos. Los grabadores
1741 como el grabador de la indicación metronómica,
1742 @code{Metronome_mark_engraver}, cuya acción y resultado se aplican a
1743 la partitura como un todo, operan en el contexto del nivel más alto:
1744 el contexto de partitura @code{Score}.
1746 El grabador de la clave @code{Clef_engraver} y el de la armadura
1747 @code{Key_engraver} se encuentran probablemente en todos los contextos
1748 de pentagrama (@code{Staff}), pues los distintos pentagramas podrían
1749 requerir diferentes claves y armaduras.
1751 El grabador de las cabezas de nota @code{Note_heads_engraver} y el de
1752 las plicas @code{Stem_engraver} viven en cada uno de los contextos de
1753 voz @code{Voice}, el contexto de nivel más bajo de todos.
1755 Cada grabador procesa los objetos particulares asociados con su
1756 función, y mantiene las propiedades que están relacionadas con dicha
1757 función. Estas propiedades, como las que están asociadas con los
1758 contextos, se pueden modificar para cambiar el funcionamiento del
1759 grabador o el aspecto de esos elementos en la partitura impresa.
1761 Todos los grabadores tienen nombres compuestos de varias palabras que
1762 describen su función. Sólo está en mayúsculas la inicial de la
1763 primera palabra, y el resto se le une mediante guiones bajos. Así, el
1764 grabador @code{Staff_symbol_engraver} es responsable de la creación de
1765 las líneas del pentagrama, y el @code{Clef_engraver} determina y
1766 establece la altura o el punto de referencia sobre el pentagrama
1767 dibujando un símbolo de clave.
1769 A continuación presentamos algunos de los grabadores más comunes,
1770 junto a su función. Podrá comprobar que es fácil adivinar la función
1771 a partir del nombre (en inglés), y viceversa.
1773 @multitable @columnfractions .3 .7
1776 @item Accidental_engraver
1777 @tab Hace las alteraciones accidentales, de precaución y de sugerencia.
1779 @tab Graba las barras
1781 @tab Graba las claves
1782 @item Completion_heads_engraver
1783 @tab Splits notes which cross bar lines
1784 @c The old Dynamic_engraver is deprecated. -jm
1785 @item New_dynamic_engraver
1786 @tab Crea reguladores e indicaciones dinámicas textuales
1787 @item Forbid_line_break_engraver
1788 @tab Prevents line breaks if a musical element is still active
1790 @tab Crea la armadura de la tonalidad
1791 @item Metronome_mark_engraver
1792 @tab Graba la indicación metronómica
1793 @item Note_heads_engraver
1794 @tab Graba la cabeza de las notas
1796 @tab Graba los silencios
1797 @item Staff_symbol_engraver
1798 @tab Graba las cinco líneas (de forma predeterminada) del pentagrama
1800 @tab Crea las plicas y los trémolos de una sola plica
1801 @item Time_signature_engraver
1802 @tab Crea las indicaciones de compás
1807 Más adelante veremos cómo la salida de LilyPond se puede cambiar
1808 mediante la modificación del funcionamiento de los Grabadores.
1812 Referencia de funcionamiento interno:
1813 @rinternals{Engravers and Performers}.
1816 @node Modifying context properties
1817 @subsection Modifying context properties
1819 @cindex contexto, propiedades de
1820 @cindex contexto, propiedades de, modificación
1821 @cindex modificar las propiedades de contexto
1825 Los contextos se responsabilizan de mantener los valores de un cierto
1826 número de @emph{properties} de contexto. Muchas de ellas se pueden
1827 cambiar para influir en la interpretación del código de entrada y
1828 cambiar así la apariencia de la salida impresa. Se modifican mediante
1829 la instrucción @code{\set}. Esta instrucción toma la forma siguiente:
1832 \set @emph{NombreDelContexto}.@emph{nombreDeLaPropiedad} = #@emph{valor}
1835 Donde el @emph{NombreDelContexto} es normalmente @code{Score},
1836 @code{Staff} o @code{Voice}. Se puede omitir, en cuyo caso se supone
1837 que es @code{Voice}.
1839 Los nombres de las propiedades de contexto consisten en palabras
1840 unidas sin ningún guión o barra baja, y donde todas las palabras
1841 excepto la primera empiezan en mayúscula. A continuación podemos ver
1842 algunos ejemplos de nombres de propiedades utilizadas con frecuencia.
1843 Hay muchas más que las que se muestran aquí.
1845 @c attempt to force this onto a new page
1847 @multitable @columnfractions .25 .15 .45 .15
1848 @headitem nombreDeLaPropiedad
1851 @tab Valor de ejemplo
1854 @tab Si es verdadero, poner becuadros adicionales antes de las alteraciones
1855 @tab @code{#t}, @code{#f}
1856 @item currentBarNumber
1858 @tab Ajustar el número del compás actual
1862 @tab Si es verdadero, imprimir ligaduras de expresión por encima y por debajo de las notas
1863 @tab @code{#t}, @code{#f}
1864 @item instrumentName
1866 @tab Establecer el nombre del pentagrama, situado a la izquierda
1867 @tab @code{"Cello I"}
1870 @tab Aumentar o disminuir el tamaño de la fuente tipográfica
1874 @tab Establecer el texto que se imprime antes del comienzo de una estrofa
1879 donde un valor Booleano es verdadero (@code{#t}, True) o falso
1880 (@code{#f}, False), un Entero es un número entero positivo, un número
1881 Real es un número decimal positivo o negativo, y el texto se encierra
1882 entre comillas dobles. Observe la aparición de signos de cuadradillo,
1883 (@code{#}), en dos lugares diferentes: como parte del valor Booleano
1884 antes de la @code{t} o la @code{f}, y antes del @emph{valor} dentro de
1885 la sentencia @code{\set}. Así pues, cuando se está escribiendo un
1886 valor Booleano, hay que escribir dos signos de cuadradillo, por
1887 ejemplo: @code{##t}.
1889 Antes de poder establecer cualquiera de estas propiedades, tenemos que
1890 saber en qué contexto operan. A veces es algo obvio, pero en
1891 ocasiones puede ser algo enrevesado. Si especificamos un contexto
1892 equivocado, no se produce ningún mensaje de error, pero el
1893 funcionamiento esperado no tendrá lugar. Por ejemplo, la propiedad
1894 @code{instrumentName} (nombre del instrumento) vive claramente dentro
1895 del contexto de @code{Staff}, puesto que es el pentagrama el que debe
1896 ser nombrado. En este ejemplo, el primer pentagrama resulta
1897 etiquetado, pero no el segundo, porque hemos omitido el nombre del
1900 @lilypond[quote,verbatim,ragged-right]
1902 \new Staff \relative c'' {
1903 \set Staff.instrumentName = #"Soprano"
1906 \new Staff \relative c' {
1907 \set instrumentName = #"Alto" % Wrong!
1913 Recuerde que el nombre del contexto predeterminado es @code{Voice},
1914 así que la segunda instrucción @code{\set} establece la propiedad
1915 @code{instrumentName} del contexto @code{Voice} a @qq{Alto}, pero como
1916 LilyPond no busca esta propiedad en el contexto @code{Voice}, no se
1917 realiza ninguna acción. Esto no es un error, y no se registra ningún
1918 mensaje en el archivo Log de registro de errores.
1920 De forma parecida, si el nombre de la propiedad se escribe con alguna
1921 falta, no se produce ningún mensaje de error, y claramente la acción
1922 esperada no puede tener lugar. De hecho, se puede establecer
1923 cualquier @q{property} (ficticia) usando cualquier nombre que queramos
1924 en cualquier contexto que exista, mediante el uso de la instrucción
1925 @code{\set}. Pero si el nombre no es conocido para LilyPond, no
1926 producirá ninguna acción. Algunos editores de texto que apoyan a los
1927 archivos de entrada de LilyPond de manera especial, documentan los
1928 nombres de propiedades con viñetas cuando psamos sobre ellos con el
1929 puntero del ratón, como JEdit con la extensión LilyPondTool, o
1930 resaltan los nombres de propiedades desconocidas de manera diferente,
1931 como ConTEXT. Si no se utiliza un editor con tales posibilidades, se
1932 recomienda comprobar la corrección del nombre de la propiedad en el
1933 manual de Referencia de funcionamiento interno: véase
1934 @rinternals{Tunable context properties} o @rinternals{Contexts}.
1936 La propiedad @code{instrumentName} tendrá efecto solamente si se
1937 establece dentro del contexto @code{Staff}, pero algunas propiedades
1938 se pueden establecer en más de un contexto. Por ejemplo, la propiedad
1939 @code{extraNatural} está establecida por defecto al valor @code{##t}
1940 (verdadero) para todos los pentagramas. Si se establece a @code{##f}
1941 (falso) en un contexto de @code{Staff} determinado, se aplicará
1942 solamente a las alteraciones de ese pentagrama. Si se establece a
1943 falso en el contexto de la partitura, @code{Score}, se aplicará a
1944 todos los pentagramas.
1946 Así, esto desactivará los becuadros adicionales en un pentagrama:
1948 @lilypond[quote,verbatim,ragged-right]
1950 \new Staff \relative c'' {
1953 \new Staff \relative c'' {
1954 \set Staff.extraNatural = ##f
1961 y esto los desactivará en todos los pentagramas:
1963 @lilypond[quote,verbatim,ragged-right]
1965 \new Staff \relative c'' {
1968 \new Staff \relative c'' {
1969 \set Score.extraNatural = ##f
1975 Como un ejemplo más, si se establece @code{clefOctavation} dentro del
1976 contexto de @code{Score}, éste cambia inmediatamente el valor de la
1977 octavación en todos los pentagramas en curso y establece un nuevo
1978 valor predeterminado que se aplicará a todos los pentagramas.
1980 La instrucción opuesta, @code{\unset}, tiene el efecto de suprimir la
1981 propiedad del contexto, lo que ocasiona que la mayoría de las
1982 porpiedades vuelvan a su valor predeterminado. Normalmente no es
1983 necesario el uso de @code{\unset}, pues una nueva instrucción
1984 @code{\set} hará el ajuste deseado.
1986 Las instrucciones @code{\set} y @code{\unset} pueden aparecer en
1987 cualquier lugar del archivo de entrada y tendrán efecto a partir del
1988 tiempo en que se encuentran y hasta el final de la partitura o hasta
1989 que la propiedad se establezca de nuevo mediante @code{\set} o
1990 @code{\unset}. Probemos a modificar el tamaño de la fuente
1991 tipográfica, lo que afecta al tamaño de las cabezas de las notas
1992 (entre otras cosas) varias veces. El cambio se toma a partir del
1993 valor predeterminado, no el valor en curso.
1995 @lilypond[quote,verbatim,ragged-right,relative=1,fragment]
1997 % make note heads smaller
2000 % make note heads larger
2001 \set fontSize = #2.5
2003 % return to original size
2008 Hemos podido ver cómo establecer los valores de diversos tipos de
2009 propiedad diferentes. Observe que los números enteros y reales van
2010 siempre precedidos de un símbolo de cuadradillo, @code{#}, mientras
2011 que un valor booleano verdadero o falso se especifica mediante
2012 @code{##t} y @code{##f}, con dos cuadradillos. Una propiedad de texto
2013 se debe encerrar entre comillas dobles, como antes, aunque veremos más
2014 adelante que el texto realmente se puede especificar de una forma
2015 mucho más general utilizando la potentísima instrucción @code{markup}.
2017 @unnumberedsubsubsec Setting context properties with @code{\with}
2020 @cindex contexto, propiedades de, establecimiento con \with
2022 Las propiedades de contexto también se pueden establecer en el momento
2023 en que se crea el contexto. A veces esta forma de establecer el valor
2024 de una propiedad es mucho más clara, si ha de quedar fijo durante todo
2025 el tiempo que dure el contexto. Cuando se crea un contexto con una
2026 instrucción @code{\new} puede ir inmediatamente seguido de un bloque
2027 @code{\with @{ .. @}} en el que se establecen los valores de las
2028 propiedades. Por ejemplo, si queremos suprimir la impresión de
2029 becuadros adicionales para toda la duración de un pentagrama, podemos
2033 \new Staff \with @{ extraNatural = ##f @}
2037 de la siguiente forma:
2039 @lilypond[quote,verbatim,ragged-right]
2045 \new Staff \with { extraNatural = ##f }
2052 Las propiedades ajustadas de esta manera aún pueden cambiarse
2053 dinámicamente utilizando @code{\set} y ser devueltas a sus valores
2054 predeterminados mediante @code{\unset}.
2056 La propiedad @code{fontSize} se trata de forma distinta. Si se ajusta
2057 dentro de una cláusula @code{\with}, tiene el efecto de reiniciar el
2058 valor predeterminado del tamaño de la fuente tipográfica. Si más
2059 tarde se modifica con @code{\set}, este nuevo valor predeterminado
2060 puede restablecerse con la instrucción @code{\unset fontSize}.
2062 @unnumberedsubsubsec Setting context properties with @code{\context}
2064 Los valores de propiedad de los contextos se pueden establecer para
2065 @emph{todos} los contextos de un tipo determinado, como por ejemplo
2066 todos los contextos de @code{Staff}, con una única instrucción. El
2067 tipo de contexto se identifica mediante la utilización del nombre de
2068 su tipo, como @code{Staff}, precedido de una barra invertida:
2069 @code{\Staff}. El enunciado que establece el valor de la propiedad es
2070 el mismo que el que está en un bloque @code{\with}, presentado
2071 anteriormente. Se coloca en un bloque @code{\context} dentro de un
2072 bloque @code{\layout}. Cada bloque @code{\context} afecta a todos los
2073 contextos del tipo especificado a lo largo del bloque @code{\score} o
2074 @code{\book} en el que aparece el bloque @code{\layout}. A
2075 continuación presentamos un ejemplo que muestra el formato:
2077 @lilypond[verbatim,quote]
2094 Las propiedades de contexto establecidas de esta forma se pueden
2095 sobreescribir para ejemplares concretos de contextos mediante
2096 enunciados dentro de un bloque @code{\with}, y mediante instrucciones
2097 @code{\set} intercaladas dentro de enunciados musicales.
2101 Referencia de la notación:
2102 @ruser{Changing context default settings}.
2104 @c uncomment when backslash-node-name issue is resolved -pm
2105 @c @ruser{The set command}.
2107 Referencia de funcionamiento interno:
2108 @rinternals{Contexts},
2109 @rinternals{Tunable context properties}.
2112 @node Adding and removing engravers
2113 @subsection Adding and removing engravers
2115 @cindex Grabadores, adición
2116 @cindex Grabadores, eliminación
2121 Hemos visto que cada uno de los contextos contiene varios grabadores,
2122 cada uno de los cuales a su vez es responsable de la producción de una
2123 fracción particular del resultado impreso, como líneas divisorias,
2124 pentagramas, cabezas, plicas, etc. Si un grabador es eliminado de un
2125 contexto, ya no podrá producir su salida impresa. Es una forma algo
2126 radical de modificar la salida, pero a veces puede ser útil.
2128 @subsubheading Changing a single context
2130 Para eliminar un grabador de un contexto único, usamos la instrucción
2131 @code{\with} situada inmediatamente después de la instrucción que crea
2132 el contexto, como en la sección anterior.
2134 Como ilustración, repitamos un ejemplo extraído de la sección anterior
2135 con las líneas del pentagrama eliminadas. Recuerde que las líneas del
2136 pentagrama están dibujadas por el grabador
2137 @code{Staff_symbol_engraver}.
2139 @lilypond[quote,verbatim,ragged-right]
2141 \remove Staff_symbol_engraver
2145 \set fontSize = #-4 % make note heads smaller
2147 \set fontSize = #2.5 % make note heads larger
2149 \unset fontSize % return to default size
2154 @cindex ámbito, grabador del
2156 Los grabadores también se pueden añadir a los contextos individuales
2157 La instrucción que lo hace es
2159 @code{\consists @var{Nombre_del_grabador}},
2161 situada dentro de un bloque @code{\with}. Ciertas partituras vocales
2162 tienen una indicación de ámbito o tesitura situada al principio del
2163 pentagrama para indicar el ámbito de notas en dicho pentagrama, véase
2164 @rglos{ambitus}. El ambitus se produce por parte del grabador
2165 @code{Ambitus_engraver}, que normalmente no está incluido en ningún
2166 contexto. Si lo añadimos al contexto @code{Voice}, calcula el rango a
2167 partir de esa única voz:
2169 @lilypond[quote,verbatim,ragged-right]
2172 \consists Ambitus_engraver
2187 pero si añadimos el grabador de ámbito al contexto de @code{Staff},
2188 calcula el rango de todas las notas en todas las voces de ese
2191 @lilypond[quote,verbatim,ragged-right]
2193 \consists Ambitus_engraver
2209 @subsubheading Changing all contexts of the same type
2211 Los ejemplos anteriores muestran la manera de eliminar o añadir
2212 grabadores a los contextos individuales. También es posible eliminar
2213 o añadir grabadores a todos los contextos de un tipo específico,
2214 situando las instrucciones en el contexto correspondiente dentro de un
2215 bloque @code{\layout}. Por ejemplo, si queremos mostrar los rangos de
2216 tesitura para todos los pentagramas de una partitura de cuatro pautas,
2219 @lilypond[quote,verbatim,ragged-right]
2223 \relative c'' { c a b g }
2226 \relative c' { c a b g }
2230 \relative c' { c a b g }
2234 \relative c { c a b g }
2240 \consists Ambitus_engraver
2247 Los valores predeterminados de las propiedades de los contextos
2248 también se pueden establecer para todos los contextos de un tipo en
2249 particular incluyendo la instrucción @code{\set} dentro de un bloque
2250 @code{\context} de la misma forma.
2254 Referencia de la notación:
2255 @ruser{Modifying context plug-ins},
2256 @ruser{Changing context default settings}.
2259 @node Extending the templates
2260 @section Extending the templates
2262 Ha leído el tutorial y ahora sabe escribir música. Pero ¿cómo puede
2263 poner los pentagramas que quiere? Las plantillas están muy bien, pero
2264 ¿qué ocurre si quiere algo que no está en una de ellas? Bien, puede
2265 encontrar montañas de plantillas (véase @ref{Templates}) que le pueden
2266 servir como punto de partida. Pero ¿y si quiere algo que no está
2267 contemplado aquí? Continúe leyendo.
2271 * Soprano and cello::
2272 * Four-part SATB vocal score::
2273 * Building a score from scratch::
2276 @node Soprano and cello
2277 @subsection Soprano and cello
2279 @cindex plantilla, modificar
2281 Para empezar, tome la plantilla que le parezca más parecida a aquello
2282 que quiere conseguir. Digamos que quiere escribir algo para soprano y
2283 cello. En este caso comenzaríamos con la plantilla @q{Notas y letra}
2284 (para la parte de soprano).
2287 \version @w{"@version{}"}
2288 melodia = \relative c' @{
2295 texto = \lyricmode @{
2301 \new Voice = "uno" @{
2305 \new Lyrics \lyricsto "uno" \texto
2312 Ahora queremos añadir una parte de violoncello. Veamos el ejemplo
2316 \version @w{"@version{}"}
2317 melodia = \relative c' @{
2331 No necesitamos dos instrucciones @code{\version}. Vamos a necesitar
2332 la sección @code{melodia}. No queremos dos secciones @code{\score}
2333 (si tuviésemos dos @code{\score}s, acabaríamos con las dos particellas
2334 por separado. Queremos las dos juntas, como un dúo. Dentro de la
2335 sección @code{\score}, no nos hacen falta dos @code{\layout} ni dos
2338 Si nos limitásemos a copiar y pegar la sección @code{melodia},
2339 acabaríamos con dos secciones @code{melodia} separadas, así que vamos
2340 a cambiarles el nombre. Llamaremos @code{musicaSoprano} a la sección
2341 de la soprano y @code{musicaCello} a la sección del violoncello. Al
2342 mismo tiempo cambiaremos el nombre de @code{texto} a
2343 @code{letraSoprano}. Recuerde cambiar el nombre a las dos apariciones
2344 de todos estos nombres -- tanto la definición inicial (la parte
2345 @code{melodia = relative c' @{ }) -- como el uso de ese nombre (en la
2346 sección @code{\score}).
2348 También aprovecharemos para cambiar el pentagrama de la parte del
2349 cello (los violoncellos se escriben normalmente en clave de Fa).
2350 Asimismo, cambiaremos algunas notas del cello.
2353 \version @w{"@version{}"}
2354 musicaSoprano = \relative c' @{
2361 letraSoprano = \lyricmode @{
2365 musicaCello = \relative c @{
2375 \new Voice = "uno" @{
2379 \new Lyrics \lyricsto "uno" \letraSoprano
2386 Esto tiene una apariencia prometedora, pero la parte del cello no sale
2387 en la partitura (no la hemos puesto en la sección @code{\score}). Si
2388 queremos que la parte del cello aparezca debajo de la de soprano,
2392 \new Staff \musicaCello
2396 justo debajo de todo lo de la soprano. También tenemos que poner
2397 @code{<<} y @code{>>} antes y después de la música -- lo que indica a
2398 LilyPond que hay más de una cosa (en este caso, @code{Staff})
2399 sucediendo al mismo tiempo --. La @code{\score} se parecerá ahora a
2402 @c Indentation in this example is deliberately poor
2407 \new Voice = "uno" @{
2411 \new Lyrics \lyricsto "uno" \letraSoprano
2413 \new Staff \musicaCello
2421 Esto parece un poco enrevesado; los márgenes están descuadrados. Esto
2422 tiene fácil solución. Presentamos aquí la plantilla completa para
2425 @lilypond[quote,verbatim,ragged-right,addversion]
2426 sopranoMusic = \relative c' {
2434 sopranoLyrics = \lyricmode {
2438 celloMusic = \relative c {
2449 \new Voice = "one" {
2453 \new Lyrics \lyricsto "one" \sopranoLyrics
2455 \new Staff \celloMusic
2464 Las plantillas de inicio se pueden encontrar en el apéndice
2465 @q{Templates}, véase @ref{Single staff}.
2468 @node Four-part SATB vocal score
2469 @subsection Four-part SATB vocal score
2471 La mayor parte de las partituras vocales escritas para coro mixto a
2472 cuatro voces con acompañamiento orquestal, como el «Elías» de
2473 Mendelssohn o el «Mesías» de Haendel, tienen la música coral y la
2474 letra en cuatro pentagramas para S, A, T y B, respectivamente, con una
2475 reducción de piano del acompañamiento de orquesta, por debajo. He aquí
2476 un ejemplo del «Mesías» de Haendel:
2478 @c The following should appear as music without code
2479 @lilypond[quote,ragged-right]
2480 global = { \key d \major \time 4/4 }
2481 sopranoMusic = \relative c'' {
2483 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2485 sopranoWords = \lyricmode {
2486 Wor -- thy is the lamb that was slain
2488 altoMusic = \relative a' {
2490 r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
2492 altoWords = \sopranoWords
2493 tenorMusic = \relative c' {
2495 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2497 tenorWords = \sopranoWords
2498 bassMusic = \relative c' {
2500 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2502 bassWords = \sopranoWords
2503 upper = \relative a' {
2506 r4 <a d fis>2 <a e' a>4 |
2507 <d fis d'>4. <d fis d'>8 <a d a'>2 |
2508 <g cis g'>4 <a d fis> <a cis e>2 |
2510 lower = \relative c, {
2513 <d d'>4 <d d'>2 <cis cis'>4 |
2514 <b b'>4. <b' b'>8 <fis fis'>2 |
2515 <e e'>4 <d d'> <a' a'>2 |
2519 << % combine ChoirStaff and PianoStaff in parallel
2521 \new Staff = "sopranos" <<
2522 \set Staff.instrumentName = "Soprano"
2523 \new Voice = "sopranos" { \global \sopranoMusic }
2525 \new Lyrics \lyricsto "sopranos" { \sopranoWords }
2526 \new Staff = "altos" <<
2527 \set Staff.instrumentName = "Alto"
2528 \new Voice = "altos" { \global \altoMusic }
2530 \new Lyrics \lyricsto "altos" { \altoWords }
2531 \new Staff = "tenors" <<
2532 \set Staff.instrumentName = "Tenor"
2533 \new Voice = "tenors" { \global \tenorMusic }
2535 \new Lyrics \lyricsto "tenors" { \tenorWords }
2536 \new Staff = "basses" <<
2537 \set Staff.instrumentName = "Bass"
2538 \new Voice = "basses" { \global \bassMusic }
2540 \new Lyrics \lyricsto "basses" { \bassWords }
2544 \set PianoStaff.instrumentName = "Piano"
2545 \new Staff = "upper" \upper
2546 \new Staff = "lower" \lower
2552 Ninguna de las plantillas proporciona esta disposición con exactitud.
2553 La más parecida es @q{partitura vocal SATB y reducción de piano
2554 automática} (véase @ref{Vocal ensembles}), pero necesitamos cambiar la
2555 disposición y añadir un acompañamiento de piano que no esté derviado
2556 automáticamente de las partes vocales. Las variables que contienen la
2557 música y la letra de las partes vocales es adecuada, pero tendremos
2558 que añadir variables para la reducción de piano.
2560 El orden en que aparecen los contextos en el ChoirStaff de la
2561 plantilla no se corresponde con el orden de la partitura vocal que
2562 hemos mostrado más arriba. Tenemos que reordenarlas para que haya
2563 cuatro pentagramas con la letra escrita directamente bajo las notas de
2564 cada parte. Todas las voces deben ser @code{\voiceOne}, que es la
2565 predeterminada, para que las instrucciones @code{\voiceXXX} se puedan
2566 eliminar. También tenemos que especificar la clave de tenor (clave de
2567 sol octava baja) en las partes de tenor. Aún no hemos encontrado la
2568 forma en que la letra se especifica en la plantilla, así que tenemos
2569 que utilizar el método que nos resulta familiar. También tenemos que
2570 escribir los nombres de cada pentagrama.
2572 Al hacerlo así obtenemos el ChoirStaff siguiente:
2576 \new Staff = "sopranos" <<
2577 \set Staff.instrumentName = "Soprano"
2578 \new Voice = "sopranos" @{ \global \musicaSoprano @}
2580 \new Lyrics \lyricsto "sopranos" @{ \latraSoprano @}
2581 \new Staff = "altos" <<
2582 \set Staff.instrumentName = "Alto"
2583 \new Voice = "altos" @{ \global \musicaAlto @}
2585 \new Lyrics \lyricsto "altos" @{ \letraAlto @}
2586 \new Staff = "tenores" <<
2587 \set Staff.instrumentName = "Tenor"
2588 \new Voice = "tenores" @{ \global \musicaTenor @}
2590 \new Lyrics \lyricsto "tenores" @{ \letraTenor @}
2591 \new Staff = "bajos" <<
2592 \set Staff.instrumentName = "Bass"
2593 \new Voice = "bajos" @{ \global \musicaBajo @}
2595 \new Lyrics \lyricsto "bajos" @{ \letraBajo @}
2596 >> % fin del ChoirStaff
2599 A continuación debemos trabajar sobre la parte de piano. Es fácil:
2600 tan sólo hay que sacar la parte de piano de la plantilla de @q{Piano
2605 \set PianoStaff.instrumentName = "Piano "
2606 \new Staff = "superior" \superior
2607 \new Staff = "inferior" \inferior
2611 y escribir las definiciones de variable para @code{superior} e
2614 Los grupos ChoirStaff y PianoStaff se deben combinar utilizando
2615 ángulos dobles, ya queremos apilarlos unos sobre otros:
2618 << % combinar los grupos ChoirStaff y PianoStaff uno sobre el otro
2620 \new Staff = "sopranos" <<
2621 \new Voice = "sopranos" @{ \global \musicaSoprano @}
2623 \new Lyrics \lyricsto "sopranos" @{ \letraSoprano @}
2624 \new Staff = "altos" <<
2625 \new Voice = "altos" @{ \global \musicaAlto @}
2627 \new Lyrics \lyricsto "altos" @{ \letraAlto @}
2628 \new Staff = "tenores" <<
2629 \clef "G_8" % clave de tenor
2630 \new Voice = "tenores" @{ \global \musicaTenor @}
2632 \new Lyrics \lyricsto "tenores" @{ \letraTenor @}
2633 \new Staff = "bajos" <<
2635 \new Voice = "bajos" @{ \global \musicaBajo @}
2637 \new Lyrics \lyricsto "bajos" @{ \letraBajo @}
2638 >> % fin del ChoirStaff
2641 \set PianoStaff.instrumentName = "Piano "
2642 \new Staff = "upper" \upper
2643 \new Staff = "lower" \lower
2648 Al combinar todo esto junto y escribir la música de los tres compases
2649 del ejemplo anterior, obtenemos:
2651 @lilypond[quote,verbatim,ragged-right,addversion]
2652 global = { \key d \major \time 4/4 }
2653 sopMusic = \relative c'' {
2655 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2657 sopWords = \lyricmode {
2658 Wor -- thy is the lamb that was slain
2660 altoMusic = \relative a' {
2662 r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2664 altoWords = \sopWords
2665 tenorMusic = \relative c' {
2667 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2669 tenorWords = \sopWords
2670 bassMusic = \relative c' {
2672 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2674 bassWords = \sopWords
2675 upper = \relative a' {
2678 r4 <a d fis>2 <a e' a>4 |
2679 <d fis d'>4. <d fis d'>8 <a d a'>2 |
2680 <g cis g'>4 <a d fis> <a cis e>2 |
2682 lower = \relative c, {
2685 <d d'>4 <d d'>2 <cis cis'>4 |
2686 <b b'>4. <b' b'>8 <fis fis'>2 |
2687 <e e'>4 <d d'> <a' a'>2 |
2691 << % combine ChoirStaff and PianoStaff in parallel
2693 \new Staff = "sopranos" <<
2694 \set Staff.instrumentName = "Soprano"
2695 \new Voice = "sopranos" { \global \sopMusic }
2697 \new Lyrics \lyricsto "sopranos" { \sopWords }
2698 \new Staff = "altos" <<
2699 \set Staff.instrumentName = "Alto"
2700 \new Voice = "altos" { \global \altoMusic }
2702 \new Lyrics \lyricsto "altos" { \altoWords }
2703 \new Staff = "tenors" <<
2704 \set Staff.instrumentName = "Tenor"
2705 \new Voice = "tenors" { \global \tenorMusic }
2707 \new Lyrics \lyricsto "tenors" { \tenorWords }
2708 \new Staff = "basses" <<
2709 \set Staff.instrumentName = "Bass"
2710 \new Voice = "basses" { \global \bassMusic }
2712 \new Lyrics \lyricsto "basses" { \bassWords }
2716 \set PianoStaff.instrumentName = "Piano "
2717 \new Staff = "upper" \upper
2718 \new Staff = "lower" \lower
2725 @node Building a score from scratch
2726 @subsection Building a score from scratch
2728 @cindex plantilla, escribir su propia
2730 Después de adquirir algo de soltura en la escritura del código de
2731 LilyPond, se dará cuenta de que es más fácil construir completamente
2732 una partitura partiendo de cero, que modificar una plantilla. También
2733 puede desarrollar su propio estilo de forma que se adapte al tipo de
2734 música que le apetezca. Veamos a continuación cómo confeccionar una
2735 partitura para un preludio de órgano, como ejemplo.
2737 Comenzamos con una sección para el encabezamiento. Aquí es donde van
2738 el título, nombre del compositor, etc., después van las definiciones
2739 de las variables, y finalmente el bloque de partitura. Comencemos a
2740 verlas por encima y más tarde completaremos los detalles.
2742 Utilizaremos los dos primeros compases del preludio de Bach basado en
2743 @emph{Jesu, meine Freude}, que está escrito para órgano con dos
2744 manuales y pedal. Tiene estos dos compases de música al final de la
2745 sección. La parte del manual superior tiene dos voces, y el inferior
2746 y el pedal, una voz cada uno. Así pues, necesitamos cuatro
2747 definiciones para la música y una más para definir el compás y la
2751 \version @w{"@version{}"}
2753 title = "Jesu, meine Freude"
2754 composer = "J S Bach"
2756 TimeKey = @{ \time 4/4 \key c \minor @}
2757 MusicaManualUnoVozUno = @{s1@}
2758 MusicaManualUnoVozDos = @{s1@}
2759 MusicaManualDos = @{s1@}
2760 MusicaPedal = @{s1@}
2766 Por el momento hemos escrito tan sólo una nota espaciadora, @code{s1},
2767 en lugar de la música de verdad. La añadiremos más adelante.
2769 A continuación veamos qué va en el bloque de partitura.
2770 Sencillamente, reflejaremos la estructura de pentagramas que deseemos.
2771 La música de órgano se escribe por lo general en tres pentagramas, uno
2772 para cada uno de los manuales y otro para el pedal. Los pentagramas
2773 de los manuales se abarcan con una llave, así que los incluiremos en
2774 un grupo PianoStaff. La primera parte de manual tiene dos voces, y la
2779 \new Staff = "ManualUno" <<
2780 \new Voice @{ \MusicaManualUnoVozUno @}
2781 \new Voice @{ \MusicaManualUnoVozDos @}
2782 >> % fin del contexto de Staff ManualUno
2783 \new Staff = "ManualDos" <<
2784 \new Voice @{ \MusicaManualDos @}
2785 >> % fin del contexto de Staff ManualDos
2786 >> % fin del contexto de PianoStaff
2789 Después, tenemos que añadir un pentagrama para el órgano de pedal.
2790 Esto va por debajo del PianoStaff, pero debe ser simultáneo con él,
2791 por lo que escribimos dobles ángulos rodeando a los dos. Si esto se
2792 nos olvida, se producirá un error en el archivo log de registro. ¡Es
2793 un error muy común que cometerá antes o después! Intente copiar el
2794 ejemplo final que aparece al final de la sección, borre los dobles
2795 ángulos y procese el archivo para ver qué error produce.
2798 << % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
2800 \new Staff = "ManualUno" <<
2801 \new Voice @{ \MusicaManualUnoVozUno @}
2802 \new Voice @{ \MusicaManualUnoVozDos @}
2803 >> % fin del contexto de Staff ManualUno
2804 \new Staff = "ManualDos" <<
2805 \new Voice @{ \MusicaManualDos @}
2806 >> % fin del contexto de Staff ManualDos
2807 >> % fin del contexto de PianoStaff
2808 \new Staff = "OrganoPedal" <<
2809 \new Voice @{ \MusicaOrganoPedal @}
2814 No es necesario utilizar la construcción simultánea @code{<< >>} para
2815 el pentagrama del manual dos y el pentagrama del órgano de pedal, ya
2816 que contienen una única expresión, pero no hace daño, y es una buena
2817 costumbre utilizar siempre dobles ángulos después de @code{\new Staff}
2818 cuando hay varias voces. Lo opuesto es cierto para las voces:
2819 normalmente deben ir seguidas de llaves @code{@{ .. @}} en caso de que
2820 tengamos música codificada como distintas variables que se deben
2821 situar consecutivamente.
2823 Añadamos esta estructura al bloque de partitura, y ajustemos el
2824 sangrado de los márgenes. También escribimos las claves
2825 correspondientes, nos aseguramos de que las plicas y ligaduras de
2826 unión y de expresión en cada una de las voces del pentagrama superior
2827 apuntan en la dirección adecuada con @code{\voiceOne} y
2828 @code{\voiceTwo} y escribimos el compás y la tonalidad en cada uno de
2829 los pentagramas usando nuestra variable previamente definida
2834 << % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
2836 \new Staff = "ManualUno" <<
2837 \TimeKey % establecer compás y tonalidad
2839 \new Voice @{ \voiceOne \MusicaManualUnoVozUno @}
2840 \new Voice @{ \voiceTwo \MusicaManualUnoVozDos @}
2841 >> % fin del contexto de Staff ManualUno
2842 \new Staff = "ManualDos" <<
2845 \new Voice @{ \MusicaManualDos @}
2846 >> % fin del contexto de Staff ManualDos
2847 >> % fin del contexto de PianoStaff
2848 \new Staff = "OrganoPedal" <<
2851 \new Voice @{ \MusicaOrganoPedal @}
2852 >> % fin del pentagrama de OrganoPedal
2854 @} % end Score context
2857 Con esto se completa la estructura. Toda música para órgano de tres
2858 pentagramas tendrá una estructura similar, aunque el número de voces
2859 puede variar. Todo lo que nos queda es añadir la música, y combinar
2862 @lilypond[quote,verbatim,ragged-right,addversion]
2864 title = "Jesu, meine Freude"
2865 composer = "J S Bach"
2867 TimeKey = { \time 4/4 \key c \minor }
2868 ManualOneVoiceOneMusic = \relative g' {
2869 g4 g f ees | d2 c2 |
2871 ManualOneVoiceTwoMusic = \relative c' {
2872 ees16 d ees8~ ees16 f ees s c8 d~ d c~ |
2873 c c4 b8 c8. g16 c b c d |
2875 ManualTwoMusic = \relative c' {
2876 c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
2877 f ees f d g aes g f ees d e8~ ees16 f ees d |
2879 PedalOrganMusic = \relative c {
2880 r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
2881 r16 g ees f g f g8 c,2 |
2885 << % PianoStaff and Pedal Staff must be simultaneous
2887 \new Staff = "ManualOne" <<
2888 \TimeKey % set time signature and key
2890 \new Voice { \voiceOne \ManualOneVoiceOneMusic }
2891 \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
2892 >> % end ManualOne Staff context
2893 \new Staff = "ManualTwo" <<
2896 \new Voice { \ManualTwoMusic }
2897 >> % end ManualTwo Staff context
2898 >> % end PianoStaff context
2899 \new Staff = "PedalOrgan" <<
2902 \new Voice { \PedalOrganMusic }
2903 >> % end PedalOrgan Staff context
2905 } % end Score context