1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
4 Translation of GIT committish: 45945bd973aa9161b10e3f517902afb7ef4b4a56
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 input files work::
23 * Voices contain music::
24 * Contexts and engravers::
25 * Extending the templates::
29 @node How LilyPond input files work
30 @section How LilyPond input 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.
76 @cindex score (partitura)
80 Hasta el momento, ninguno de los ejemplos que ha podido ver utiliza la
81 instrucción @code{\score@{@}}. Esto es así a causa de que LilyPond
82 añade automáticamente las órdenes adicionales que se requieren cuando
83 le proporcionamos una entrada sencilla. LilyPond trata una entrada
93 como una abreviatura de esta otra:
110 En otras palabras, si la entrada consta de una única expresión
111 musical, LilyPond interpreta el archivo como si la expresión musical
112 estuviera rodeada por un envoltorio hecho por las instrucciones que
115 @cindex contextos implícitos
116 @cindex implícitos, contextos
118 @strong{¡Advertencia!} Muchos de los ejemplos que aparecen en la
119 documentación de LilyPond omiten las instrucciones @code{\new Staff} y
120 @code{\new Voice}, dejando que se creen de forma implícita. Esto
121 funciona bien para ejemplos sencillos, pero para ejemplos más
122 complicados, especialmente cuando se usan instrucciones adicionales,
123 la creación implícita de los contextos puede dar lugar a resultados
124 inesperados, incluso en ocasiones crear pentagramas no deseados. La
125 forma de crear contextos de forma explícita se explica en
126 @ref{Contexts and engravers}.
128 @warning{Cuando se escriben más de unas pocas líneas de música, se
129 recomienda crear siempre los pentagramas y las voces de forma
132 De todas formas, por ahora vamos a volver al primer ejemplo para
133 examinar la instrucción @code{\score}, dejando las demás en su forma
136 Un bloque @code{\score} siempre debe contener una expresión musical
137 única, que debe aparecer inmediatamente después de la instrucción
138 @code{\score}. Recuerde que una expresión musical podía ser cualquier
139 cosa entre una sola nota hasta una enorme expresión compuesta como
144 @var{...inserte aquí la partitura completa de una ópera de Wagner...}
150 Puesto que todo se encuentra dentro de @code{@{ ... @}}, cuenta como
151 una expresión musical.
153 Como vimos anteriormente, el bloque @code{\score} puede contener otras
178 Observe que estas tres instrucciones (@code{\header}, @code{\layout} y
179 @code{\midi}) son especiales: a diferencia del resto de las
180 instrucciones que comienzan con una barra invertida (@code{\}),
181 @emph{no} son expresiones musicales y no forman parte de ninguna
182 expresión musical. Por tanto, se pueden situar dentro de un bloque
183 @code{\score} o fuera de él. De hecho, estas instrucciones se sitúan
184 por lo general fuera del bloque @code{\score} (por ejemplo,
185 @code{\header} se suele colocar antes de la instrucción @code{\score},
186 como muestra el ejemplo que aparece al principio de la sección.
188 Dos instrucciones más que no hemos visto aún son @code{\layout @{ @}}
189 y @code{\midi @{ @}}. Si aparecen tal y como se muestran aquí, hacen
190 que LilyPond produzca una salida impresa y una salida MIDI,
191 respectivamente. Se describen con todo detalle en el manual de
192 Referencia de la notación, en @ruser{Score layout} y en
193 @ruser{Creating MIDI files}.
195 @cindex partituras, varias
196 @cindex book, bloque implícito
197 @cindex implícito, bloque book
201 Podemos escribir varios bloques @code{\score}. Cada uno de ellos
202 recibirá el mismo tratamiento que una partitura independiente, pero se
203 combinarán todos juntos en un archivo de salida único. No se necesita
204 ninguna instrucción @code{\book}, se creará una implícitamente. Sin
205 embargo, si quiere archivos de salida separados a partir de un único
206 archivo @code{.ly}, entonces es necesario utilizar la instrucción
207 @code{\book} para separar las distintas secciones: cada bloque
208 @code{\book} produce un archivo de salida distinto.
212 Cada bloque @code{\book} crea un archivo de salida distinto (por
213 ejemplo, un archivo PDF). Si no hemos escrito uno de forma explícita,
214 LilyPond envuelve todo nuestro código de entrada dentro de un bloque
215 @code{\book} de forma implícita.
217 Cada bloque @code{\score} es un trozo de música separado dentro de un
220 @cindex layout, efecto de la situación del bloque
222 Cada bloque @code{\layout} afecta al bloque @code{\score} o
223 @code{\book} dentro del cual aparece (es decir, un bloque
224 @code{\layout} dentro de un bloque @code{\score} afecta solamente a
225 ese bloque @code{\score}, pero un bloque @code{\layout} fuera de un
226 bloque @code{\score} (que por ello está dentro de un bloque
227 @code{\book}, ya sea explícita o implícitamente) afecta a los bloques
228 @code{\score} que están dentro de ese @code{\book}.
230 Para ver más detalles, consulte @ruser{Multiple scores in a book}.
234 Otro atajo genial es la posibilidad de definir variables. Todas las
235 plantillas emplean lo siguiente:
238 melodia = \relative c' @{
247 Cuando LilyPond examina este archivo, toma el valor de @code{melodia}
248 (todo lo que está después del signo igual) y lo inserta dondequiera
249 que ve @code{\melodia}. No se requiere un cuidado especial con los
250 nombres (puede ser @code{melodia}, @code{global},
251 @code{CompasArmadura}, @code{manoderechadelpiano} o
252 @code{fulanomengano}). Para ver más detalles, consulte @ref{Saving
253 typing with variables and functions}. Recuerde que puede usar casi
254 cualquier nombre que se le ocurra, en la medida en que contenga
255 solamente caracteres alfabéticos y sea diferente de cualquiera de los
256 nombres de instrucción de LilyPond. Las limitaciones exactas que
257 afectan a los nombres de variable se detallan en @ruser{File
262 Para ver una definición completa del formato del código de entrada,
263 consulte @ruser{File structure}.
266 @node Score is a (single) compound musical expression
267 @subsection Score is a (single) compound musical expression
271 @cindex contenido del bloque score
272 @cindex score, contenido del bloque
273 @cindex compuesta, expresión musical
274 @cindex musical, expresión, compuesta
275 @cindex expresión musical compuesta
279 En la sección anterior, @ref{Introduction to the LilyPond file
280 structure}, hemos podido ver la organización general de los archivos
281 de entrada de LilyPond. Pero parece que nos saltamos la parte más
282 importante: ¿cómo averiguamos qué escribir después de @code{\score}?
284 No nos hemos saltado nada en absoluto. El gran misterio es, sencillamente,
285 que no hay @emph{ningún} misterio. La siguiente línea lo explica
289 @emph{Un bloque @code{\score} debe comenzar con una expresión musical
294 Para comprender lo que se entiende por expresión musical y expresión
295 musical compuesta, quizá encuentre útil dar un repaso al tutorial,
296 @ref{Music expressions explained}. En esta sección vimos cómo
297 elaborar grandes expresiones musicales a partir de pequeñas piezas
298 (comenzábamos con notas, luego acordes, etc.). Ahora partiremos de
299 una gran expresión musical y recorreremos el camino inverso hacia
304 @{ % esta llave da inicio a toda la expresión musical compuesta
306 @var{...introduzca aquí la partitura completa de una ópera de Wagner...}
308 @} % esta llave da por terminada toda expresión musical completa
313 Una ópera de Wagner completa puede ser fácilmente el doble de larga
314 que este manual, por tanto vamos a hacer sólo un cantante y un piano.
315 No necesitamos un @code{StaffGroup} (que simplemente agrupa un cierto
316 número de pautas con un corchete a la izquierda) para este conjunto,
317 así que lo retiramos. Sin embargo, @emph{sí} necesitamos un cantante
323 \new Staff = "cantante" <<
325 \new PianoStaff = "piano" <<
332 Recuerde que usamos @code{<<} y @code{>>} en vez de @code{@{ ... @}}
333 para presentar música simultánea. Y, por supuesto, queremos presentar
334 las partes vocal y del piano al mismo tiempo, ¡no una después de otra!
335 Observe que la construcción @code{<< ... >>} no es realmente necesaria
336 para el pentagrama del cantante (pues contiene una sola expresión
337 musical); sin embargo, el uso de @code{<< ... >>} en lugar de llaves
338 sigue siendo necesario si la música que debe ir en el pentagrama está
339 compuesta por dos expresiones simultáneas, por ejemplo dos voces
340 simultáneas o una voz con letra. Escribiremos algo de música real más
341 tarde; por ahora limitémonos a poner algunas notas y letra de relleno.
343 @lilypond[verbatim,quote,ragged-right]
346 \new Staff = "singer" <<
347 \new Voice = "vocal" { c'1 }
350 \new PianoStaff = "piano" <<
351 \new Staff = "upper" { c'1 }
352 \new Staff = "lower" { c'1 }
359 Ahora tenemos muchos más detalles. Tenemos la pauta del cantante:
360 contiene una @code{Voice} o voz (en LilyPond, este término hace
361 referencia a un conjunto de notas, no necesariamente notas vocales --
362 por ejemplo, un violín generalmente toca una voz --) y el texto de la
363 canción. También tenemos una pauta de piano: contiene un pentagrama
364 superior (mano derecha) y un pentagrama inferior (mano izquierda).
366 En este momento podríamos comenzar a meter las notas. Dentro de las
367 llaves que siguen a @code{\new Voice = "vocal"}, podríamos empezar
376 Pero si lo hiciéramos, la sección @code{\score} se haría bastante
377 larga y sería más difícil comprender lo que ocurre. En lugar de esto
378 utilizaremos identificadores o variables. Recordará que las vimos por
379 primera vez en la sección anterior. Así pues, escribiendo algunas
380 notas, ahora tenemos un fragmento musical de verdad:
382 @lilypond[verbatim,quote,ragged-right]
383 melody = \relative c'' { r4 d8\noBeam g, c4 r }
384 text = \lyricmode { And God said, }
385 upper = \relative c'' { <g d g,>2~ <g d g,> }
386 lower = \relative c { b2 e2 }
390 \new Staff = "singer" <<
391 \new Voice = "vocal" { \melody }
394 \new PianoStaff = "piano" <<
395 \new Staff = "upper" { \upper }
396 \new Staff = "lower" {
406 Tenga cuidado con la diferencia entre las notas, que van precedidas de
407 @code{\relative} o insertadas directamente en la expresión musical, y
408 la letra, que va precedida de @code{\lyricmode}. Estas instrucciones
409 son esenciales para decirle a LilyPond que interprete el contenido que
410 viene a continuación como música y texto, respectivamente.
412 Cuando escriba una sección @code{\score} o cuando la esté leyendo,
413 hágalo despacio y con cuidado. Comience por el nivel exterior y luego
414 trabaje sobre cada uno de los niveles interiores. También es de gran
415 ayuda ser muy estricto con los márgenes (asegúrese de que en su editor
416 de texto cada elemento del mismo nivel comienza en la misma posición
421 Referencia de la notación:
422 @ruser{Structure of a score}.
425 @node Nesting music expressions
426 @subsection Nesting music expressions
428 @cindex pentagramas temporales
429 @cindex temporales, pentagramas
432 No es esencial declarar todos los pentagramas al comienzo; se pueden
433 crear temporalmente en cualquier momento. Esto es de especial
434 utilidad para crear secciones de ossia (véase @rglos{ossia}). A
435 continuación presentamos un ejemplo sencillo que muestra cómo
436 introducir temporalmente un pentagrama nuevo mientras dura un
437 fragmento de tres notas:
439 @lilypond[verbatim,quote,ragged-right]
456 Advierta que el tamaño de la clave es igual al que se imprime en un
457 cambio de clave (ligeramente menor que la clave al principio de una
458 línea). Esto es normal para cualquier clave que se imprime en la
461 @cindex pentagrama, posicionado del
463 La sección ossia se puede colocar encima del pentagrama de la manera
466 @lilypond[verbatim,quote,ragged-right]
467 \new Staff = "main" {
474 alignAboveContext = #"main" }
482 Este ejemplo utiliza @code{\with}, que se explica en todo detalle más
483 adelante. Es un medio de modificar el comportamiento predeterminado
484 de un solo pentagrama. Aquí, dice que el pentagrama nuevo se debe
485 colocar por encima del pentagrama llamado @qq{main} en vez de la
486 posición predeterminada que sería por debajo.
490 Los fragmentos de ossia se escriben a menudo sin clave y sin
491 indicación de compás, y generalmente en un tipo más pequeño. Esto
492 necesitaría más instrucciones que aún no se han visto. Véase
493 @ref{Size of objects} y @ruser{Ossia staves}.
496 @node On the un-nestedness of brackets and ties
497 @subsection On the un-nestedness of brackets and ties
499 @cindex corchetes y paréntesis, anidado de
500 @cindex corchetes y paréntesis, tipos de
501 @cindex corchetes y paréntesis, encerrar frente a marcar
502 @cindex paréntesis y corchetes, anidado de
503 @cindex paréntesis y corchetes, tipos de
504 @cindex paréntesis y corchetes, encerrar frente a marcar
506 En la escritura del archivo de entrada de LilyPond, hemos podido ver
507 algunos tipos de paréntesis, llaves o ángulos de distintos tipos.
508 Éstos obedecen a distintas reglas que al principio pueden resultar
509 confusas. Antes de explicar estas reglas, demos un repaso a las
510 distintas clases de corchetes, llaves y paréntesis.
512 @c attempt to force this onto a new page
514 @multitable @columnfractions .3 .7
515 @headitem Tipo de paréntesis
517 @item @code{@{ .. @}}
518 @tab Encierra un fragmento secuencial de música
520 @tab Encierra las notas de un acorde
521 @item @code{<< .. >>}
522 @tab Encierra expresiones musicales simultáneas
524 @tab Marca el comienzo y el final de una ligadura de expresión
525 @item @code{\( .. \)}
526 @tab Marca el comienzo y el final de una ligadura de fraseo
528 @tab Marca el comienzo y el final de un barrado manual
531 A las anteriores, debemos añadir otras construcciones que generan
532 líneas entre o a través de las notas: las ligaduras de unión (marcadas
533 con una tilde curva, @code{~}), los grupos especiales que se escriben
534 como @code{\times x/y @{..@}}, y las notas de adorno, que se escriben
535 como @code{\grace@{..@}}.
537 Fuera de LilyPond, el uso convencional de los paréntesis y otros
538 corchetes requiere que los distintos tipos se encuentren anidados
539 correctamente, como en: @code{<< [ @{ ( .. ) @} ] >>}, de manera que
540 los paréntesis que se cierran deben encontrarse en el orden
541 exactamente opuesto al de los paréntesis que se abren. Esto
542 @strong{es} un requisito para los tres tipos de paréntesis que se
543 describen mediante la palabra @q{Encierra} en la tabla anterior: se
544 deben anidar correctamente. Sin embargo, el resto de las llaves y
545 corchetes, que se encuentran descritos por la palabra @q{Marca} en la
546 misma tabla anterior, @strong{no} tienen por qué anidarse
547 estrictamente con ninguno de los otros paréntesis. De hecho, éstos no
548 son paréntesis en el sentido de que encierran algo: simplemente son
549 marcadores que indican dónde empieza o finaliza algo.
551 Así pues, por ejemplo, una ligadura de fraseo puede dar comienzo
552 antes de una barra insertada manualmente, y acabar antes de que acabe
553 la barra (algo que quizá no sea muy musical, pero es posible):
555 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
556 { g8\( a b[ c b\) a] }
559 En general, los distintos tipos de corchete, y los implicados en
560 grupos especiales, ligaduras de unión y notas de adorno, se pueden
561 mezclar con total libertad. Este ejemplo muestra una barra que se
562 extiende hacia el interior de un grupo de valoración especial (línea
563 1), una ligadura de expresión que se prolonga hasta el interior de un
564 grupo especial (línea 2), una barra y una ligadura de expresión que se
565 prolongan hasta el interior de un grupo especial, una ligadura de
566 unión que atraviesa dos grupos especiales, y una ligadura de fraseo
567 que sale del interior de un grupo especial (líneas 3 y 4).
569 @lilypond[quote,verbatim,fragment,ragged-right]
571 r16[ g16 \times 2/3 {r16 e'8] }
572 g16( a \times 2/3 {b d) e' }
573 g8[( a \times 2/3 {b d') e'~]}
574 \times 4/5 {e'32\( a b d' e'} a'4.\)
579 @node Voices contain music
580 @section Voices contain music
582 Igual que los cantantes, LilyPond necesita voces para cantar. En
583 realidad, la música para cualquier instrumento de una partitura está
584 siempre contenida dentro de una voz --el concepto de LilyPond más
585 fundamental de todos--.
588 * I'm hearing Voices::
589 * Explicitly instantiating voices::
590 * Voices and vocals::
593 @node I'm hearing Voices
594 @subsection I'm hearing Voices
599 @cindex voces, varias
600 @cindex Voice (voz), contexto de
601 @cindex contexto Voice (de voz)
602 @cindex simultánea, música
603 @cindex concurrente, música
604 @cindex voces frente a acordes
605 @cindex acordes frente a voces
607 De las capas más profundas de una partitura de LilyPond, las más bajas
608 y más fundamentales reciben el nombre de @q{Voice contexts}
609 («contextos de voz») o, abreviadamente, @q{Voices} («voces»). Las
610 voces reciben a veces el nombre de @q{layers} («capas») en otros
611 programas de edición de partituras.
613 De hecho, una capa o contexto de voz es la única que puede contener
614 música. Si un contexto de voz no se declara explícitamente, se crea
615 uno de forma automática, como vimos al comienzo de este capítulo.
616 Ciertos instrumentos como el oboe solamente pueden tocar una nota cada
617 vez. La música escrita para estos instrumentos es monofónica y
618 solamente requiere una voz única. Los instrumentos que pueden tocar
619 más de una nota a la vez, como el piano, con frecuencia necesitarán
620 varias voces para codificar las distintas notas y ritmos concurrentes
621 que son capaces de tocar.
623 Una sola voz puede contener muchas notas dentro de un acorde, por
624 supuesto; entonces ¿cuándo, exactamente, se necesitan varias voces?
625 En primer lugar observe este ejemplo de cuatro acordes:
627 @lilypond[quote,verbatim,fragment,ragged-right,relative=1]
629 <d g>4 <d fis> <d a'> <d g>
632 Esto se puede expresar utilizando sólo símbolos de acorde con ángulos
633 simples, @code{< ... >}, y para este propósito tan sólo se necesita
634 una voz. Pero suponga que el Fa sostenido fuese realmente una corchea
635 seguida de un Sol corchea, una nota de paso que conduce al La. Ahora
636 tenemos dos notas que empiezan en el mismo momento pero tienen
637 distintas duraciones: la negra Re, y la corchea Fa sostenido. ¿Cómo se
638 codifica esto? No se pueden escribir como un acorde porque todas las
639 notas de un acorde deben tener la misma duración. Y no se pueden
640 escribir como dos notas en secuencia porque tienen que empezar en el
641 mismo momento. Aquí es donde se necesitan dos voces.
643 Veamos cómo se hace esto dentro de la sintaxis de entrada de LilyPond.
648 La forma más fácil de introducir fragmentos con más de una voz en un
649 solo pentagrama es escribir cada voz como una secuencia (con
650 @code{@{...@}}), y combinarlas simultáneamente con ángulos dobles,
651 @code{<<...>>}. Los fragmentos también se deben separar mediante una
652 doble barra invertida, @code{\\}, para situarlos en voces separadas.
653 Sin esto, las notas irían a una sola voz, lo que normalmente produce
654 errores. Esta técnica se adapta especialmente bien a piezas de música
655 que son mayormente monofónicas pero ocasionalmente tienen cortas
656 secciones de polifonía.
658 He aquí cómo dividimos los acordes anteriores en dos voces y añadimos
659 la nota de paso y la ligadura:
661 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
663 % Voice "1" Voice "2"
664 << { g4 fis8( g) a4 g } \\ { d4 d d d } >> |
667 Observe cómo las plicas de la segunda voz ahora se dirigen hacia
670 A continuación veamos otro ejemplo sencillo:
672 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
674 % Voice "1" Voice "2"
675 << { r4 g g4. a8 } \\ { d,2 d4 g } >> |
676 << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
677 << { a2. r4 } \\ { fis2. s4 } >> |
680 No es necesario usar una construcción @code{<< \\ >>} distinta para
681 cada compás. Para música que tenga unas pocas notas en cada compás,
682 esta disposición podría facilitar la legibilidad del código, pero si
683 hay muchas notas en cada compás podría ser mejor dividirlo en dos
684 voces separadas, de la siguiente manera:
686 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
701 @cindex voces, nombrado de
702 @cindex voces que cruzan corchetes
703 @cindex ligaduras que cruzan corchetes
705 Este ejemplo tiene sólo dos voces, pero la misma construcción se puede
706 usar para codificar tres o más voces mediante la adición de más
707 separadores de barra invertida.
709 Los contextos de voz llevan los nombres de @code{"1"}, @code{"2"},
710 etc. En cada uno de estos contextos, la dirección vertical de las
711 ligaduras, plicas, matices dinámicos, etc., se ajusta de la forma
714 @lilypond[quote,verbatim,fragment]
715 \new Staff \relative c' {
718 % Voice "1" Voice "2" Voice "3"
719 << { g4 f e } \\ { r8 e4 d c8 ~ } >> |
720 << { d2 e2 } \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> |
724 Todas estas voces están separadas de la voz principal que contiene las
725 notas justo por fuera de la construcción @code{<< .. >>}. Le
726 llamaremos a esto la @emph{construcción simultánea}. Las ligaduras
727 (de prolongación y de expresión) solamente pueden conectar notas que
728 estén dentro de la misma voz, luego las ligaduras no pueden entrar o
729 salir de una construcción simultánea. A la inversa, las voces
730 paralelas de construcciones simultáneas distintas sobre el mismo
731 pentagrama, son la misma voz. Otras propiedades relativas a las voces
732 también conllevan construcciones simultáneas. A continuación vemos el
733 mismo ejemplo, con colores y cabezas distintos para cada voz. Observe
734 que los cambios en una voz no afectan a otras voces, pero persisten
735 más tarde dentro de la misma voz. Observe también que las notas
736 ligadas se pueden dividir entre las mismas voces de dos
737 construcciones, como se indica aquí en la voz de triángulos azules.
739 @lilypond[quote,verbatim]
740 \new Staff \relative c' {
759 { c8 b16 a b8 g ~ g2 }
769 @funindex \voiceOneStyle
770 @funindex \voiceTwoStyle
771 @funindex \voiceThreeStyle
772 @funindex \voiceFourStyle
773 @funindex \voiceNeutralStyle
775 Las instrucciones @code{\voiceXXXStyle} están pensadas principalmente
776 para usarlas en documentos educativos como este mismo. Modifican el
777 color de la cabeza, la plica y las barras, y el estilo de la cabeza,
778 de forma que las voces se puedan distinguir fácilmente. La voz uno
779 está establecida a rombos rojos, la voz dos a triángulos azules, la
780 voz tres a círculos verdes con aspas, y la voz cuatro (que no se
781 utiliza aquí) a aspas color magenta. @code{\voiceNeutralStyle} (que
782 tampoco se usa aquí) devuelve todo al estilo predeterminado. Veremos
783 más adelante cómo el usuario puede crear instrucciones como éstas.
784 Véase @ref{Visibility and color of objects} y @ref{Using variables for
787 @cindex polifonía y modo relativo
788 @cindex relativo, modo, polifonía y
790 La polifonía no cambia la relación de las notas dentro de un bloque
791 @code{\relative @{ @}}. La altura de cada nota aún se calcula con
792 relación a la nota que le precede inmediatamente, o a la primera nota
793 del acorde precedente. Así, en
796 \relative c' @{ notaA << < notaB notaC > \\ notaD >> notaE @}
800 @code{notaB} es relativa a @code{notaA} @*
801 @code{notaC} es relativa a @code{notaB}, no a @code{notaA}; @*
802 @code{notaD} es relativa a @code{notaB}, no a @code{notaA} ni a
804 @code{notaE} es relativa a @code{notaD}, no a @code{notaA}.
806 Una forma alternativa, que podría ser más clara si las notas en las
807 voces están muy separadas, es colocar una instrucción @code{\relative}
808 al principio de cada voz:
811 \relative c' @{ notaA ... @}
813 \relative c'' @{ < notaB notaC > ... @}
815 \relative g' @{ notaD ... @}
817 \relative c' @{ notaE ... @}
820 Finalmente, analicemos las voces en una pieza de música más compleja.
821 He aquí las notas de los dos primeros compases del segundo de los Dos
822 Nocturnos de Chopin, Op 32. Este ejemplo se utilizará en fases
823 posteriores dentro del presente capítulo y el siguiente, para ilustrar
824 varias técnicas para producir notación, y por tanto le pedimos que
825 ignore por ahora cualquier cosa en el código subyacente que le parezca
826 misterioso y tan sólo se concentre en la música y las voces (todas
827 las complicaciones se explicarán en secciones posteriores).
829 @c The following should appear as music without code
830 @lilypond[quote,ragged-right]
831 \new Staff \relative c'' {
840 % Ignore these for now - they are explained in Ch 4
841 \once \override NoteColumn #'force-hshift = #0
843 \once \override NoteColumn #'force-hshift = #0.5
851 Con frecuencia, la dirección de las plicas se utiliza para indicar la
852 continuidad de dos líneas melódicas simultáneas. Aquí, todas las
853 plicas de las notas agudas se dirigen hacia arriba y las de las notas
854 graves hacia abajo. Ésta es la primera indicación de que se requiere
857 Pero la necesidad real de varias voces aflora cuando hay notas que
858 comienzan en el mismo tiempo pero tienen distintas duraciones.
859 Observe las notas que comienzan en la tercera parte del primer compás.
860 El La bemol es una negra con puntillo, el Fa es una negra y el Re
861 bemol es una blanca. Estas notas no se pueden escribir como un acorde
862 porque todas las notas de un acorde deben tener la misma duración.
863 Tampoco se pueden escribir como notas secuenciales, pues deben
864 comenzar al mismo tiempo. Esta sección del compás requiere tres
865 voces, y la práctica común sería escribir todo el compás como tres
866 voces como se muestra abajo, donde hemos usado distintas cabezas y
867 colores para las tres voces. Una vez más, el código que subyace a
868 este ejemplo se explicará más tarde, así pues ignore todo lo que no
871 @c The following should appear as music without code
872 @c The three voice styles should be defined in -init
873 @lilypond[quote,ragged-right]
874 \new Staff \relative c'' {
885 \\ % No Voice three (we want stems down)
888 % Ignore these for now - they are explained in Ch 4
889 \once \override NoteColumn #'force-hshift = #0
891 \once \override NoteColumn #'force-hshift = #0.5
900 Vamos a intentar codificar esta música partiendo de cero. Como
901 veremos, esto se topa con ciertas dificultades. Comenzamos tal y como
902 hemos aprendido, usando la construcción @code{<< \\ >>} para
903 introducir la música del primer compás en tres voces:
905 @lilypond[quote,verbatim,fragment,ragged-right]
906 \new Staff \relative c'' {
909 { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 }
916 @cindex voces y dirección de las plicas
917 @cindex plicas, voces y dirección de las
920 Las direcciones de las plicas se asignan automáticamente de forma que
921 las voces de numeración impar reciben las plicas hacia arriba y las de
922 numeración par hacia abajo. Las plicas de las voces 1 y 2 están
923 correctas, pero las plicas de la voz 3 debería ir hacia abajo en este
924 fragmento en particular. Podemos corregir esto simplemente
925 olvidándonos de la voz tres y situando la música en la voz cuatro.
926 Esto se hace escribiendo otro par de barras invertidas (@code{\\}).
928 @lilypond[quote,verbatim,fragment,ragged-right]
929 \new Staff \relative c'' {
935 \\ % Omit Voice three
944 Vemos que esto arregla la dirección de la plica, pero presenta un
945 problema que se encuentra a veces con varias voces: las plicas de las
946 notas en una voz pueden colisionar con las cabezas de otras voces. Al
947 disponer las notas, LilyPond permite que las notas o acordes de dos
948 voces ocupen la misma columna vertical de notas teniendo en cuenta que
949 las plicas están en direcciones opuestas, pero las notas de la tercera
950 y cuarta voces se desplazan si es necesario para evitar la colisión
951 entre las cabezas. Esto funciona bien por lo general, pero en este
952 ejemplo claramente las notas de la voz inferior no están bien
953 colocadas de forma predeterminada. LilyPond proporciona diversas
954 maneras de ajustar la colocación horizontal de las notas. Aún no
955 estamos preparados para ver cómo corregir esto, así que dejaremos este
956 problema aparcado hasta una sección posterior (véase la propiedad
957 @code{force-hshift} en @ref{Fixing overlapping notation}).
961 Referencia de la notación:
962 @ruser{Multiple voices}.
965 @node Explicitly instantiating voices
966 @subsection Explicitly instantiating voices
973 @funindex \voiceThree
980 @cindex contextos de voz, creación de
982 Los contextos de voz también se pueden crear manualmente dentro de un
983 bloque @code{<< >>} para crear música polifónica, utilizando
984 @code{\voiceOne} ... @code{\voiceFour} para indicar las direcciones
985 requeridas de plicas, ligaduras, etc. En partituras más largas, este
986 método es más claro porque permite que las voces estén separadas y
987 reciban nombres más descriptivos.
989 Concretamente, la construcción @code{<< \\ >>} que usamos en la
995 << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
1005 \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
1006 \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
1010 Los dos ejemplos anteriores producen:
1012 @c The following example should not display the code
1013 @lilypond[ragged-right,quote]
1015 \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
1016 \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
1020 @cindex voces, retorno a única
1021 @cindex retorno a voz única
1023 Las instrucciones @code{\voiceXXX} establecen la dirección de las
1024 plicas, ligaduras de expresión, ligaduras de prolongación,
1025 articulaciones, anotaciones de texto, puntillos y digitaciones.
1026 @code{\voiceOne} y @code{\voiceThree} hacen que estos objetos apunten
1027 hacia arriba, mientras que @code{\voiceTwo} y @code{\voiceFour} los
1028 hacen apuntar hacia abajo. Estas instrucciones también producen un
1029 desplazamiento horizontal para cada voz cuando es necesario para
1030 evitar choques entre las cabezas. La instrucción @code{\oneVoice}
1031 devuelve los ajustes de nuevo a los valores normales para una sola
1034 Veamos en algunos ejemplos sencillos exactamente qué efecto tienen
1035 @code{\oneVoice}, @code{\voiceOne} y @code{voiceTwo} sobre el marcado,
1036 las ligaduras de unión y de expresión y las indicaciones de dinámica:
1038 @lilypond[quote,ragged-right,verbatim]
1040 % Default behavior or behavior after \oneVoice
1041 c d8 ~ d e4 ( f g a ) b-> c
1045 @lilypond[quote,ragged-right,verbatim]
1048 c d8 ~ d e4 ( f g a ) b-> c
1050 c, d8 ~ d e4 ( f g a ) b-> c
1054 @lilypond[quote,ragged-right,verbatim]
1057 c d8 ~ d e4 ( f g a ) b-> c
1059 c, d8 ~ d e4 ( f g a ) b-> c
1063 A continuación veremos tres formas distintas de componer la notación
1064 del mismo pasaje polifónico, cada una de las cuales tiene sus ventajas
1065 según la circunstancia, utilizando el ejemplo de la sección anterior.
1067 Una expresión que aparece directamente dentro de @code{<< >>}
1068 pertenece a la voz principal (pero, observe, @strong{no} dentro de una
1069 construcción @code{<< \\ >>}). Esto es útil cuando aparecen voces
1070 nuevas mientras la voz principal está sonando. A continuación podemos
1071 ver una realización más correcta del ejemplo de la sección anterior.
1072 Las notas rojas en forma de rombo muestran que la melodía principal
1073 está ahora dentro de un contexto de una sola voz, haciendo que se
1074 pueda trazar una ligadura por encima de ellas.
1076 @lilypond[quote,ragged-right,verbatim]
1077 \new Staff \relative c' {
1079 % The following notes are monophonic
1081 % Start simultaneous section of three voices
1083 % Continue the main voice in parallel
1085 % Initiate second voice
1087 % Set stems, etc, down
1089 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
1091 % Initiate third voice
1093 % Set stems, etc, up
1101 @cindex anidado de expresiones musicales
1102 @cindex anidado de construcciones simultáneas
1103 @cindex anidado de voces
1104 @cindex voces temporales
1105 @cindex voces, anidado de
1107 Son posibles construcciones polifónicas anidadas más profundamente, y
1108 si una voz aparece sólo brevemente podría haber una forma más natural
1109 de tipografiar la música.
1111 @lilypond[quote,ragged-right,verbatim]
1112 \new Staff \relative c' {
1120 {c8 b16 a b8 g ~ g2}
1131 @cindex espaciadoras, notas
1133 Este método de anidar voces nuevas brevemente es útil cuando sólo hay
1134 secciones polifónicas pequeñas, pero cuando todo el pentagrama es muy
1135 polifónico podría ser más claro usar varias voces todo el tiempo,
1136 usando notas espaciadoras para pasar por encima de las secciones en
1137 que una voz está en silencio, como aquí:
1139 @lilypond[quote,ragged-right,verbatim]
1140 \new Staff \relative c' <<
1141 % Initiate first voice
1144 c16^( d e f g4 f e | d2 e2) |
1146 % Initiate second voice
1148 % Set stems, etc, down
1150 s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 |
1152 % Initiate third voice
1154 % Set stems, etc, up
1161 @subsubheading Note columns
1163 @cindex columna de notas
1164 @cindex colisiones de notas
1165 @cindex notas, colisiones de
1166 @cindex desplazamiento, instrucciones de
1173 @funindex \shiftOnnn
1176 Las notas cercanas de un acorde, o las notas que se producen al mismo
1177 tiempo en distintas voces, se disponen en dos (y ocasionalmente más)
1178 columnas para evitar el solapamiento de las cabezas. Reciben el
1179 nombre de columnas de notas. Hay columnas distintas para cada voz, y
1180 el desplazamiento especificado en curso dependiente de la voz se
1181 aplica a la columna de la nota si en caso contrario se produjese una
1182 colisión. Esto se puede ver en el ejemplo anterior. En el compás 2 el
1183 Do en la voz dos está desplazado a la derecha respecto del Re de la
1184 voz uno, y en el último acorde el Do de la voz tres también está
1185 desplazado a la derecha respecto de las otras notas.
1187 Las instrucciones @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}
1188 y @code{\shiftOff} especifican el grado en que se deben desplazar las
1189 notas y acordes de la voz si en caso contrario ocurriese una
1190 colisión. De forma predeterminada, las voces exteriores (normalmente
1191 las voces uno y dos) llevan especificado @code{\shiftOff}, mientras
1192 que las voces interiores (tres y cuatro) tienen @code{\shiftOn}
1193 especificado. Cuando se aplica un desplazamiento, las voces uno y
1194 tres se desplazan hacia la derecha y las voces dos y cuatro se
1195 desplazan hacia la izquierda.
1197 @code{\shiftOnn} y @code{\shiftOnnn} definen niveles adicionales de
1198 desplazamiento que se pueden especificar temporalmente para resolver
1199 colisiones en situaciones complejas (véase @ref{Real music example}).
1201 Una columna de notas puede contener sólo una nota (o acorde) de una
1202 voz con las plicas hacia arriba y una not (o acorde) de una voz con
1203 las plicas hacia abajo. Si las notas de dos voces que tienen las
1204 plicas en la misma dirección se sitúan en la misma posición y las dos
1205 voces no tienen ningún desplazamiento o llevan especificado el mismo
1206 desplazamiento, se producirá el mensaje de error @qq{Chocan demasiadas
1211 Referencia de la notación:
1212 @ruser{Multiple voices}.
1215 @node Voices and vocals
1216 @subsection Voices and vocals
1219 La música vocal presenta una dificultad especial: tenemos que combinar
1220 dos expresiones, a saber, las notas y la letra.
1222 @funindex \new Lyrics
1226 @cindex Lyrics, creación de un contexto
1227 @cindex letra, creación de un contexto de
1228 @cindex letra, enlazar con una voz
1230 Ya ha visto la instrucción @code{\addlyrics@{@}}, que maneja bien
1231 partituras sencillas. Sin embargo esta técnica es algo limitada.
1232 Para música de mayor complejidad, tenemos que introducir la letra en
1233 un contexto @code{Lyrics} utilizando @code{\new Lyrics} y enlazar
1234 explícitamente la letra y las notas mediante @code{\lyricsto@{@}},
1235 usando el nombre asignado a la voz.
1237 @lilypond[quote,verbatim,fragment]
1239 \new Voice = "one" \relative c'' {
1242 c4 b8. a16 g4. f8 e4 d c2
1244 \new Lyrics \lyricsto "one" {
1245 No more let sins and sor -- rows grow.
1250 Observe que la letra se debe enlazar a un contexto de @code{Voice},
1251 @emph{no} a un contexto de @code{Staff}. Este es un caso en que es
1252 necesario crear contextos de @code{Staff} y de @code{Voice}
1255 @cindex letra y barrado
1256 @cindex barrado y letra
1257 @funindex \autoBeamOff
1258 @funindex autoBeamOff
1260 El barrado automático que LilyPond usa de forma predeterminada
1261 funciona bien para la música instrumental, pero no tan bien para
1262 música con letra, donde o bien el barrado no se necesita en absoluto,
1263 o bien se utiliza para indicar los melismas de la letra. En el
1264 ejemplo anterior hemos utilizado la instrucción @code{\autoBeamOff}
1265 para desactivar el barrado automático.
1267 @funindex \new ChoirStaff
1268 @funindex ChoirStaff
1269 @funindex \lyricmode
1271 @cindex vocal, estructura de una partitura
1272 @cindex coro, sistema de
1274 Ahora vamos a reutilizar el ejemplo anterior de «Judas Macabeo» para
1275 ilustrar esta técnica más flexible. Primero la reescribiremos para
1276 que use variables, de manera que la música y la letra se puedan
1277 separar de la estructura de pentagramas. También introduciremos una
1278 llave de grupo de ChoirStaff. La letra en sí se debe introducir con
1279 @code{\lyricmode} para estar seguros de que se interpreta como letra y
1282 @lilypond[quote,verbatim]
1283 global = { \time 6/8 \partial 8 \key f \major}
1284 SopOneMusic = \relative c'' {
1285 c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 }
1286 SopTwoMusic = \relative c' {
1287 r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' }
1288 SopOneLyrics = \lyricmode {
1289 Let | flee -- cy flocks the | hills a -- dorn, __ }
1290 SopTwoLyrics = \lyricmode {
1291 Let | flee -- cy flocks the | hills a -- dorn, }
1296 \new Voice = "SopOne" {
1300 \new Lyrics \lyricsto "SopOne" {
1305 \new Voice = "SopTwo" {
1309 \new Lyrics \lyricsto "SopTwo" {
1317 Ésta es la estructura básica de todas las partituras vocales. Se
1318 pueden añadir más pentagramas según se necesite, se pueden añadir más
1319 voces a los pentagramas y más estrofas a la letra, y las variables que
1320 contienen la música se pueden colocar fácilmente en archivos separados
1321 cuando se hagan demasiado largos.
1323 @cindex himno, estructura de
1324 @cindex SATB, estructura de
1325 @cindex vocal, partitura, varias estrofas
1326 @cindex varias estrofas vocales
1327 @cindex estrofas, varias, vocales
1329 A continuación podemos ver un ejemplo final de la primera línea de un
1330 himno con cuatro estrofas, para coro SATB. En este caso la letra de
1331 las cuatro partes es la misma. Observe cómo utilizamos variables para
1332 separar la notación musical de la estructura de pentagramas. Observe
1333 también cómo se utiliza una variable, para la que hemos elegido el
1334 nombre @q{TimeKey} («compás y tonalidad»), para que contenga varias
1335 instrucciones que se usarán dentro de los dos pentagramas. En otros
1336 ejemplos se le suele dar el nombre de @q{global}.
1340 @lilypond[quote,verbatim]
1341 TimeKey = { \time 4/4 \partial 4 \key c \major}
1342 SopMusic = \relative c' { c4 | e4. e8 g4 g | a a g }
1343 AltoMusic = \relative c' { c4 | c4. c8 e4 e | f f e }
1344 TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
1345 BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
1346 VerseOne = \lyricmode {
1347 E -- | ter -- nal fa -- ther, | strong to save, }
1348 VerseTwo = \lyricmode {
1349 O | Christ, whose voice the | wa -- ters heard, }
1350 VerseThree = \lyricmode {
1351 O | Ho -- ly Spi -- rit, | who didst brood }
1352 VerseFour = \lyricmode {
1353 O | Tri -- ni -- ty of | love and pow'r }
1359 \new Voice = "Sop" { \voiceOne \TimeKey \SopMusic }
1360 \new Voice = "Alto" { \voiceTwo \AltoMusic }
1361 \new Lyrics \lyricsto "Sop" { \VerseOne }
1362 \new Lyrics \lyricsto "Sop" { \VerseTwo }
1363 \new Lyrics \lyricsto "Sop" { \VerseThree }
1364 \new Lyrics \lyricsto "Sop" { \VerseFour }
1368 \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic }
1369 \new Voice = "Bass" { \voiceTwo \BassMusic }
1375 @cindex estrofa y estribillo
1377 Finalizamos con un ejemplo que muestra cómo podemos codificar una
1378 estrofa para solista seguida de un estribillo en dos partes sobre dos
1379 pentagramas. El posicionado de las secciones secuencial y simultánea
1380 para conseguirlo dentro de una sola partitura es un poco enrevesado,
1381 por tanto siga esta explicación con todo cuidado.
1383 Comenzamos el ejemplo con un bloque de partitura que contiene un
1384 @code{ChoirStaff}, pues queremos que aparezca un corchete al comienzo
1385 de la parte de coro. Normalmente necesitaríamos dobles ángulos
1386 después de @code{\new ChoirStaff} para meter dentro todos los
1387 pentagramas en paralelo, pero aquí queremos posponer el paralelismo
1388 mientras dura el solo y por ello usaremos llaves, aunque aquí unos
1389 ángulos dobles no harían daño. Dentro del @code{ChoirStaff} queremos
1390 en primer lugar el pentagrama que va a contener la estrofa. Debe
1391 contener notas y letra en paralelo, así que necesitamos dobles ángulos
1392 encerrando el @code{\new Voice} y el @code{\new Lyrics} para que den
1393 comienzo al mismo tiempo:
1395 @lilypond[quote,verbatim,ragged-right]
1396 versenotes = \relative c'' {
1399 \time 3/4 g g g b b b
1401 versewords = \lyricmode {
1402 One two three four five six
1407 \new Voice = "verse" {
1410 \new Lyrics \lyricsto verse {
1418 Con esto tenemos la línea de la estrofa.
1420 Ahora deseamos continuar con estribilloA (la primera parte del
1421 estribillo) sobre el mismo pentagrama, mientras un segundo pentagrama
1422 aparece en paralelo con él para estribilloB (estribillo, segunda parte),
1423 por lo que ésta es una sección paralela que se debe situar
1424 inmediatamente a continuación del salto de línea @code{\break} en la
1425 voz de la estrofa. ¡Sí, @emph{dentro} de la voz de la estrofa! He
1426 aquí dicha sección paralela. Se podrían introducir más pentagramas de
1432 \new Lyrics \lyricsto estrofa @{
1436 \new Voice = "estribilloB" @{
1439 \new Lyrics \lyricsto "estribilloB" @{
1446 Aquí tenemos el resultado final con dos pentagramas en el estribillo
1447 mostrando cómo la sección paralela se posiciona dentro de la voz de la
1450 @lilypond[quote,verbatim, ragged-right]
1451 versenotes = \relative c'' {
1454 \time 3/4 g g g b b b
1456 refrainnotesA = \relative c'' {
1460 refrainnotesB = \relative c {
1465 versewords = \lyricmode {
1466 One two three four five six
1468 refrainwordsA = \lyricmode {
1471 refrainwordsB = \lyricmode {
1477 \new Voice = "verse" {
1481 \new Lyrics \lyricsto "verse" {
1485 \new Voice = "refrainB" {
1488 \new Lyrics \lyricsto "refrainB" {
1494 \new Lyrics \lyricsto "verse" {
1503 @cindex book, ejemplo de su uso
1507 Sin embargo, y aunque esto es un interesante y útil ejercicio
1508 destinado a ayudarle a comprender cómo funcionan los bloques
1509 secuenciales y simultáneos, en la práctica quizá nos decidiríamos por
1510 codificarlo como dos bloques @code{\score} dentro de un bloque
1511 @code{\book} implícito, como sigue:
1513 @lilypond[quote,verbatim,ragged-right]
1514 versenotes = \relative c'' {
1517 \time 3/4 g g g b b b
1519 refrainnotesA = \relative c'' {
1523 refrainnotesB = \relative c {
1528 versewords = \lyricmode {
1529 One two three four five six
1531 refrainwordsA = \lyricmode {
1534 refrainwordsB = \lyricmode {
1539 \new Voice = "verse" {
1542 \new Lyrics \lyricsto "verse" {
1551 \new Voice = "refrainA" {
1554 \new Lyrics \lyricsto "refrainA" {
1559 \new Voice = "refrainB" {
1562 \new Lyrics \lyricsto "refrainB" {
1572 Referencia de la notación:
1573 @ruser{Vocal music}.
1576 @node Contexts and engravers
1577 @section Contexts and engravers
1579 Los contextos y grabadores se han mencionado de manera informal en
1580 secciones anteriores; ahora tan sólo vamos a ver estos conceptos con
1581 más detalle, pues son importantes en el ajuste fino de la salida de
1585 * Contexts explained::
1586 * Creating contexts::
1587 * Engravers explained::
1588 * Modifying context properties::
1589 * Adding and removing engravers::
1592 @node Contexts explained
1593 @subsection Contexts explained
1595 @cindex contextos, explicación de los
1597 Cuando se imprime la música, se tienen que añadir a la salida una gran
1598 cantidad de elementos notacionales que no aparecen explícitamente en
1599 el archivo de entrada. Por ejemplo, compare la entrada y la salida
1600 del siguiente ejemplo:
1602 @lilypond[quote,verbatim,relative=2,fragment]
1606 La entrada es bastante escueta, pero en la salida se han añadido las
1607 líneas divisorias, las alteraciones, la clave y la armadura de la
1608 tonalidad. Cuando LilyPond @emph{interpreta} la entrada, la
1609 información musical se analiza de izquierda a derecha de igual forma
1610 que un intérprete lee la partitura. Mientras se lee el código de
1611 entrada, el programa recuerda dónde están los límites de los compases,
1612 y qué alturas requieren altereaciones accidentales explícitas. Esta
1613 información se debe conservar a varios niveles. Por ejemplo, una
1614 alteración accidental afecta solamente a un pentagrama, mientras que
1615 una línea divisoria debe estar sincronizada a lo largo de todo el
1618 Dentro de LilyPond, estas reglas y pequeñas porciones de información
1619 se agrupan en @emph{Contexts}. Ya hemos visto el contexto de voz,
1620 @code{Voice}. Otros ejemplos de contextos son @code{Staff} (Pauta o
1621 pentagrama) y @code{Score} (Partitura). Los contextos son
1622 jerárquicos, de forma que reflejan la naturaleza jerárquica de una
1623 partitura musical. Por ejemplo: un contexto de @code{Staff} contener
1624 muchos contextos de @code{Voice}, y un contexto de @code{Score} puede
1625 contener muchos contextos de @code{Staff}.
1628 @sourceimage{context-example,5cm,,}
1631 Cada contexto asume la responsabilidad de imponer algunas reglas de
1632 notación, creando ciertos objetos de notación y manteniendo las
1633 propiedades asociadas. Por ejemplo, el contexto @code{Voice} puede
1634 introducir una alteración accidental y entonces el contexto
1635 @code{Staff} mantiene la regla de mostrar o suprimir la alteración
1636 para el resto del compás.
1638 Otro ejemplo lo constituye el hecho de que la sincronización de las
1639 líneas divisorias se gestiona dentro del contexto de la partitura,
1640 @code{Score}, de forma predeterminada. Sin embargo, en algunas
1641 músicas posiblemente no queramos que las líneas divisorias estén
1642 sincronizadas (pensemos en una partitura polimétrica en compases de
1643 4/4 y de 3/4). En tales casos, debemos modificar los ajustes por
1644 omisión de los contextos @code{Score} y @code{Staff}.
1646 Para partituras muy sencillas, los contextos se crean implícitamente y
1647 no debemos preocuparnos por ellos. Para piezas mayores, como por
1648 ejemplo cualquiera que tenga más de un pentagrama, los contextos se
1649 deben crear explícitamente para asegurarnos de que tendremos la
1650 cantidad exacta de pentagramas que necesitamos, y que están en el
1651 orden correcto. Para tipografiar piezas con notación especializada,
1652 es frecuente la modificación de contextos existentes o incluso definir
1653 unos completamente nuevos.
1656 Además de los contextos @code{Score,} @code{Staff} y @code{Voice}, hay
1657 contextos que se sitúan entre los niveles de partitura y de pentagrama
1658 para controlar los grupos de pentagramas, como los contextos
1659 @code{PianoStaff} y @code{ChoirStaff}. También existen contextos
1660 alternativos de pentagrama y de voz, y contextos para la letra, la
1661 percusión, diagramas de trastes, bajo cifrado, etc.
1663 Los nombres de todos los tipos de contextos se componen de una o más
1664 palabras que comienzan con mayúscula y que están unidas unas a otras
1665 sin guión ni barra baja, por ejemplo:
1666 @code{GregorianTranscriptionStaff}.
1670 Referencia de la notación:
1671 @ruser{Contexts explained}.
1674 @node Creating contexts
1675 @subsection Creating contexts
1679 @cindex nuevos contextos
1680 @cindex creación de contextos
1681 @cindex contextos, creación de
1683 Sólo puede haber un contexto en el nivel más alto: el contexto de
1684 partitura @code{Score}. Se crea con la instrucción @code{\score} o,
1685 en partituras sencillas, se crea automáticamente.
1687 Para partituras que solamente tienen una voz y un pentagrama, podemos
1688 dejar que los contextos @code{Voice} y @code{Staff} se creen
1689 automáticamente, pero para partituras más complejas es necesario
1690 crearlos a mano. La instrucción más simple que hace esto es
1691 @code{\new}. Se antepone a una expresión musical, por ejemplo
1694 \new @var{tipo} @var{expresión_musical}
1698 donde @var{tipo} es el nombre de un contexto (como @code{Staff} o
1699 @code{Voice}). Esta instrucción crea un contexto nuevo, y comienza a
1700 interpretar la @var{expresión_musical} que está dentro de ese
1703 Observe que no hay ninguna instrucción @code{\new Score}; el contexto
1704 @code{Score} único en el nivel más alto se introduce con
1708 En las secciones anteriores ha podido ver muchos ejemplos prácticos que
1709 creaban nuevos contextos de @code{Staff} y de @code{Voice}, pero para
1710 recordarle cómo se emplean estas instrucciones en la práctica, he aquí
1711 un ejemplo anotado de música real:
1713 @lilypond[quote,verbatim,ragged-right]
1714 \score { % start of single compound music expression
1715 << % start of simultaneous staves section
1717 \new Staff { % create RH staff
1720 \new Voice { % create voice for RH notes
1721 \relative c'' { % start of RH notes
1727 \new Staff << % create LH staff; needs two simultaneous voices
1730 \new Voice { % create LH voice one
1732 \relative g { % start of LH voice one notes
1733 g8 <bes d> ees, <g c> |
1734 g8 <bes d> ees, <g c> |
1735 } % end of LH voice one notes
1736 } % end of LH voice one
1737 \new Voice { % create LH voice two
1739 \relative g { % start of LH voice two notes
1742 } % end of LH voice two notes
1743 } % end of LH voice two
1744 >> % end of LH staff
1745 >> % end of simultaneous staves section
1746 } % end of single compound music expression
1749 (Observe cómo todas las instrucciones que abren un bloque con una
1750 llave curva, @code{@{}, o con ángulos dobles, @code{<<}, están
1751 sangrados (tienen un margen adicional) con dos espacios adicionales, y
1752 la llave de cierre correspondiente tiene un margen exactamente igual.
1753 Aunque no es necesario, la observancia de esta práctica reducirá
1754 considerablemente el número de errores de @q{paréntesis
1755 descompensados}, y se recomienda vivamente. Permite apreciar de un
1756 solo vistazo la estructura de la música, y cualquier paréntesis
1757 descompensado aparecerá con obviedad. Observe también cómo el
1758 pentagrama de la MI se crea usando dobles ángulos porque requiere dos
1759 voces, mientras que el pentagrama de la MD se crea con una expresión
1760 musical única encerrada entre llaves porque sólo requiere una voz.)
1763 @cindex contextos, nombrado
1764 @cindex nombrar contextos
1766 La instrucción @code{\new} también puede otorgar un nombre
1767 identificativo al contexto para distinguirlo de otros contextos del
1771 \new @var{tipo} = @var{identificador} @var{expresión_musical}
1774 Observe la distinción entre el nombre del tipo de contexto,
1775 @code{Staff}, @code{Voice}, etc., y el nombre identificativo de una
1776 instancia en particular de ese tipo, que puede ser cualquier secuencia
1777 de letras inventada por el usuario. En el nombre identificativo
1778 también se pueden utilizar dígitos y espacios, pero en este caso aquél
1779 debe ir entre comillas p.ej. @code{\new Staff = "MiPentagrama 1"
1780 @var{expresión_musical}}. El nombre identificativo se utiliza para
1781 referirnos más tarde a esa instancia en particular de un contexto.
1782 Hemos visto esto en la sección acerca de la letra, en @ref{Voices and
1787 Referencia de la notación:
1788 @ruser{Creating contexts}.
1791 @node Engravers explained
1792 @subsection Engravers explained
1796 Todas y cada una de las marcas de la salida impresa de una partitura
1797 hecha con LilyPond está producida por un @code{Engraver} (grabador).
1798 Así, tenemos un grabador para imprimir pentagramas, otro para imprimir
1799 las cabezas de las notas, otro para las plicas, otro para las barras,
1800 etc, etc. ¡En total hay más de 120 grabadores! Afortunadamente, para
1801 la mayor parte de las partituras no es necesario conocer más que
1802 algunos, y para partituras sencillas no tenemos que saber nada de
1805 Los grabadores residen y operan dentro de Contextos. Los grabadores
1806 como el grabador de la indicación metronómica,
1807 @code{Metronome_mark_engraver}, cuya acción y resultado se aplican a
1808 la partitura como un todo, operan en el contexto del nivel más alto:
1809 el contexto de partitura @code{Score}.
1811 El grabador de la clave @code{Clef_engraver} y el de la armadura
1812 @code{Key_engraver} se encuentran probablemente en todos los contextos
1813 de pentagrama (@code{Staff}), pues los distintos pentagramas podrían
1814 requerir diferentes claves y armaduras.
1816 El grabador de las cabezas de nota @code{Note_heads_engraver} y el de
1817 las plicas @code{Stem_engraver} viven en cada uno de los contextos de
1818 voz @code{Voice}, el contexto de nivel más bajo de todos.
1820 Cada grabador procesa los objetos particulares asociados con su
1821 función, y mantiene las propiedades que están relacionadas con dicha
1822 función. Estas propiedades, como las que están asociadas con los
1823 contextos, se pueden modificar para cambiar el funcionamiento del
1824 grabador o el aspecto de esos elementos en la partitura impresa.
1826 Todos los grabadores tienen nombres compuestos de varias palabras que
1827 describen su función. Sólo está en mayúsculas la inicial de la
1828 primera palabra, y el resto se le une mediante guiones bajos. Así, el
1829 grabador @code{Staff_symbol_engraver} es responsable de la creación de
1830 las líneas del pentagrama, y el @code{Clef_engraver} determina y
1831 establece la altura o el punto de referencia sobre el pentagrama
1832 dibujando un símbolo de clave.
1834 A continuación presentamos algunos de los grabadores más comunes,
1835 junto a su función. Podrá comprobar que es fácil adivinar la función
1836 a partir del nombre (en inglés), y viceversa.
1838 @multitable @columnfractions .3 .7
1841 @item Accidental_engraver
1842 @tab Hace las alteraciones accidentales, de precaución y de sugerencia.
1844 @tab Graba las barras
1846 @tab Graba las claves
1847 @item Completion_heads_engraver
1848 @tab Divide las notas que atraviesan una línea divisoria
1849 @c The old Dynamic_engraver is deprecated. -jm
1850 @item New_dynamic_engraver
1851 @tab Crea reguladores e indicaciones dinámicas textuales
1852 @item Forbid_line_break_engraver
1853 @tab Evita los saltos de línea si queda algún elemento musical activo
1855 @tab Crea la armadura de la tonalidad
1856 @item Metronome_mark_engraver
1857 @tab Graba la indicación metronómica
1858 @item Note_heads_engraver
1859 @tab Graba la cabeza de las notas
1861 @tab Graba los silencios
1862 @item Staff_symbol_engraver
1863 @tab Graba las cinco líneas (de forma predeterminada) del pentagrama
1865 @tab Crea las plicas y los trémolos de una sola plica
1866 @item Time_signature_engraver
1867 @tab Crea las indicaciones de compás
1872 Más adelante veremos cómo la salida de LilyPond se puede cambiar
1873 mediante la modificación del funcionamiento de los Grabadores.
1877 Referencia de funcionamiento interno:
1878 @rinternals{Engravers and Performers}.
1881 @node Modifying context properties
1882 @subsection Modifying context properties
1884 @cindex contexto, propiedades de
1885 @cindex contexto, propiedades de, modificación
1886 @cindex modificar las propiedades de contexto
1892 Los contextos se responsabilizan de mantener los valores de un cierto
1893 número de @emph{properties} de contexto. Muchas de ellas se pueden
1894 cambiar para influir en la interpretación del código de entrada y
1895 cambiar así la apariencia de la salida impresa. Se modifican mediante
1896 la instrucción @code{\set}. Esta instrucción toma la forma siguiente:
1899 \set @emph{NombreDelContexto}.@emph{nombreDeLaPropiedad} = #@emph{valor}
1902 Donde el @emph{NombreDelContexto} es normalmente @code{Score},
1903 @code{Staff} o @code{Voice}. Se puede omitir, en cuyo caso se supone
1904 que es @code{Voice}.
1906 Los nombres de las propiedades de contexto consisten en palabras
1907 unidas sin ningún guión o barra baja, y donde todas las palabras
1908 excepto la primera empiezan en mayúscula. A continuación podemos ver
1909 algunos ejemplos de nombres de propiedades utilizadas con frecuencia.
1910 Hay muchas más que las que se muestran aquí.
1912 @c attempt to force this onto a new page
1914 @multitable @columnfractions .25 .15 .45 .15
1915 @headitem nombreDeLaPropiedad
1918 @tab Valor de ejemplo
1921 @tab Si es verdadero, poner becuadros adicionales antes de las alteraciones
1922 @tab @code{#t}, @code{#f}
1923 @item currentBarNumber
1925 @tab Ajustar el número del compás actual
1929 @tab Si es verdadero, imprimir ligaduras de expresión por encima y por debajo de las notas
1930 @tab @code{#t}, @code{#f}
1931 @item instrumentName
1933 @tab Establecer el nombre del pentagrama, situado a la izquierda
1934 @tab @code{"Cello I"}
1937 @tab Aumentar o disminuir el tamaño de la fuente tipográfica
1941 @tab Establecer el texto que se imprime antes del comienzo de una estrofa
1946 donde un valor Booleano es verdadero (@code{#t}, True) o falso
1947 (@code{#f}, False), un Entero es un número entero positivo, un número
1948 Real es un número decimal positivo o negativo, y el texto se encierra
1949 entre comillas dobles. Observe la aparición de signos de cuadradillo,
1950 (@code{#}), en dos lugares diferentes: como parte del valor Booleano
1951 antes de la @code{t} o la @code{f}, y antes del @emph{valor} dentro de
1952 la sentencia @code{\set}. Así pues, cuando se está escribiendo un
1953 valor Booleano, hay que escribir dos signos de cuadradillo, por
1954 ejemplo: @code{##t}.
1956 @cindex propiedades que funcionan en contextos
1957 @cindex establecer propiedades en contextos
1959 Antes de poder establecer cualquiera de estas propiedades, tenemos que
1960 saber en qué contexto operan. A veces es algo obvio, pero en
1961 ocasiones puede ser algo enrevesado. Si especificamos un contexto
1962 equivocado, no se produce ningún mensaje de error, pero el
1963 funcionamiento esperado no tendrá lugar. Por ejemplo, la propiedad
1964 @code{instrumentName} (nombre del instrumento) vive claramente dentro
1965 del contexto de @code{Staff}, puesto que es el pentagrama el que debe
1966 ser nombrado. En este ejemplo, el primer pentagrama resulta
1967 etiquetado, pero no el segundo, porque hemos omitido el nombre del
1970 @lilypond[quote,verbatim,ragged-right]
1972 \new Staff \relative c'' {
1973 \set Staff.instrumentName = #"Soprano"
1976 \new Staff \relative c' {
1977 \set instrumentName = #"Alto" % Wrong!
1983 Recuerde que el nombre del contexto predeterminado es @code{Voice},
1984 así que la segunda instrucción @code{\set} establece la propiedad
1985 @code{instrumentName} del contexto @code{Voice} a @qq{Alto}, pero como
1986 LilyPond no busca esta propiedad en el contexto @code{Voice}, no se
1987 realiza ninguna acción. Esto no es un error, y no se registra ningún
1988 mensaje en el archivo Log de registro de errores.
1990 De forma parecida, si el nombre de la propiedad se escribe con alguna
1991 falta, no se produce ningún mensaje de error, y claramente la acción
1992 esperada no puede tener lugar. De hecho, se puede establecer
1993 cualquier @q{property} (ficticia) usando cualquier nombre que queramos
1994 en cualquier contexto que exista, mediante el uso de la instrucción
1995 @code{\set}. Pero si el nombre no es conocido para LilyPond, no
1996 producirá ninguna acción. Algunos editores de texto que apoyan a los
1997 archivos de entrada de LilyPond de manera especial, documentan los
1998 nombres de propiedades con viñetas cuando pasamos sobre ellos con el
1999 puntero del ratón, como JEdit con la extensión LilyPondTool, o
2000 resaltan los nombres de propiedades desconocidas de manera diferente,
2001 como ConTEXT. Si no se utiliza un editor con tales posibilidades, se
2002 recomienda comprobar la corrección del nombre de la propiedad en el
2003 manual de Referencia de funcionamiento interno: véase
2004 @rinternals{Tunable context properties} o @rinternals{Contexts}.
2006 La propiedad @code{instrumentName} tendrá efecto solamente si se
2007 establece dentro del contexto @code{Staff}, pero algunas propiedades
2008 se pueden establecer en más de un contexto. Por ejemplo, la propiedad
2009 @code{extraNatural} está establecida por defecto al valor @code{##t}
2010 (verdadero) para todos los pentagramas. Si se establece a @code{##f}
2011 (falso) en un contexto de @code{Staff} determinado, se aplicará
2012 solamente a las alteraciones de ese pentagrama. Si se establece a
2013 falso en el contexto de la partitura, @code{Score}, se aplicará a
2014 todos los pentagramas.
2016 Así, esto desactivará los becuadros adicionales en un pentagrama:
2018 @lilypond[quote,verbatim,ragged-right]
2020 \new Staff \relative c'' {
2023 \new Staff \relative c'' {
2024 \set Staff.extraNatural = ##f
2031 y esto los desactivará en todos los pentagramas:
2033 @lilypond[quote,verbatim,ragged-right]
2035 \new Staff \relative c'' {
2038 \new Staff \relative c'' {
2039 \set Score.extraNatural = ##f
2045 Como un ejemplo más, si se establece @code{clefOctavation} dentro del
2046 contexto de @code{Score}, éste cambia inmediatamente el valor de la
2047 octavación en todos los pentagramas en curso y establece un nuevo
2048 valor predeterminado que se aplicará a todos los pentagramas.
2050 La instrucción opuesta, @code{\unset}, tiene el efecto de suprimir la
2051 propiedad del contexto, lo que ocasiona que la mayoría de las
2052 propiedades vuelvan a su valor predeterminado. Normalmente no es
2053 necesario el uso de @code{\unset}, pues una nueva instrucción
2054 @code{\set} hará el ajuste deseado.
2056 Las instrucciones @code{\set} y @code{\unset} pueden aparecer en
2057 cualquier lugar del archivo de entrada y tendrán efecto a partir del
2058 tiempo en que se encuentran y hasta el final de la partitura o hasta
2059 que la propiedad se establezca de nuevo mediante @code{\set} o
2060 @code{\unset}. Probemos a modificar el tamaño de la fuente
2061 tipográfica, lo que afecta al tamaño de las cabezas de las notas
2062 (entre otras cosas) varias veces. El cambio se toma a partir del
2063 valor predeterminado, no el valor en curso.
2065 @lilypond[quote,verbatim,ragged-right,relative=1,fragment]
2067 % make note heads smaller
2070 % make note heads larger
2071 \set fontSize = #2.5
2073 % return to default size
2078 Hemos podido ver cómo establecer los valores de diversos tipos de
2079 propiedad diferentes. Observe que los números enteros y reales van
2080 siempre precedidos de un símbolo de cuadradillo, @code{#}, mientras
2081 que un valor booleano verdadero o falso se especifica mediante
2082 @code{##t} y @code{##f}, con dos cuadradillos. Una propiedad de texto
2083 se debe encerrar entre comillas dobles, como antes, aunque veremos más
2084 adelante que el texto realmente se puede especificar de una forma
2085 mucho más general utilizando la potentísima instrucción @code{markup}.
2087 @subsubheading Setting context properties with @code{\with}
2091 @cindex contexto, propiedades de, establecimiento con \with
2093 Las propiedades de contexto también se pueden establecer en el momento
2094 en que se crea el contexto. A veces esta forma de establecer el valor
2095 de una propiedad es mucho más clara, si ha de quedar fijo durante todo
2096 el tiempo que dure el contexto. Cuando se crea un contexto con una
2097 instrucción @code{\new} puede ir inmediatamente seguido de un bloque
2098 @code{\with @{ .. @}} en el que se establecen los valores de las
2099 propiedades. Por ejemplo, si queremos suprimir la impresión de
2100 becuadros adicionales para toda la duración de un pentagrama, podemos
2104 \new Staff \with @{ extraNatural = ##f @}
2108 de la siguiente forma:
2110 @lilypond[quote,verbatim,ragged-right]
2116 \new Staff \with { extraNatural = ##f }
2123 Las propiedades ajustadas de esta manera aún pueden cambiarse
2124 dinámicamente utilizando @code{\set} y ser devueltas a sus valores
2125 predeterminados mediante @code{\unset}.
2127 @cindex fontSize (tamaño de la tipografía)
2128 @cindex fuente, tamaño de la
2129 @cindex tamaño de la fuente
2131 La propiedad @code{fontSize} se trata de forma distinta. Si se ajusta
2132 dentro de una cláusula @code{\with}, tiene el efecto de reiniciar el
2133 valor predeterminado del tamaño de la fuente tipográfica. Si más
2134 tarde se modifica con @code{\set}, este nuevo valor predeterminado
2135 puede restablecerse con la instrucción @code{\unset fontSize}.
2137 @subsubheading Setting context properties with @code{\context}
2139 @cindex contextos, establecer propiedades de, con \context
2143 Los valores de propiedad de los contextos se pueden establecer para
2144 @emph{todos} los contextos de un tipo determinado, como por ejemplo
2145 todos los contextos de @code{Staff}, con una única instrucción. El
2146 tipo de contexto se identifica mediante la utilización del nombre de
2147 su tipo, como @code{Staff}, precedido de una barra invertida:
2148 @code{\Staff}. El enunciado que establece el valor de la propiedad es
2149 el mismo que el que está en un bloque @code{\with}, presentado
2150 anteriormente. Se coloca en un bloque @code{\context} dentro de un
2151 bloque @code{\layout}. Cada bloque @code{\context} afecta a todos los
2152 contextos del tipo especificado a lo largo del bloque @code{\score} o
2153 @code{\book} en el que aparece el bloque @code{\layout}. A
2154 continuación presentamos un ejemplo que muestra el formato:
2156 @lilypond[verbatim,quote]
2173 Las propiedades de contexto establecidas de esta forma se pueden
2174 sobreescribir para ejemplares concretos de contextos mediante
2175 enunciados dentro de un bloque @code{\with}, y mediante instrucciones
2176 @code{\set} intercaladas dentro de enunciados musicales.
2180 Referencia de la notación:
2181 @ruser{Changing context default settings}.
2183 @c uncomment when backslash-node-name issue is resolved -pm
2184 @c @ruser{The set command}.
2186 Referencia de funcionamiento interno:
2187 @rinternals{Contexts},
2188 @rinternals{Tunable context properties}.
2191 @node Adding and removing engravers
2192 @subsection Adding and removing engravers
2194 @cindex grabadores, adición
2195 @cindex grabadores, eliminación
2196 @cindex adición de grabadores
2197 @cindex eliminación de grabadores
2204 Hemos visto que cada uno de los contextos contiene varios grabadores,
2205 cada uno de los cuales a su vez es responsable de la producción de una
2206 fracción particular del resultado impreso, como líneas divisorias,
2207 pentagramas, cabezas, plicas, etc. Si un grabador es eliminado de un
2208 contexto, ya no podrá producir su salida impresa. Es una forma algo
2209 radical de modificar la salida, pero a veces puede ser útil.
2211 @subsubheading Changing a single context
2213 Para eliminar un grabador de un contexto único, usamos la instrucción
2214 @code{\with} situada inmediatamente después de la instrucción que crea
2215 el contexto, como en la sección anterior.
2217 Como ilustración, repitamos un ejemplo extraído de la sección anterior
2218 con las líneas del pentagrama eliminadas. Recuerde que las líneas del
2219 pentagrama están dibujadas por el grabador
2220 @code{Staff_symbol_engraver}.
2222 @lilypond[quote,verbatim,ragged-right]
2224 \remove Staff_symbol_engraver
2228 \set fontSize = #-4 % make note heads smaller
2230 \set fontSize = #2.5 % make note heads larger
2232 \unset fontSize % return to default size
2237 @cindex ámbito, grabador del
2239 Los grabadores también se pueden añadir a los contextos individuales
2240 La instrucción que lo hace es
2242 @code{\consists @var{Nombre_del_grabador}},
2244 situada dentro de un bloque @code{\with}. Ciertas partituras vocales
2245 tienen una indicación de ámbito o tesitura situada al principio del
2246 pentagrama para indicar el ámbito de notas en dicho pentagrama, véase
2247 @rglos{ambitus}. El ambitus se produce por parte del grabador
2248 @code{Ambitus_engraver}, que normalmente no está incluido en ningún
2249 contexto. Si lo añadimos al contexto @code{Voice}, calcula el rango a
2250 partir de esa única voz:
2252 @lilypond[quote,verbatim,ragged-right]
2255 \consists Ambitus_engraver
2270 pero si añadimos el grabador de ámbito al contexto de @code{Staff},
2271 calcula el rango de todas las notas en todas las voces de ese
2274 @lilypond[quote,verbatim,ragged-right]
2276 \consists Ambitus_engraver
2292 @subsubheading Changing all contexts of the same type
2297 Los ejemplos anteriores muestran la manera de eliminar o añadir
2298 grabadores a los contextos individuales. También es posible eliminar
2299 o añadir grabadores a todos los contextos de un tipo específico,
2300 situando las instrucciones en el contexto correspondiente dentro de un
2301 bloque @code{\layout}. Por ejemplo, si queremos mostrar los rangos de
2302 tesitura para todos los pentagramas de una partitura de cuatro pautas,
2305 @lilypond[quote,verbatim,ragged-right]
2309 \relative c'' { c a b g }
2312 \relative c' { c a b g }
2316 \relative c' { c a b g }
2320 \relative c { c a b g }
2326 \consists Ambitus_engraver
2333 Los valores predeterminados de las propiedades de los contextos
2334 también se pueden establecer para todos los contextos de un tipo en
2335 particular incluyendo la instrucción @code{\set} dentro de un bloque
2336 @code{\context} de la misma forma.
2340 Referencia de la notación:
2341 @ruser{Modifying context plug-ins},
2342 @ruser{Changing context default settings}.
2345 @node Extending the templates
2346 @section Extending the templates
2348 Ha leído el tutorial y ahora sabe escribir música. Pero ¿cómo puede
2349 poner los pentagramas que quiere? Las plantillas están muy bien, pero
2350 ¿qué ocurre si quiere algo que no está en una de ellas? Bien, puede
2351 encontrar montañas de plantillas (véase @ref{Templates}) que le pueden
2352 servir como punto de partida. Pero ¿y si quiere algo que no está
2353 contemplado aquí? Continúe leyendo.
2357 * Soprano and cello::
2358 * Four-part SATB vocal score::
2359 * Building a score from scratch::
2362 @node Soprano and cello
2363 @subsection Soprano and cello
2365 @cindex plantilla, modificar
2366 @cindex modificar plantillas
2368 Para empezar, tome la plantilla que le parezca más parecida a aquello
2369 que quiere conseguir. Digamos que quiere escribir algo para soprano y
2370 cello. En este caso comenzaríamos con la plantilla @q{Notas y letra}
2371 (para la parte de soprano).
2374 \version @w{"@version{}"}
2375 melodia = \relative c' @{
2382 texto = \lyricmode @{
2388 \new Voice = "uno" @{
2392 \new Lyrics \lyricsto "uno" \texto
2399 Ahora queremos añadir una parte de violoncello. Veamos el ejemplo
2403 \version @w{"@version{}"}
2404 melodia = \relative c' @{
2418 No necesitamos dos instrucciones @code{\version}. Vamos a necesitar
2419 la sección @code{melodia}. No queremos dos secciones @code{\score}
2420 (si tuviésemos dos @code{\score}s, acabaríamos con las dos particellas
2421 por separado. Queremos las dos juntas, como un dúo. Dentro de la
2422 sección @code{\score}, no nos hacen falta dos @code{\layout} ni dos
2425 Si nos limitásemos a copiar y pegar la sección @code{melodia},
2426 acabaríamos con dos secciones @code{melodia} separadas, así que vamos
2427 a cambiarles el nombre. Llamaremos @code{musicaSoprano} a la sección
2428 de la soprano y @code{musicaCello} a la sección del violoncello. Al
2429 mismo tiempo cambiaremos el nombre de @code{texto} a
2430 @code{letraSoprano}. Recuerde cambiar el nombre a las dos apariciones
2431 de todos estos nombres -- tanto la definición inicial (la parte
2432 @code{melodia = relative c' @{ }) -- como el uso de ese nombre (en la
2433 sección @code{\score}).
2435 También aprovecharemos para cambiar el pentagrama de la parte del
2436 cello (los violoncellos se escriben normalmente en clave de Fa).
2437 Asimismo, cambiaremos algunas notas del cello.
2440 \version @w{"@version{}"}
2441 musicaSoprano = \relative c' @{
2448 letraSoprano = \lyricmode @{
2452 musicaCello = \relative c @{
2462 \new Voice = "uno" @{
2466 \new Lyrics \lyricsto "uno" \letraSoprano
2473 Esto tiene una apariencia prometedora, pero la parte del cello no sale
2474 en la partitura (no la hemos puesto en la sección @code{\score}). Si
2475 queremos que la parte del cello aparezca debajo de la de soprano,
2479 \new Staff \musicaCello
2483 justo debajo de todo lo de la soprano. También tenemos que poner
2484 @code{<<} y @code{>>} antes y después de la música -- lo que indica a
2485 LilyPond que hay más de una cosa (en este caso, @code{Staff})
2486 sucediendo al mismo tiempo --. La @code{\score} se parecerá ahora a
2489 @c Indentation in this example is deliberately poor
2494 \new Voice = "uno" @{
2498 \new Lyrics \lyricsto "uno" \letraSoprano
2500 \new Staff \musicaCello
2508 Esto parece un poco enrevesado; los márgenes están descuadrados. Esto
2509 tiene fácil solución. Presentamos aquí la plantilla completa para
2512 @lilypond[quote,verbatim,ragged-right,addversion]
2513 sopranoMusic = \relative c' {
2520 sopranoLyrics = \lyricmode {
2524 celloMusic = \relative c {
2534 \new Voice = "one" {
2538 \new Lyrics \lyricsto "one" \sopranoLyrics
2540 \new Staff \celloMusic
2549 Las plantillas de inicio se pueden encontrar en el apéndice
2550 @q{Templates}, véase @ref{Single staff}.
2553 @node Four-part SATB vocal score
2554 @subsection Four-part SATB vocal score
2556 La mayor parte de las partituras vocales escritas para coro mixto a
2557 cuatro voces con acompañamiento orquestal, como el «Elías» de
2558 Mendelssohn o el «Mesías» de Haendel, tienen la música coral y la
2559 letra en cuatro pentagramas para S, A, T y B, respectivamente, con una
2560 reducción de piano del acompañamiento de orquesta, por debajo. He aquí
2561 un ejemplo del «Mesías» de Haendel:
2563 @c The following should appear as music without code
2564 @lilypond[quote,ragged-right]
2565 global = { \key d \major \time 4/4 }
2566 sopranoMusic = \relative c'' {
2568 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2570 sopranoWords = \lyricmode {
2571 Wor -- thy is the lamb that was slain
2573 altoMusic = \relative a' {
2575 r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
2577 altoWords = \sopranoWords
2578 tenorMusic = \relative c' {
2580 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2582 tenorWords = \sopranoWords
2583 bassMusic = \relative c' {
2585 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2587 bassWords = \sopranoWords
2588 upper = \relative a' {
2591 r4 <a d fis>2 <a e' a>4 |
2592 <d fis d'>4. <d fis d'>8 <a d a'>2 |
2593 <g cis g'>4 <a d fis> <a cis e>2 |
2595 lower = \relative c, {
2598 <d d'>4 <d d'>2 <cis cis'>4 |
2599 <b b'>4. <b' b'>8 <fis fis'>2 |
2600 <e e'>4 <d d'> <a' a'>2 |
2604 << % combine ChoirStaff and PianoStaff in parallel
2606 \new Staff = "sopranos" <<
2607 \set Staff.instrumentName = #"Soprano"
2608 \new Voice = "sopranos" { \global \sopranoMusic }
2610 \new Lyrics \lyricsto "sopranos" { \sopranoWords }
2611 \new Staff = "altos" <<
2612 \set Staff.instrumentName = #"Alto"
2613 \new Voice = "altos" { \global \altoMusic }
2615 \new Lyrics \lyricsto "altos" { \altoWords }
2616 \new Staff = "tenors" <<
2617 \set Staff.instrumentName = #"Tenor"
2618 \new Voice = "tenors" { \global \tenorMusic }
2620 \new Lyrics \lyricsto "tenors" { \tenorWords }
2621 \new Staff = "basses" <<
2622 \set Staff.instrumentName = #"Bass"
2623 \new Voice = "basses" { \global \bassMusic }
2625 \new Lyrics \lyricsto "basses" { \bassWords }
2629 \set PianoStaff.instrumentName = #"Piano"
2630 \new Staff = "upper" \upper
2631 \new Staff = "lower" \lower
2637 Ninguna de las plantillas proporciona esta disposición con exactitud.
2638 La más parecida es @q{partitura vocal SATB y reducción de piano
2639 automática} (véase @ref{Vocal ensembles}), pero necesitamos cambiar la
2640 disposición y añadir un acompañamiento de piano que no esté derivado
2641 automáticamente de las partes vocales. Las variables que contienen la
2642 música y la letra de las partes vocales es adecuada, pero tendremos
2643 que añadir variables para la reducción de piano.
2645 El orden en que aparecen los contextos en el ChoirStaff de la
2646 plantilla no se corresponde con el orden de la partitura vocal que
2647 hemos mostrado más arriba. Tenemos que reordenarlas para que haya
2648 cuatro pentagramas con la letra escrita directamente bajo las notas de
2649 cada parte. Todas las voces deben ser @code{\voiceOne}, que es la
2650 predeterminada, para que las instrucciones @code{\voiceXXX} se puedan
2651 eliminar. También tenemos que especificar la clave de tenor (clave de
2652 sol octava baja) en las partes de tenor. Aún no hemos encontrado la
2653 forma en que la letra se especifica en la plantilla, así que tenemos
2654 que utilizar el método que nos resulta familiar. También tenemos que
2655 escribir los nombres de cada pentagrama.
2657 Al hacerlo así obtenemos el ChoirStaff siguiente:
2661 \new Staff = "sopranos" <<
2662 \set Staff.instrumentName = #"Soprano"
2663 \new Voice = "sopranos" @{ \global \musicaSoprano @}
2665 \new Lyrics \lyricsto "sopranos" @{ \latraSoprano @}
2666 \new Staff = "altos" <<
2667 \set Staff.instrumentName = #"Alto"
2668 \new Voice = "altos" @{ \global \musicaAlto @}
2670 \new Lyrics \lyricsto "altos" @{ \letraAlto @}
2671 \new Staff = "tenores" <<
2672 \set Staff.instrumentName = #"Tenor"
2673 \new Voice = "tenores" @{ \global \musicaTenor @}
2675 \new Lyrics \lyricsto "tenores" @{ \letraTenor @}
2676 \new Staff = "bajos" <<
2677 \set Staff.instrumentName = #"Bass"
2678 \new Voice = "bajos" @{ \global \musicaBajo @}
2680 \new Lyrics \lyricsto "bajos" @{ \letraBajo @}
2681 >> % fin del ChoirStaff
2684 A continuación debemos trabajar sobre la parte de piano. Es fácil:
2685 tan sólo hay que sacar la parte de piano de la plantilla de @q{Piano
2690 \set PianoStaff.instrumentName = #"Piano"
2691 \new Staff = "superior" \superior
2692 \new Staff = "inferior" \inferior
2696 y escribir las definiciones de variable para @code{superior} e
2699 Los grupos ChoirStaff y PianoStaff se deben combinar utilizando
2700 ángulos dobles, ya queremos apilarlos unos sobre otros:
2703 << % combinar los grupos ChoirStaff y PianoStaff uno sobre el otro
2705 \new Staff = "sopranos" <<
2706 \new Voice = "sopranos" @{ \global \musicaSoprano @}
2708 \new Lyrics \lyricsto "sopranos" @{ \letraSoprano @}
2709 \new Staff = "altos" <<
2710 \new Voice = "altos" @{ \global \musicaAlto @}
2712 \new Lyrics \lyricsto "altos" @{ \letraAlto @}
2713 \new Staff = "tenores" <<
2714 \clef "G_8" % clave de tenor
2715 \new Voice = "tenores" @{ \global \musicaTenor @}
2717 \new Lyrics \lyricsto "tenores" @{ \letraTenor @}
2718 \new Staff = "bajos" <<
2720 \new Voice = "bajos" @{ \global \musicaBajo @}
2722 \new Lyrics \lyricsto "bajos" @{ \letraBajo @}
2723 >> % fin del ChoirStaff
2726 \set PianoStaff.instrumentName = #"Piano"
2727 \new Staff = "upper" \upper
2728 \new Staff = "lower" \lower
2733 Al combinar todo esto junto y escribir la música de los tres compases
2734 del ejemplo anterior, obtenemos:
2736 @lilypond[quote,verbatim,ragged-right,addversion]
2737 global = { \key d \major \time 4/4 }
2738 sopranoMusic = \relative c'' {
2740 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2742 sopranoWords = \lyricmode {
2743 Wor -- thy is the lamb that was slain
2745 altoMusic = \relative a' {
2747 r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2749 altoWords = \sopranoWords
2750 tenorMusic = \relative c' {
2752 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2754 tenorWords = \sopranoWords
2755 bassMusic = \relative c' {
2757 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2759 bassWords = \sopranoWords
2760 upper = \relative a' {
2763 r4 <a d fis>2 <a e' a>4 |
2764 <d fis d'>4. <d fis d'>8 <a d a'>2 |
2765 <g cis g'>4 <a d fis> <a cis e>2 |
2767 lower = \relative c, {
2770 <d d'>4 <d d'>2 <cis cis'>4 |
2771 <b b'>4. <b' b'>8 <fis fis'>2 |
2772 <e e'>4 <d d'> <a' a'>2 |
2776 << % combine ChoirStaff and PianoStaff in parallel
2778 \new Staff = "sopranos" <<
2779 \set Staff.instrumentName = #"Soprano"
2780 \new Voice = "sopranos" { \global \sopranoMusic }
2782 \new Lyrics \lyricsto "sopranos" { \sopranoWords }
2783 \new Staff = "altos" <<
2784 \set Staff.instrumentName = #"Alto"
2785 \new Voice = "altos" { \global \altoMusic }
2787 \new Lyrics \lyricsto "altos" { \altoWords }
2788 \new Staff = "tenors" <<
2789 \set Staff.instrumentName = #"Tenor"
2790 \new Voice = "tenors" { \global \tenorMusic }
2792 \new Lyrics \lyricsto "tenors" { \tenorWords }
2793 \new Staff = "basses" <<
2794 \set Staff.instrumentName = #"Bass"
2795 \new Voice = "basses" { \global \bassMusic }
2797 \new Lyrics \lyricsto "basses" { \bassWords }
2801 \set PianoStaff.instrumentName = #"Piano "
2802 \new Staff = "upper" \upper
2803 \new Staff = "lower" \lower
2810 @node Building a score from scratch
2811 @subsection Building a score from scratch
2813 @cindex plantilla, escribir su propia
2814 @cindex ejemplo de escritura de una partitura
2815 @cindex escribir una partitura, ejemplo
2816 @cindex partitura, ejemplo de escritura
2818 Después de adquirir algo de soltura en la escritura del código de
2819 LilyPond, se dará cuenta de que es más fácil construir completamente
2820 una partitura partiendo de cero, que modificar una plantilla. También
2821 puede desarrollar su propio estilo de forma que se adapte al tipo de
2822 música que le apetezca. Veamos a continuación cómo confeccionar una
2823 partitura para un preludio de órgano, como ejemplo.
2825 Comenzamos con una sección para el encabezamiento. Aquí es donde van
2826 el título, nombre del compositor, etc., después van las definiciones
2827 de las variables, y finalmente el bloque de partitura. Comencemos a
2828 verlas por encima y más tarde completaremos los detalles.
2830 Utilizaremos los dos primeros compases del preludio de Bach basado en
2831 @emph{Jesu, meine Freude}, que está escrito para órgano con dos
2832 manuales y pedal. Tiene estos dos compases de música al final de la
2833 sección. La parte del manual superior tiene dos voces, y el inferior
2834 y el pedal, una voz cada uno. Así pues, necesitamos cuatro
2835 definiciones para la música y una más para definir el compás y la
2839 \version @w{"@version{}"}
2841 title = "Jesu, meine Freude"
2842 composer = "J S Bach"
2844 TimeKey = @{ \time 4/4 \key c \minor @}
2845 MusicaManualUnoVozUno = @{s1@}
2846 MusicaManualUnoVozDos = @{s1@}
2847 MusicaManualDos = @{s1@}
2848 MusicaPedal = @{s1@}
2854 Por el momento hemos escrito tan sólo una nota espaciadora, @code{s1},
2855 en lugar de la música de verdad. La añadiremos más adelante.
2857 A continuación veamos qué va en el bloque de partitura.
2858 Sencillamente, reflejaremos la estructura de pentagramas que deseemos.
2859 La música de órgano se escribe por lo general en tres pentagramas, uno
2860 para cada uno de los manuales y otro para el pedal. Los pentagramas
2861 de los manuales se abarcan con una llave, así que los incluiremos en
2862 un grupo PianoStaff. La primera parte de manual tiene dos voces, y la
2867 \new Staff = "ManualUno" <<
2868 \new Voice @{ \MusicaManualUnoVozUno @}
2869 \new Voice @{ \MusicaManualUnoVozDos @}
2870 >> % fin del contexto de Staff ManualUno
2871 \new Staff = "ManualDos" <<
2872 \new Voice @{ \MusicaManualDos @}
2873 >> % fin del contexto de Staff ManualDos
2874 >> % fin del contexto de PianoStaff
2877 Después, tenemos que añadir un pentagrama para el órgano de pedal.
2878 Esto va por debajo del PianoStaff, pero debe ser simultáneo con él,
2879 por lo que escribimos dobles ángulos rodeando a los dos. Si esto se
2880 nos olvida, se producirá un error en el archivo log de registro. ¡Es
2881 un error muy común que cometerá antes o después! Intente copiar el
2882 ejemplo final que aparece al final de la sección, borre los dobles
2883 ángulos y procese el archivo para ver qué error produce.
2886 << % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
2888 \new Staff = "ManualUno" <<
2889 \new Voice @{ \MusicaManualUnoVozUno @}
2890 \new Voice @{ \MusicaManualUnoVozDos @}
2891 >> % fin del contexto de Staff ManualUno
2892 \new Staff = "ManualDos" <<
2893 \new Voice @{ \MusicaManualDos @}
2894 >> % fin del contexto de Staff ManualDos
2895 >> % fin del contexto de PianoStaff
2896 \new Staff = "OrganoPedal" <<
2897 \new Voice @{ \MusicaOrganoPedal @}
2902 No es necesario utilizar la construcción simultánea @code{<< >>} para
2903 el pentagrama del manual dos y el pentagrama del órgano de pedal, ya
2904 que contienen una única expresión, pero no hace daño, y es una buena
2905 costumbre utilizar siempre dobles ángulos después de @code{\new Staff}
2906 cuando hay varias voces. Lo opuesto es cierto para las voces:
2907 normalmente deben ir seguidas de llaves @code{@{ .. @}} en caso de que
2908 tengamos música codificada como distintas variables que se deben
2909 situar consecutivamente.
2911 Añadamos esta estructura al bloque de partitura, y ajustemos el
2912 sangrado de los márgenes. También escribimos las claves
2913 correspondientes, nos aseguramos de que las plicas y ligaduras de
2914 unión y de expresión en cada una de las voces del pentagrama superior
2915 apuntan en la dirección adecuada con @code{\voiceOne} y
2916 @code{\voiceTwo} y escribimos el compás y la tonalidad en cada uno de
2917 los pentagramas usando nuestra variable previamente definida
2922 << % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
2924 \new Staff = "ManualUno" <<
2925 \TimeKey % establecer compás y tonalidad
2927 \new Voice @{ \voiceOne \MusicaManualUnoVozUno @}
2928 \new Voice @{ \voiceTwo \MusicaManualUnoVozDos @}
2929 >> % fin del contexto de Staff ManualUno
2930 \new Staff = "ManualDos" <<
2933 \new Voice @{ \MusicaManualDos @}
2934 >> % fin del contexto de Staff ManualDos
2935 >> % fin del contexto de PianoStaff
2936 \new Staff = "OrganoPedal" <<
2939 \new Voice @{ \MusicaOrganoPedal @}
2940 >> % fin del pentagrama de OrganoPedal
2942 @} % end Score context
2945 Con esto se completa la estructura. Toda música para órgano de tres
2946 pentagramas tendrá una estructura similar, aunque el número de voces
2947 puede variar. Todo lo que nos queda es añadir la música, y combinar
2950 @lilypond[quote,verbatim,ragged-right,addversion]
2952 title = "Jesu, meine Freude"
2953 composer = "J S Bach"
2955 TimeKey = { \time 4/4 \key c \minor }
2956 ManualOneVoiceOneMusic = \relative g' {
2957 g4 g f ees | d2 c2 |
2959 ManualOneVoiceTwoMusic = \relative c' {
2960 ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
2961 c c4 b8 c8. g16 c b c d |
2963 ManualTwoMusic = \relative c' {
2964 c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
2965 f ees f d g aes g f ees d e8~ ees16 f ees d |
2967 PedalOrganMusic = \relative c {
2968 r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
2969 r16 g ees f g f g8 c,2 |
2973 << % PianoStaff and Pedal Staff must be simultaneous
2975 \new Staff = "ManualOne" <<
2976 \TimeKey % set time signature and key
2978 \new Voice { \voiceOne \ManualOneVoiceOneMusic }
2979 \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
2980 >> % end ManualOne Staff context
2981 \new Staff = "ManualTwo" <<
2984 \new Voice { \ManualTwoMusic }
2985 >> % end ManualTwo Staff context
2986 >> % end PianoStaff context
2987 \new Staff = "PedalOrgan" <<
2990 \new Voice { \PedalOrganMusic }
2991 >> % end PedalOrgan Staff context
2993 } % end Score context