1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2 @c This file is part of lilypond-learning.tely
4 Translation of GIT committish: 8e7d8cfcb162ae90efc1d24bd378de1868f98982
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{}"}
60 @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 porque las cabeceras aparecen de forma natural al principio de la
181 partitura. Es tan sólo otra abreviatura que LilyPond acepta.
183 Dos instrucciones más que no hemos visto aún son @code{\layout @{ @}}
184 y @code{\midi @{@}}. Si aparecen tal y como se muestran aquí, hacen
185 que LilyPond produzca una salida impresa y una salida MIDI,
186 respectivamente. Se describen con todo detalle en el manual de
187 Referencia de la notación, en @ruser{Score layout} y en
188 @ruser{Creating MIDI files}.
190 @cindex partituras, varias
192 Podemos escribir varios bloques @code{\score}. Cada uno de ellos
193 recibirá el mismo tratamiento que una partitura independiente, pero se
194 combinarán todos juntos en un archivo de salida único. No se necesita
195 ninguna instrucción @code{\book}, se creará una implícitamente. Sin
196 embargo, si quiere archivos de salida separados a partir de un único
197 archivo @code{.ly}, entonces es necesario utilizar la instrucción
198 @code{\book} para separar las distintas secciones: cada bloque
199 @code{\book} produce un archivo de salida distinto.
203 Cada bloque @code{\book} crea un archivo de salida distinto (por
204 ejemplo, un archivo PDF). Si no hemos escrito uno de forma explícita,
205 LilyPond envuelve todo nuestro código de entrada dentro de un bloque
206 @code{\book} de forma implícita.q
208 Cada bloque @code{\score} es un trozo de música separado dentro de un
211 Cada bloque @code{\layout} afecta al bloque @code{\score} o
212 @code{\book} dentro del cual aparece (es decir, un bloque
213 @code{\layout} dentro de un bloque @code{\score} afecta solamente a
214 ese bloque @code{\score}, pero un bloque @code{\layout} fuera de un
215 bloque @code{\score} (que por ello está dentro de un bloque
216 @code{\book}, ya sea explícita o implícitamente) afecta a los bloques
217 @code{\score} que están dentro de ese @code{\book}.
219 Cada bloque @code{\context} afecta al contexto con nombre (por
220 ejemplo, @code{\StaffGroup}) a todo lo largo del bloque (@code{\score}
221 o @code{\book}) en que aparece.
223 Para ver más detalles, consulte @ruser{Multiple scores in a book}.
227 Otro atajo genial es la posibilidad de definir variables. Todas las
228 plantillas emplean lo siguiente:
231 melodia = \relative c' @{
240 Cuando LilyPond examina este archivo, toma el valor de @code{melodia}
241 (todo lo que está después del signo igual) y lo inserta dondequiera
242 que ve @code{\melodia}. No se requiere un cuidado especial con los
243 nombres (puede ser @code{melodia}, @code{global},
244 @code{CompasArmadura}, @code{manoderechadelpiano} o
245 @code{fulanomengano}). Para ver más detalles, consulte @ref{Saving
246 typing with variables and functions}. Recuerde que puede usar casi
247 cualquier nombre que se le ocurra, en la medida en que contenga
248 solamente caracteres alfabéticos y sea diferente de cualquiera de los
249 nombres de instrucción de LilyPond. Las limitaciones exactas que
250 afectan a los nombres de variable se detallan en @ruser{File
256 Para ver una definición completa del formato del código de entrada,
257 consulte @ruser{File structure}.
259 @node Score is a (single) compound musical expression
260 @subsection Score is a (single) compound musical expression
262 @cindex expresión musical compuesta
263 @cindex música, expresión compuesta de
268 En la sección anterior, @ref{How LilyPond files work} hemos podido
269 ver la organización general de los archivos de entrada de LilyPond.
270 Pero parece que nos saltamos la parte más importante: ¿cómo
271 averiguamos qué escribir después de @code{\score}?
273 No nos hemos saltado nada en absoluto. El gran misterio es, sencillamente,
274 que no hay @emph{ningún} misterio. La siguiente línea lo explica
278 @emph{Un bloque @code{\score} debe comenzar con una única expresión
283 Para comprender lo que se entiende por expresión musical y expresión
284 musical compuesta, quizá encuentre útil dar un repaso a @ref{Music
285 expressions explained}. En esta sección, vimos cómo elaborar grandes
286 expresiones musicales a partir de pequeñas piezas (comenzábamos con
287 notas, luego acordes, etc.). Ahora partiremos de una gran expresión
288 musical y recorreremos el camino inverso hacia abajo.
292 @{ % esta llave da inicio a toda la expresión musical compuesta
294 @var{...introduzca aquí la partitura completa de una ópera de Wagner...}
296 @} % esta llave da por terminada toda expresión musical completa
301 Una ópera de Wagner completa puede ser fácilmente el doble de larga
302 que este manual, por tanto vamos a hacer sólo un cantante y un piano.
303 No necesitamos un @code{GrandStaff} para este conjunto, así que lo
304 retiramos. Sin embargo, sí que @emph{necesitamos} un cantante y un
310 \new Staff = "cantante" <<
312 \new PianoStaff = piano <<
319 Recuerde que usamos @code{<<} y @code{>>} en vez de @code{@{ ... @}}
320 para presentar música simultánea. Y, por supuesto, queremos presentar
321 las partes vocal y del piano al mismo tiempo, ¡no una después de otra!
322 Sin embargo, la construcción @code{<< ... >>} no es realmente
323 necesaria para el pentagrama del cantante (pues contiene una sola
324 expresión musical), pero los pentagramas (Staff) a menudo necesitan
325 varias voces (Voice) en su interior, así es bueno adoptar el hábito de
326 usar @code{<< ... >>} en lugar de llaves. Escribiremos algo de música
327 real más tarde; por ahora limitémonos a poner algunas notas y letra de
330 @lilypond[verbatim,quote,ragged-right]
333 \new Staff = "singer" <<
334 \new Voice = "vocal" { c'1 }
337 \new PianoStaff = "piano" <<
338 \new Staff = "upper" { c'1 }
339 \new Staff = "lower" { c'1 }
346 Ahora tenemos muchos más detalles. Tenemos la pauta del cantante:
347 contiene una @code{Voice} o voz (en LilyPond, este término hace
348 referencia a un conjunto de notas, no necesariamente notas vocales --
349 por ejemplo, un violín generalmente toca una voz --) y el texto de la
350 canción. También tenemos una pauta de piano: contiene un pentagrama
351 superior (mano derecha) y un pentagrama inferior (mano izquierda).
353 En este momento podríamos comenzar a meter las notas. Dentro de las
354 llaves que siguen a @code{\new Voice = vocal}, podríamos empezar
363 Pero si lo hiciéramos, la sección @code{\score} se haría bastante
364 larga y sería más difícil comprender lo que ocurre. En lugar de esto
365 utilizaremos identificadores o variables. Recordará que las vimos por
366 primera vez en la sección anterior. Así pues, escribiendo algunas
367 notas, ahora tenemos un fragmento musical de verdad:
369 @lilypond[verbatim,quote,ragged-right]
370 melody = \relative c'' { r4 d8\noBeam g, c4 r }
371 text = \lyricmode { And God said, }
372 upper = \relative c'' { <g d g,>2~ <g d g,> }
373 lower = \relative c { b2 e2 }
377 \new Staff = "singer" <<
378 \new Voice = "vocal" { \melody }
381 \new PianoStaff = "piano" <<
382 \new Staff = "upper" { \upper }
383 \new Staff = "lower" {
393 Tenga cuidado con la diferencia entre las notas, que se introducen con
394 @code{\relative}, y la letra, que se introduce con @code{\lyricmode}.
395 Estas instrucciones son esenciales para decirle a LilyPond que
396 interprete el contenido que viene a continuación como música y texto,
399 Cuando escriba una sección @code{\score} o cuando la esté leyendo,
400 hágalo despacio y con cuidado. Comience por la capa exterior y luego
401 trabaje sobre cada una de las capas interiores. También ayuda ser
402 estricto con los márgenes (asegúrese de que en su editor de texto cada
403 elemento de la misma capa comienza en la misma posición horizontal).
406 @node Nesting music expressions
407 @subsection Nesting music expressions
409 No es esencial declarar todos los pentagramas al comienzo; se pueden
410 crear temporalmente en cualquier momento. Esto es de especial
411 utilidad para crear secciones de ossia (véase @rglos{ossia}). A
412 continuación presentamos un ejemplo sencillo que muestra cómo
413 introducir temporalmente un pentagrama nuevo mientras dura un
414 fragmento de tres notas:
416 @lilypond[verbatim,quote,ragged-right]
433 Advierta que el tamaño de la clave es igual al que se imprime en un
434 cambio de clave (ligeramente menor que la clave al principio de una
435 línea). Esto es normal para cualquier clave que se imprime en la
438 @cindex pentagrama, posicionado del
440 La sección ossia se puede colocar encima del pentagrama de la manera
443 @lilypond[verbatim,quote,ragged-right]
451 alignAboveContext = "main" }
459 Este ejemplo utiliza @code{\with}, que se explica en todo detalle más
460 adelante. Es un medio de modificar el comportamiento predeterminado
461 de un solo pentagrama. Aquí, dice que el pentagrama nuevo se debe
462 colocar por encima del pentagrama llamado @qq{main} en vez de la
463 posición predeterminada que sería por debajo.
465 Los fragmentos de ossia se escriben a menudo sin clave y sin
466 indicación de compás, y generalmente en un tipo más pequeño. Esto
467 necesitaría más instrucciones que aún no se han visto. Véase
468 @ref{Size of objects}
471 @node On the un-nestedness of brackets and ties
472 @subsection On the un-nestedness of brackets and ties
474 @cindex corchetes y paréntesis, anidado de
476 En la escritura del archivo de entrada de LilyPond, hemos podido ver
477 algunos tipos de paréntesis, llaves o ángulos de distintos tipos.
478 Éstos obedecen a distintas reglas que al principio pueden resultar
479 confusas. Antes de explicar estas reglas, demos un repaso a las
480 distintas clases de corchetes, llaves y paréntesis.
482 @c attempt to force this onto a new page
484 @multitable @columnfractions .3 .7
485 @headitem Tipo de paréntesis
487 @item @code{@{ .. @}}
488 @tab Encierra un fragmento secuencial de música
490 @tab Encierra las notas de un acorde
491 @item @code{<< .. >>}
492 @tab Encierra secciones concurrentes o simultáneas
494 @tab Marca el comienzo y el final de una ligadura de expresión
495 @item @code{\( .. \)}
496 @tab Marca el comienzo y el final de una ligadura de fraseo
498 @tab Marca el comienzo y el final de un barrado manual
501 A las anteriores, debemos añadir otras construcciones que generan
502 líneas entre o a través de las notas: las ligaduras de unión (marcadas
503 con una tilde curva, @code{~}), los grupos especiales que se escriben
504 como @code{\times x/y @{..@}}, y las notas de adorno, que se escriben
505 como @code{\grace@{..@}}.
507 Fuera de LilyPond, el uso convencional de los paréntesis y otros
508 corchetes requiere que los distintos tipos se encuentren anidados
509 correctamente, como en: @code{<< [ @{ ( .. ) @} ] >>}, de manera que
510 los paréntesis que se cierran deben encontrarse en el orden
511 exactamente opuesto al de los paréntesis que se abren. Esto
512 @strong{es} un requisito para los tres tipos de paréntesis que se
513 describen mediante la palabra @q{Encierra} en la tabla anterior: se
514 deben anidar correctamente. Sin embargo, el resto de las llaves y
515 corchetes, que se encuentran descritos por la palabra @q{Marca} en la
516 misma tabla anterior, @strong{no} tienen por qué anidarse
517 estrictamente con ninguno de los otros paréntesis. De hecho, éstos no
518 son paréntesis en el sentido de que encierran algo: simplemente son
519 marcadores que indican dónde empieza o finaliza algo.
521 Así pues, por ejemplo, una ligadura de fraseo puede dar comienzo
522 antes de una barra insertada manualmente, y acabar antes de que acabe
523 la barra (algo que quizá no sea muy musical, pero es posible):
525 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
526 { g8\( a b[ c b\) a] }
529 En general, los distintos tipos de corchete, y los implicados en
530 grupos especiales, ligaduras de unión y notas de adorno, se pueden
531 mezclar con total libertad. Este ejemplo muestra una barra que se
532 extiende hacia el interior de un grupo de valoración especial (línea
533 1), una ligadura de expresión que se prolonga hasta el interior de un
534 grupo especial (línea 2), una barra y una ligadura de expresión que se
535 prolongan hasta el interior de un grupo especial, una ligadura de
536 unión que atraviesa dos grupos especiales, y una ligadura de fraseo
537 que sale del interior de un grupo especial (líneas 3 y 4).
539 @lilypond[quote,verbatim,fragment,ragged-right]
541 r16[ g16 \times 2/3 {r16 e'8] }
542 g16( a \times 2/3 {b d) e' }
543 g8[( a \times 2/3 {b d') e'~]}
544 \times 4/5 {e'32\( a b d' e'} a'4.\)
549 @node Voices contain music
550 @section Voices contain music
552 Igual que los cantantes, LilyPond necesita voces para cantar. En
553 realidad, la música para cualquier instrumento de una partitura está
554 siempre contenida dentro de una voz --el concepto de LilyPond más
555 fundamental de todos--.
558 * I'm hearing Voices::
559 * Explicitly instantiating voices::
560 * Voices and vocals::
563 @node I'm hearing Voices
564 @subsection I'm hearing Voices
568 @cindex Voice (voz), contexto de
569 @cindex contexto de voz
570 @cindex simultánea, música
571 @cindex concurrente, música
573 De las capas más profundas de una partitura de LilyPond, las más bajas
574 y más fundamentales reciben el nombre de @q{Voice contexts}
575 («contextos de voz») o, abreviadamente, @q{Voices} («voces»). Las
576 voces reciben a veces el nombre de @q{layers} («capas») en otros
577 programas de edición de partituras.
579 De hecho, una capa o contexto de voz es la única que puede contener
580 música. Si un contexto de voz no se declara explícitamente, se crea
581 uno de forma automática, como vimos al comienzo de este capítulo.
582 Ciertos instrumentos como el oboe solamente pueden tocar una nota cada
583 vez. La música escrita para estos instrumentos es monofónica y
584 solamente requiere una voz única. Los instrumentos que pueden tocar
585 más de una nota a la vez, como el piano, con frecuencia necesitarán
586 varias voces para codificar las distintas notas y ritmos concurrentes
587 que son capaces de tocar.
589 Una sola voz puede contener muchas notas dentro de un acorde, por
590 supuesto; entonces ¿cuándo, exactamente, se necesitan varias voces?
591 En primer lugar observe este ejemplo de cuatro acordes:
593 @lilypond[quote,verbatim,fragment,ragged-right,relative=1]
595 <d g>4 <d fis> <d a'> <d g>
598 Esto se puede expresar utilizando sólo símbolos de acorde con ángulos
599 simples, @code{< ... >}, y para este propósito tan sólo se necesita
600 una voz. Pero suponga que el Fa sostenido fuese realmente una corchea
601 seguida de un Sol corchea, una nota de paso que conduce al La. Ahora
602 tenemos dos notas que empiezan en el mismo momento pero tienen
603 distintas duraciones: la negra Re, y la corchea Fa sostenido. ¿Cómo se
604 codifica esto? No se pueden escribir como un acorde porque todas las
605 notas de un acorde deben tener la misma duración. Y no se pueden
606 escribir como dos notas separadas porque tienen que empezar en el
607 mismo momento. Aquí es donde se necesitan dos voces.
609 Veamos cómo se hace esto dentro de la sintaxis de entrada de LilyPond.
614 La forma más fácil de introducir fragmentos con más de una voz en un
615 solo pentagrama es escribir cada voz como una secuencia (con
616 @code{@{...@}}), y combinarlas simultáneamente con ángulos dobles,
617 @code{<<...>>}. Los fragmentos también se deben separar mediante una
618 doble barra invertida, @code{\\}, para situarlos en voces separadas.
619 Sin esto, las notas irían a una sola voz, lo que normalmente producirá
620 errores. Esta técnica se adapta especialmente bien a piezas de música
621 que son mayormente monofónicas pero ocasionalmente tienen cortas
622 secciones de polifonía.
624 He aquí cómo dividimos los acordes anteriores en dos voces y añadimos
625 la nota de paso y la ligadura:
627 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
629 % Voice "1" Voice "2"
630 << { g4 fis8( g) a4 g } \\ { d4 d d d } >> |
633 Observe cómo las plicas de la segunda voz ahora se dirigen hacia
636 A continuación veamos otro ejemplo sencillo:
638 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
640 % Voice "1" Voice "2"
641 << { r4 g g4. a8 } \\ { d,2 d4 g } >> |
642 << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
643 << { a2. r4 } \\ { fis2. s4 } >> |
646 No es necesario usar una construcción @code{<< \\ >>} distinta para
647 cada compás. Para música que tenga unas pocas notas en cada compás,
648 esta disposición podría facilitar la legibilidad del código, pero si
649 hay muchas notas en cada compás podría ser mejor dividirlo en dos
650 voces separadas, de la siguiente manera:
652 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
668 Este ejemplo tiene sólo dos voces, pero la misma construcción se puede
669 usar para codificar tres o más voces mediante la adición de más
670 separadores de barra invertida.
672 Los contextos de voz llevan los nombres de @code{"1"}, @code{"2"},
673 etc. En cada uno de estos contextos, la dirección vertical de las
674 ligaduras, plicas, matices dinámicos, etc., se ajusta de la forma
677 @lilypond[quote,verbatim,fragment]
678 \new Staff \relative c' {
681 % Voice "1" Voice "2" Voice "3"
682 << { g4 f e } \\ { r8 e4 d c8 ~ } >> |
683 << { d2 e2 } \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> |
687 Todas estas voces están separadas de la voz principal que contiene las
688 notas justo por fuera de la construcción @code{<< .. >>}. Le
689 llamaremos a esto la @emph{construcción simultánea}. Las ligaduras
690 (de prolongación y de expresión) solamente pueden conectar notas que
691 estén dentro de la misma voz, luego las ligaduras no pueden entrar o
692 salir de una construcción simultánea. A la inversa, las voces
693 paralelas de construcciones simultáneas distintas sobre el mismo
694 pentagrama, son la misma voz. Otras propiedades relativas a las voces
695 también conllevan construcciones simultáneas. A continuación vemos el
696 mismo ejemplo, con colores y cabezas distintos para cada voz. Observe
697 que los cambios en una voz no afectan a otras voces, pero persisten
698 más tarde dentro de la misma voz. Observe también que las notas
699 ligadas se pueden dividir entre las mismas voces de dos
700 construcciones, como se indica aquí en la voz de triángulos azules.
702 @lilypond[quote,verbatim]
703 \new Staff \relative c' {
722 { c8 b16 a b8 g ~ g2 }
732 @funindex \voiceXXXStyle
734 Las instrucciones @code{\voiceXXXStyle} están pensadas principalmente
735 para usarlas en documentos educativos como este mismo. Modifican el
736 color de la cabeza, la plica y las barras, y el estilo de la cabeza,
737 de forma que las voces se puedan distinguir fácilmente. La voz uno
738 está establecida a rombos rojos, la voz dos a triángulos azules, la
739 voz tres a círculos verdes con aspas, y la voz cuatro (que no se
740 utiliza aquí) a aspas color magenta. Veremos más adelante cómo el
741 usuario puede crear instrucciones como éstas. Véase @ref{Visibility
742 and color of objects} y @ref{Using variables for tweaks}.
745 La polifonía no cambia la relación de las notas dentro de un bloque
746 @code{\relative @{ @}}. La altura de cada nota aún se calcula con
747 relación a la nota que le precede inmediatamente, o a la primera nota
748 del acorde precedente. Así, en
751 \relative c' @{ notaA << < notaB notaC > \\ notaD >> notaE @}
755 @code{notaB} es relativa a @code{notaA} @*
756 @code{notaC} es relativa a @code{notaB}, no a @code{notaA}; @*
757 @code{notaD} es relativa a @code{notaB}, no a @code{notaA} ni a
759 @code{notaE} es relativa a @code{notaD}, no a @code{notaA}
761 Una forma alternativa, que podría ser más clara si las notas en las
762 voces están muy separadas, es colocar una instrucción @code{\relative}
763 al principio de cada voz:
766 \relative c' @{ notaA ... @}
768 \relative c'' @{ < notaB notaC > ... @}
770 \relative g' @{ notaD ... @}
772 \relative c' @{ notaE ... @}
775 Finalmente, analicemos las voces en una pieza de música más compleja.
776 He aquí las notas de los dos primeros compases del segundo de los Dos
777 Nocturnos de Chopin, Op 32. Este ejemplo se utilizará en fases
778 posteriores dentro del presente capítulo y el siguiente, para ilustrar
779 varias técnicas para producir notación, y por tanto le pedimos que
780 ignore por ahora cualquier cosa en el código subyacente que le parezca
781 misterioso y tan sólo se concentre en la música y las voces (todas
782 las complicaciones se explicarán en secciones posteriores).
784 @c The following should appear as music without code
785 @lilypond[quote,ragged-right]
786 \new Staff \relative c'' {
795 % Ignore these for now - they are explained in Ch 4
796 \once \override NoteColumn #'force-hshift = #0
798 \once \override NoteColumn #'force-hshift = #0.5
806 Con frecuencia, la dirección de las plicas se utiliza para indicar la
807 continuidad de dos líneas melódicas simultáneas. Aquí, todas las
808 plicas de las notas agudas se dirigen hacia arriba y las de las notas
809 graves hacia abajo. Ésta es la primera indicación de que se requiere
812 Pero la necesidad real de varias voces aflora cuando hay notas que
813 comienzan en el mismo tiempo pero tienen distintas duraciones.
814 Observe las notas que comienzan en la tercera parte del primer compás.
815 El La bemol es una negra con puntillo, el Fa es una negra y el Re
816 bemol es una blanca. Estas notas nos e pueden escribir como un acorde
817 porque todas las notas de un acorde deben tener la misma duración.
818 Tampoco se pueden escribir como notas secuenciales, pues deben
819 comenzar al mismo tiempo. Esta sección del compás requiere tres
820 voces, y la práctica común sería escribir todo el compás como tres
821 voces como se muestra abajo, donde hemos usado distintas cabezas y
822 colores para las tres voces. Una vez más, el código que subyace a
823 este ejemplo se explicará más tarde, así pues ignore todo lo que no
826 @c The following should appear as music without code
827 @c The three voice styles should be defined in -init
828 @lilypond[quote,ragged-right]
829 \new Staff \relative c'' {
840 \\ % No Voice three (we want stems down)
843 % Ignore these for now - they are explained in Ch 4
844 \once \override NoteColumn #'force-hshift = #0
846 \once \override NoteColumn #'force-hshift = #0.5
855 Vamos a intentar codificar esta música partiendo de cero. Como
856 veremos, esto se topa con ciertas dificultades. Comenzamos tal y como
857 hemos aprendido, usando la construcción @code{<< \\ >>} para
858 introducir la música del primer compás en tres voces:
860 @lilypond[quote,verbatim,fragment,ragged-right]
861 \new Staff \relative c'' {
864 { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 }
873 Las direcciones de las plicas se asignan automáticamente de forma que
874 las voces de numeración impar reciben las plicas hacia arriba y las de
875 numeración par hacia abajo. Las plicas de las voces 1 y 2 están
876 correctas, pero las plicas de la voz 3 debería ir hacia abajo en este
877 fragmento en particular. Podemos corregir esto simplemente
878 olvidándonos de la voz tres y situando la música en la voz cuatro:
880 @lilypond[quote,verbatim,fragment,ragged-right]
881 \new Staff \relative c'' {
887 \\ % Omit Voice three
896 Vemos que esto arregla la dirección de la plica, pero presenta un
897 problema que se encuentra a veces con varias voces: las plicas de las
898 notas en una voz pueden colisionar con las cabezas de otras voces. Al
899 disponer las notas, LilyPond permite que las notas o acordes de dos
900 voces ocupen la misma columna vertical de notas teniendo en cuenta que
901 las plicas están en direcciones opuestas, pero las notas de la tercera
902 y cuarta voces se desplazan si es necesario para evitar la colisión
903 entre las cabezas. Esto funciona bien por lo general, pero en este
904 ejemplo claramente las notas de la voz inferior no están bien
905 colocadas de forma predeterminada. LilyPond proporciona diversas
906 maneras de ajustar la colocación horizontal de las notas. Aún no
907 estamos preparados para ver cómo corregir esto, así que dejaremos este
908 problema aparcado hasta una sección posterior (véase la propiedad
909 force-hshift en @ref{Fixing overlapping notation} )
911 @node Explicitly instantiating voices
912 @subsection Explicitly instantiating voices
917 @funindex \voiceThree
920 @cindex contextos de voz, creación de
922 Los contextos de voz también se pueden crear manualmente dentro de un
923 bloque @code{<< >>} para crear música polifónica, utilizando
924 @code{\voiceOne} ... @code{\voiceFour} para indicar las direcciones
925 requeridas de plicas, ligaduras, etc. En partituras más largas, este
926 método es más claro porque permite que las voces estén separadas y
927 reciban nombres más descriptivos.
929 Concretamente, la construcción @code{<< \\ >>} que usamos en la
935 << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
945 \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
946 \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
950 Los dos ejemplos anteriores producirán:
952 @c The following example should not display the code
953 @lilypond[ragged-right,quote]
955 \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
956 \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
960 Las instrucciones @code{\voiceXXX} establecen la dirección de las
961 plicas, ligaduras de expresión, ligaduras de prolongación,
962 articulaciones, anotaciones de texto, puntillos y digitaciones.
963 @code{\voiceOne} y @code{\voiceThree} hacen que estos objetos apunten
964 hacia arriba, mientras que @code{\voiceTwo} y @code{\voiceFour} los
965 hacen apuntar hacia abajo. Estas instrucciones también producen un
966 desplazamiento horizontal para cada voz cuando es necesario para
967 evitar choques entre las cabezas. La instrucción @code{\oneVoice}
968 devuelve los ajustes de nuevo a los valores normales para una sola
971 Veamos en algunos ejemplos sencillos exactamente qué efecto tienen
972 @code{\oneVoice}, @code{\voiceOne} y @code{voiceTwo} sobre el marcado,
973 las ligaduras de unión y de expresión y las indicaciones de dinámica:
975 @lilypond[quote,ragged-right,verbatim]
977 % Default behaviour or behaviour after \oneVoice
978 c d8 ~ d e4 ( f g a ) b-> c
982 @lilypond[quote,ragged-right,verbatim]
985 c d8 ~ d e4 ( f g a ) b-> c
987 c, d8 ~ d e4 ( f g a ) b-> c
991 @lilypond[quote,ragged-right,verbatim]
994 c d8 ~ d e4 ( f g a ) b-> c
996 c, d8 ~ d e4 ( f g a ) b-> c
1000 A continuación veremos tres formas distintas de componer la notación
1001 del mismo pasaje polifónico, cada una de las cuales tiene sus ventajas
1002 según la circunstancia, utilizando el ejemplo de la sección anterior.
1004 Una expresión que aparece directamente dentro de @code{<< >>}
1005 pertenece a la voz principal (pero, observe, @strong{no} dentro de una
1006 construcción @code{<< \\ >>}). Esto es útil cuando aparecen voces
1007 nuevas mientras la voz principal está sonando. A continuación podemos
1008 ver una realización más correcta del ejemplo de la sección anterior.
1009 Las notas rojas en forma de rombo muestran que la melodía principal
1010 está ahora dentro de un contexto de una sola voz, haciendo que se
1011 pueda trazar una ligadura por encima de ellas.
1013 @lilypond[quote,ragged-right,verbatim]
1014 \new Staff \relative c' {
1016 % The following notes are monophonic
1018 % Start simultaneous section of three voices
1020 % Continue the main voice in parallel
1022 % Initiate second voice
1024 % Set stems, etc, down
1026 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
1028 % Initiate third voice
1030 % Set stems, etc, up
1038 @cindex anidado de expresiones musicales
1039 @cindex anidado de construcciones simultáneas
1041 @cindex voces temporales
1042 @cindex voces, anidado de
1044 Son posibles construcciones polifónicas anidadas más profundamente, y
1045 si una voz aparece sólo brevemente podría haber una forma más natural
1046 de tipografiar la música.
1048 @lilypond[quote,ragged-right,verbatim]
1049 \new Staff \relative c' {
1057 {c8 b16 a b8 g ~ g2}
1068 @cindex espaciadoras, notas
1070 Este método de anidar voces nuevas brevemente es útil cuando sólo hay
1071 secciones polifónicas pequeñas, pero cuando todo el pentagrama es muy
1072 polifónico podría ser más claro usar varias voces todo el tiempo,
1073 usando notas espaciadoras para pasar por encima de las secciones en
1074 que una voz está en silencio, como aquí:
1076 @lilypond[quote,ragged-right,verbatim]
1077 \new Staff \relative c' <<
1078 % Initiate first voice
1081 c16^( d e f g4 f e | d2 e2) |
1083 % Initiate second voice
1085 % set stems, etc down
1087 s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 |
1089 % Initiate third voice
1098 @cindex columna de notas
1099 @cindex desplazamiento, instrucciones de
1103 @funindex \shiftOnnn
1105 Las notas cercanas de un acorde, o las notas que se producen al mismo
1106 tiempo en distintas voces, se disponen en dos (y ocasionalmente más)
1107 columnas para evitar el solapamiento de las cabezas. Reciben el
1108 nombre de columnas de notas. Hay columnas distintas para cada voz, y
1109 el desplazamiento especificado en curso dependiente de la voz se
1110 aplica a la columna de la nota si en caso contrario se produjese una
1111 colisión. Esto se puede ver en el ejemplo anterior. En el compás 2 el
1112 Do en la voz dos está desplazado a la derecha respecto del Re de la
1113 voz uno, y en el último acorde el Do de la voz tres también está
1114 desplazado a la derecha respecto de las otras notas.
1116 Las instrucciones @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}
1117 y @code{\shiftOff} especifican el grado en que se deben desplazar las
1118 notas y acordes de la voz si en caso contrario ocurriese una
1119 colisión. De forma predeterminada, las voces exteriores (normalmente
1120 las voces uno y dos) llevan especificado @code{\shiftOff}, mientras
1121 que las voces interiores (tres y cuatro) tienen @code{\shiftOn}
1122 especificado. Cuando se aplica un desplazamiento, las voces uno y
1123 tres se desplazan hacia la derecha y las voces dos y cuatro se
1124 desplazan hacia la izquierda.
1126 @code{\shiftOnn} y @code{\shiftOnnn} definen niveles adicionales de
1127 desplazamiento que se pueden especificar temporalmente para resolver
1128 colisiones en situaciones complejas (véase @ref{Real music example}).
1130 Una columna de notas puede contener sólo una nota (o acorde) de una
1131 voz con las plicas hacia arriba y una not (o acorde) de una voz con
1132 las plicas hacia abajo. Si las notas de dos voces que tienen las
1133 plicas en la misma dirección se sitúan en la misma posición y las dos
1134 voces no tienen ningún desplazamiento o llevan especificado el mismo
1135 desplazamiento, se producirá el mensaje de error @qq{Chocan demasiadas
1138 @node Voices and vocals
1139 @subsection Voices and vocals
1142 La música vocal presenta una dificultad especial: tenemos que combinar
1143 dos expresiones, a saber, las notas y la letra.
1145 @funindex \new Lyrics
1147 @cindex Lyrics, creación de un contexto
1148 @cindex letra, creación de un contexto de
1149 @cindex letra, enlazar con una voz
1151 Ya ha visto la instrucción @code{\addlyrics@{@}}, que maneja bien
1152 partituras sencillas. Sin embargo esta técnica es algo limitada.
1153 Para música de mayor complejidad, tenemos que introducir la letra en
1154 un contexto @code{Lyrics} utilizando @code{\new Lyrics} y enlazar
1155 explícitamente la letra y las notas mediante @code{\lyricsto@{@}},
1156 usando el nombre asignado a la voz.
1158 @lilypond[quote,verbatim,fragment]
1160 \new Voice = "one" \relative c'' {
1163 c4 b8. a16 g4. f8 e4 d c2
1165 \new Lyrics \lyricsto "one" {
1166 No more let sins and sor -- rows grow.
1171 Observe que la letra se debe enlazar a un contexto de @code{Voice},
1172 @emph{no} a un contexto de @code{Staff}. Este es un caso en que es
1173 necesario crear contextos de @code{Staff} y de @code{Voice}
1176 @cindex letra y barrado
1177 @cindex barrado y letra
1178 @funindex \autoBeamOff
1180 El barrado automático que LilyPond usa de forma predeterminada
1181 funciona bien para la música instrumental, pero no tan bien para
1182 música con letra, donde o bien el barrado no se necesita en absoluto,
1183 o bien se utiliza para indicar los melismas de la letra. En el
1184 ejemplo anterior hemos utilizado la instrucción @code{\autoBeamOff}
1185 para desactivar el barrado automático.
1187 @funindex \new ChoirStaff
1188 @funindex \lyricmode
1189 @cindex vocal, estructura de una partitura
1191 Ahora vamos a reutilizar el ejemplo anterior de «Judas Macabeo» para
1192 ilustrar esta técnica más flexible. Primero la reescribiremos para
1193 que use variables de manera que la música y la letra se pueda separar
1194 de la estructura de pentagramas. También introduciremos una llave de
1195 grupo de ChoirStaff. La letra en sí se debe introducir con
1196 @code{\lyricmode} para estar seguros de que se interpreta como letra y
1199 @lilypond[quote,verbatim]
1200 global = { \time 6/8 \partial 8 \key f \major}
1201 SopOneMusic = \relative c'' {
1202 c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 }
1203 SopTwoMusic = \relative c' {
1204 r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' }
1205 SopOneLyrics = \lyricmode {
1206 Let | flee -- cy flocks the | hills a -- dorn, __ }
1207 SopTwoLyrics = \lyricmode {
1208 Let | flee -- cy flocks the | hills a -- dorn, }
1213 \new Voice = "SopOne" {
1217 \new Lyrics \lyricsto "SopOne" {
1222 \new Voice = "SopTwo" {
1226 \new Lyrics \lyricsto "SopTwo" {
1234 Ésta es la estructura básica de todas las partituras vocales. Se
1235 pueden añadir más pentagramas según se necesite, se pueden añadir más
1236 voces a los pentagramas y más estrofas a la letra, y las variables que
1237 contienen la música se pueden colocar fácilmente en archivos separados
1238 cuando se hagan demasiado largos.
1240 @cindex himno, estructura de
1242 A continuación podemos ver un ejemplo final de la primera línea de un
1243 himno con cuatro estrofas, para coro SATB. En este caso la letra de
1244 las cuatro partes es la misma. Observe cómo utilizamos variables para
1245 separar la notación musical de la estructura de pentagramas. Observe
1246 también cómo se utiliza una variable, para la que hemos elegido el
1247 nombre @q{TimeKey} («compás y tonalidad»), para que contenga varias
1248 instrucciones que se usarán dentro de los dos pentagramas. En otros
1249 ejemplos se le suele dar el nombre de @q{global}.
1253 @lilypond[quote,verbatim]
1254 TimeKey = { \time 4/4 \partial 4 \key c \major}
1255 SopMusic = \relative c' { c4 | e4. e8 g4 g | a a g }
1256 AltoMusic = \relative c' { c4 | c4. c8 e4 e | f f e }
1257 TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
1258 BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
1259 VerseOne = \lyricmode {
1260 E -- | ter -- nal fa -- ther, | strong to save, }
1261 VerseTwo = \lyricmode {
1262 O | Christ, whose voice the | wa -- ters heard, }
1263 VerseThree = \lyricmode {
1264 O | Ho -- ly Spi -- rit, | who didst brood }
1265 VerseFour = \lyricmode {
1266 O | Tri -- ni -- ty of | love and pow'r }
1272 \new Voice = "Sop" { \voiceOne \TimeKey \SopMusic }
1273 \new Voice = "Alto" { \voiceTwo \AltoMusic }
1274 \new Lyrics \lyricsto "Sop" { \VerseOne }
1275 \new Lyrics \lyricsto "Sop" { \VerseTwo }
1276 \new Lyrics \lyricsto "Sop" { \VerseThree }
1277 \new Lyrics \lyricsto "Sop" { \VerseFour }
1281 \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic }
1282 \new Voice = "Bass" { \voiceTwo \BassMusic }
1288 @cindex estrofa y estribillo
1290 Finalizamos con un ejemplo que muestra cómo podemos codificar una
1291 estrofa para solista seguida de un estribillo en dos partes sobre dos
1292 pentagramas. El posicionado de las secciones secuencial y simultánea
1293 para conseguirlo dentro de una sola partitura es un poco enrevesado,
1294 por tanto siga esta explicación con todo cuidado.
1296 Comenzamos el ejemplo con un bloque de partitura que contiene un
1297 @code{ChoirStaff}, pues queremos que aparezca un corchete al comienzo
1298 de la parte de coro. Normalmente necesitaríamos dobles ángulos
1299 después de @code{\new ChoirStaff} para meter dentro todos los
1300 pentagramas en paralelo, pero aquí queremos postponer el paralelismo
1301 mientras dura el solo y por ello usaremos llaves, aunque aquí unos
1302 ángulos dobles no harían daño. Dentro del @code{ChoirStaff} queremos
1303 en primer lugar el pentagrama que va a contener la estrofa. Debe
1304 contener notas y letra en paralelo, así que necesitamos dobles ángulos
1305 encerrando el @code{\new Voice} y el @code{\new Lyrics} para que den
1306 comienzo al mismo tiempo:
1308 @lilypond[quote,verbatim,ragged-right]
1309 versenotes = \relative c'' {
1312 \time 3/4 g g g b b b
1314 versewords = \lyricmode {
1315 One two three four five six
1320 \new Voice = "verse" {
1323 \new Lyrics \lyricsto verse {
1331 Con esto tenemos la línea de la estrofa.
1333 Ahora deseamos continuar con refrainA (la primera parte del
1334 estribillo) sobre el mismo pentagrama, mientras un segundo pentagrama
1335 aparece en paralelo con él para refrainB (estribillo, segunda parte),
1336 por lo que ésta es una sección paralela que se debe situar
1337 inmediatamente a continuación del salto de línea @code{\break} en la
1338 voz de la estrofa. ¡Sí, @emph{dentro} de la voz de la estrofa! He
1339 aquí dicha sección paralela. Se podrían introducir más pentagramas de
1345 \new Lyrics \lyricsto verse @{
1349 \new Voice = "refrainB" @{
1352 \new Lyrics \lyricsto "refrainB" @{
1359 Aquí tenemos el resultado final con dos pentagramas en el estribillo
1360 mostrando cómo la sección paralela se posiciona dentro de la voz de la
1363 @lilypond[quote,verbatim, ragged-right]
1364 versenotes = \relative c'' {
1367 \time 3/4 g g g b b b
1369 refrainnotesA = \relative c'' {
1373 refrainnotesB = \relative c {
1378 versewords = \lyricmode {
1379 One two three four five six
1381 refrainwordsA = \lyricmode {
1384 refrainwordsB = \lyricmode {
1390 \context Voice = "verse" {
1394 \new Lyrics \lyricsto "verse" {
1398 \new Voice = "refrainB" {
1401 \new Lyrics \lyricsto "refrainB" {
1407 \new Lyrics \lyricsto "verse" {
1416 @cindex book, ejemplo de su uso
1419 Sin embargo, y aunque esto es un interesante y útil ejercicio
1420 destinado a ayudarle a comprender cómo funcionan los bloques
1421 secuenciales y simultáneos, en la práctica quizá nos decidiríamos por
1422 codificarlo como dos bloques @code{\score} dentro de un bloque
1423 @code{\book} implícito, como sigue:
1425 @lilypond[quote,verbatim,ragged-right]
1426 versenotes = \relative c'' {
1429 \time 3/4 g g g b b b
1431 refrainnotesA = \relative c'' {
1435 refrainnotesB = \relative c {
1440 versewords = \lyricmode {
1441 One two three four five six
1443 refrainwordsA = \lyricmode {
1446 refrainwordsB = \lyricmode {
1451 \new Voice = "verse" {
1454 \new Lyrics \lyricsto "verse" {
1463 \new Voice = "refrainA" {
1466 \new Lyrics \lyricsto "refrainA" {
1471 \new Voice = "refrainB" {
1474 \new Lyrics \lyricsto "refrainB" {
1482 @node Contexts and engravers
1483 @section Contexts and engravers
1485 Los contextos y grabadores se han mencionado de manera informal en
1486 secciones anteriores; ahora tan sólo vamos a ver estos conceptos con
1487 más detalle, pues son importantes en el ajuste fino de la salida de
1491 * Contexts explained::
1492 * Creating contexts::
1493 * Engravers explained::
1494 * Modifying context properties::
1495 * Adding and removing engravers::
1498 @node Contexts explained
1499 @subsection Contexts explained
1501 @cindex contextos, explicación de los
1503 Cuando se imprime la música, se tienen que añadir a la salida una gran
1504 cantidad de elementos notacionales que no aparecen explícitamente en
1505 el archivo de entrada. Por ejemplo, compare la entrada y la salida
1506 del siguiente ejemplo:
1508 @lilypond[quote,verbatim,relative=2,fragment]
1512 La entrada es bastante escueta, pero en la salida se añaden líneas
1513 divisorias, alteraciones accidentales, la clave y la indicación de
1514 compás. LilyPond @emph{interpreta} la entrada. En esta fase se
1515 inspecciona la información musical en orden temporal, de forma
1516 parecida a la lectura de una partitura de izquierda a
1517 derecha. Mientras se lee la entrada, el programa recuerda dónde se
1518 encuentran los límites de los compases, y qué notas requieren
1519 alteraciones explícitas. Esta información se puede presentar sobre
1520 varios niveles. Por ejemplo, el efecto de una alteración accidental
1521 se encuentra limitada a un solo pentagrama, mientras que una barra
1522 divisoria debe estar sincronizada a través de la partitura de arriba a
1525 Dentro de LilyPond, estas reglas y pequeñas porciones de información
1526 se agrupan en @emph{Contexts}. Algunos ejemplos de contextos son
1527 @code{Voice} (Voz), @code{Staff} (Pauta o pentagrama) y @code{Score}
1528 (Partitura). Los contextos son jerárquicos, de forma que reflejan la
1529 naturaleza jerárquica de una partitura musical. Por ejemplo: un
1530 contexto de @code{Staff} contener muchos contextos de @code{Voice}, y
1531 un contexto de @code{Score} puede contener muchos contextos de
1535 @sourceimage{context-example,5cm,,}
1538 Cada contexto asume la responsabilidad de imponer algunas reglas de
1539 notación, creando ciertos objetos de notación y manteniendo las
1540 propiedades asociadas. Por ejemplo, el contexto @code{Voice} puede
1541 introducir una alteración accidental y entonces el contexto
1542 @code{Staff} mantiene la regla de mostrar o suprimir la alteración
1543 para el resto del compás.
1545 Otro ejemplo lo constituye el hecho de que la sincronización de las
1546 líneas divisorias se gestiona dentro del contexto de la partitura,
1547 @code{Score}, de forma predeterminada. Sin embargo, en algunas
1548 músicas posiblemente no queramos que las líneas divisorias estén
1549 sincronizadas (pensemos en una partitura polimétrica en compases de
1550 4/4 y de 3/4). En tales casos, debemos modificar los ajustes por
1551 omisión de los contextos @code{Score} y @code{Staff}.
1553 Para partituras muy sencillas, los contextos se crean implícitamente y
1554 no debemos preocuparnos por ellos. Para piezas mayores, como por
1555 ejemplo cualquiera que tenga más de un pentagrama, los contextos se
1556 deben crear explícitamente para asegurarnos de que tendremos la
1557 cantidad exacta de pentagramas que necesitamos, y que están en el
1558 orden correcto. Para tipografiar piezas con notación especializada,
1559 es frecuente la modificación de contextos existentes o incluso definir
1560 unos completamente nuevos.
1563 Además de los contextos @code{Score,} @code{Staff} y @code{Voice}, hay
1564 contextos que se sitúan entre los niveles de partitura y de pentagrama
1565 para controlar los grupos de pentagraamas, como los contextos
1566 @code{PianoStaff} y @code{ChoirStaff}. También existen contextos
1567 alternativos de pentagrama y de voz, y contextos para la letra, la
1568 percusión, diagramas de trastes, bajo cifrado, etc.
1570 Los nombres de todos los tipos de contextos se componen de una o más
1571 palabras que comienzan con mayúscula y que están unidas unas a otras
1572 sin guión ni barra baja, por ejemplo:
1573 @code{GregorianTranscriptionStaff}.
1575 @node Creating contexts
1576 @subsection Creating contexts
1579 @cindex nuevos contextos
1580 @cindex creación de contextos
1581 @cindex contextos, creación de
1583 Sólo puede haber un contexto en el nivel más alto: el contexto de
1584 partitura @code{Score}. Se crea con la instrucción @code{\score} o,
1585 en partituras sencillas, se crea automáticamente.
1587 Para partituras que solamente tienen una voz y un pentagrama, podemos
1588 dejar que los contextos @code{Voice} y @code{Staff} se creen
1589 automáticamente, pero para partituras más complejas es necesario
1590 crearlos a mano. La instrucción más simple que hace esto es
1591 @code{\new}. Se antepone a una expresión musical, por ejemplo
1594 \new @var{tipo} @var{expresión_musical}
1598 donde @var{tipo} es el nombre de un contexto (como @code{Staff} o
1599 @code{Voice}). Esta instrucción crea un contexto nuevo, y comienza a
1600 interpretar la @var{expresión_musical} que está dentro de ese
1603 Observe que no hay ninguna instrucción @code{\new Score}; el contexto
1604 @code{Score} único en el nivel más alto se introduce con
1608 En las secciones anteriore ha podido ver muchos ejemplos prácticos que
1609 creaban nuevos contextos de @code{Staff} y de @code{Voice}, pero para
1610 recordarle cómo se emplean estas instrucciones en la práctica, he aquí
1611 un ejemplo anotado de música real:
1613 @lilypond[quote,verbatim,ragged-right]
1614 \score { % start single compound music expression
1615 << % start of simultaneous staves section
1617 \new Staff { % create RH staff
1620 \new Voice { % create voice for RH notes
1621 \relative c'' { % start of RH notes
1627 \new Staff << % create LH staff; needs two simultaneous voices
1630 \new Voice { % create LH voice one
1632 \relative g { % start of LH voice one notes
1633 g8 <bes d> ees, <g c> |
1634 g8 <bes d> ees, <g c> |
1635 } % end of LH voice one notes
1636 } % end of first LH voice
1637 \new Voice { % create LH voice two
1639 \relative g { % start of LH voice two notes
1642 } % end of LH voice two notes
1643 } % end of LH voice two
1644 >> % end of LH staff
1645 >> % end of simultaneous staves section
1646 } % end of single compound music expression
1649 (Observe cómo todas las instrucciones que abren un bloque con una
1650 llave curva, @code{@{}, o con ángulos dobles, @code{<<}, están
1651 sangrados (tienen un margen adicional) con dos espacios adicionales, y
1652 la llave de cierre correspondiente tiene un margen exactamente igual.
1653 Aunque no es necesario, la observancia de esta práctica reducirá
1654 considerablemente el número de errores de @q{paréntesis
1655 descompensados}, y se recomienda vivamente. Permite apreciar de un
1656 solo vistazo la estructura de la música, y cualquier paréntesis
1657 descompensado aprecerá con obviedad. Observe también cómo el
1658 pentagrama de la MI se crea usando dobles ángulos porque requiere dos
1659 voces, mientras que el pentagrama de la MD se crea con una expresión
1660 musical única encerrada entre llaves porque sólo requiere una voz.)
1663 @cindex contextos, nombrado
1664 @cindex nombrar contextos
1666 La instrucción @code{\new} también puede otorgar un nombre
1667 identificativo al contexto para distinguirlo de otros contextos del
1671 \new @var{tipo} = @var{identificador} @var{expresión_musical}
1674 Observe la distinción entre el nombre del tipo de contexto,
1675 @code{Staff}, @code{Voice}, etc., y el nombre identificativo de una
1676 instancia en particular de ese tipo, que puede ser cualquier secuencia
1677 de letras inventada por el usuario. El nombre identificativo se
1678 utiliza para referirnos más tarde a esa instancia en particular de un
1679 contexto. Hemos visto esto en la sección acerca de la letra, en
1680 @ref{Voices and vocals}.
1682 @node Engravers explained
1683 @subsection Engravers explained
1687 Todas y cada una de las marcas de la salida impresa de una partitura
1688 hecha con LilyPond está producida por un @code{Engraver} (grabador).
1689 Así, tenemos un grabador para imprimir pentagramas, otro para imprimir
1690 las cabezas de las notas, otro para las plicas, otro para las barras,
1691 etc, etc. ¡En total hay más de 120 grabadores! Afortunadamente, para
1692 la mayor parte de las partituras no es necesario conocer más que
1693 algunos, y para partituras sencillas no tenemos que saber nada de
1696 Los grabadores residen y operan dentro de Contextos. Los grabadores
1697 como el grabador de la indicación metronómica,
1698 @code{Metronome_mark_engraver}, cuya acción y resultado se aplica a la
1699 partitura como un todo, operan en el contexto del nivel más alto: el
1700 contexto de partitura @code{Score}.
1702 El grabador de la clave @code{Clef_engraver} y el de la armadura
1703 @code{Key_engraver} se encuentran probablemente en todos los contextos
1704 de pentagrama (Staff), pues los distintos pentagramas podrían requerir
1705 diferentes claves y armaduras.
1707 El grabador de las cabezas de nota @code{Note_heads_engraver} y el de
1708 las plicas @code{Stem_engraver} viven en cada uno de los contextos de
1709 voz @code{Voice}, el contexto de nivel más bajo de todos.
1711 Cada grabador procesa los objetos particulares asociados con su
1712 función, y mantiene las propiedades que están relacionadas con dicha
1713 función. Estas propiedades, como las que están asociadas con los
1714 contextos, se pueden modificar para cambiar el funcionamiento del
1715 grabador o el aspecto de esos elementos en la partitura impresa.
1717 Todos los grabadores tienen nombres compuestos de varias palabras que
1718 describen su función. Sólo está en mayúsculas la inicial de la
1719 primera palabra, y el resto se le une mediante guiones bajos. Así, el
1720 grabador @code{Staff_symbol_engraver} es responsable de la creación de
1721 las líneas del pentagrama, y el @code{Clef_engraver} determina y
1722 establece la altura o el punto de referencia sobre el pentagrama
1723 dibujando un símbolo de clave.
1725 A continuación presentamos algunos de los grabadores más comunes,
1726 junto a su función. Podrá comprobar que es fácil adivinar la función
1727 a partir del nombre (en inglés), y viceversa.
1729 @multitable @columnfractions .3 .7
1732 @item Accidental_engraver
1733 @tab Hace las alteraciones accidentales, de precaución y de sugerencia.
1735 @tab Graba las barras
1737 @tab Graba las claves
1738 @item Dynamic_engraver
1739 @tab Crea reguladores e indicaciones dinámicas textuales
1741 @tab Crea la armadura de la tonalidad
1742 @item Metronome_mark_engraver
1743 @tab Graba la indicación metronómica
1744 @item Note_heads_engraver
1745 @tab Graba la cabeza de las notas
1747 @tab Graba los silencios
1748 @item Staff_symbol_engraver
1749 @tab Graba las cinco líneas (de forma predeterminada) del pentagrama
1751 @tab Crea las plicas y los trémolos de una sola plica
1752 @item Time_signature_engraver
1753 @tab Crea las indicaciones de compás
1758 Más adelante veremos cómo la salida de LilyPond se puede cambiar
1759 mediante la modificación del funcionamiento de los Grabadores.
1762 @node Modifying context properties
1763 @subsection Modifying context properties
1765 @cindex contexto, propiedades de
1766 @cindex contexto, propiedades de, modificación
1767 @cindex modificar las propiedades de contexto
1771 Los contextos se responsabilizan de mantener los valores de un cierto
1772 número de @emph{properties} de contexto. Muchas de ellas se pueden
1773 cambiar para influir en la interpretación del código de entrada y
1774 cambiar así la apariencia de la salida impresa. Se modifican mediante
1775 la instrucción @code{\set}. Esta instrucción toma la forma siguiente:
1778 \set @emph{NombreDelContexto}.@emph{nombreDeLaPropiedad} = #@emph{valor}
1781 Donde el @emph{NombreDelContexto} es normalmente @code{Score},
1782 @code{Staff} o @code{Voice}. Se puede omitir, en cuyo caso se supone
1783 que es @code{Voice}.
1785 Los nombres de las propiedades de contexto consisten en palabras
1786 unidas sin ningún guión o barra baja, y donde todas las palabras
1787 excepto la primera empiezan en mayúscula. A continuación podemos ver
1788 algunos ejemplos de nombres de propiedades utilizadas con frecuencia.
1789 Hay muchas más que las que se muestran aquí.
1791 @c attempt to force this onto a new page
1793 @multitable @columnfractions .25 .15 .45 .15
1794 @headitem nombreDeLaPropiedad
1797 @tab Valor de ejemplo
1800 @tab Si es verdadero, poner becuadros adicionales antes de las alteraciones
1801 @tab @code{#t}, @code{#f}
1802 @item currentBarNumber
1804 @tab Ajustar el número del compás actual
1808 @tab Si es verdadero, imprimir ligaduras de expresión por encima y por debajo de las notas
1809 @tab @code{#t}, @code{#f}
1810 @item instrumentName
1812 @tab Establecer el nombre del pentagrama, situado a la izquierda
1813 @tab @code{"Cello I"}
1816 @tab Aumentar o disminuir el tamaño de la fuente tipográfica
1820 @tab Establecer el texto que se imprime antes del comienzo de una estrofa
1825 donde un valor Booleano es verdadero (@code{#t}, True) o falso
1826 (@code{#f}, False), un Entero es un número entero positivo, un número
1827 Real es un número decimal positivo o negativo, y el texto se encierra
1828 entre comillas dobles. Observe la aparición de signos de cuadradillo,
1829 (@code{#}), en dos lugares diferentes: como parte del valor Booleano
1830 antes de la @code{t} o la @code{f}, y antes del @emph{valor} dentro de
1831 la sentencia @code{\set}. Así pues, cuando se está escribiendo un
1832 valor Booleano, hay que escribir dos signos de cuadradillo, por
1833 ejemplo: @code{##t}.
1835 Antes de poder establecer cualquiera de estas propiedades, tenemos que
1836 saber en qué contexto operan. A veces es algo obvio, pero en
1837 ocasiones puede ser algo enrevesado. Si especificamos un contexto
1838 equivocado, no se produce ningún mensaje de error, pero el
1839 funcionamiento esperado no tendrá lugar. Por ejemplo, la propiedad
1840 @code{instrumentName} (nombre del instrumento) vive claramente dentro
1841 del contexto de Staff, puesto que es el pentagrama el que debe ser
1842 nombrado. En este ejemplo, el primer pentagrama resulta etiquetado,
1843 pero no el segundo, porque hemos omitido el nombre del contexto.
1845 @lilypond[quote,verbatim,ragged-right]
1847 \new Staff \relative c'' {
1848 \set Staff.instrumentName = #"Soprano"
1851 \new Staff \relative c' {
1852 \set instrumentName = #"Alto" % Wrong!
1858 Recuerde que el nombre del contexto predeterminado es Voice, así que
1859 la segunda instrucción @code{\set} establece la propiedad
1860 @code{instrumentName} del contexto Voice a @qq{Alto}, pero como
1861 LilyPond no busca esta propiedad en el contexto @code{Voice}, no se
1862 realiza ninguna acción. Esto no es un error, y no se registra ningún
1863 mensaje en el archivo Log de registro de errores.
1865 De forma parecida, si el nombre de la propiedad se escribe con alguna
1866 falta, no se produce ningún mensaje de error, y claramente la acción
1867 esperada no puede tener lugar. De hecho, se puede establecer
1868 cualquier @q{property} (ficticia) usando cualquier nombre que queramos
1869 en cualquier contexto que exista, mediante el uso de la instrucción
1870 @code{\set}. Pero si el nombre no es conocido para LilyPond, no
1871 producirá ninguna acción. Esta es una de las razones por las que es
1872 muy recomendable usar un editor que sea sensible al contexto y con
1873 resaltado de la sintaxis para la edición de archivos de LilyPond, como
1874 por ejemplo Vim, Jedit, ConTEXT o Emacs, ya que los nombres de
1875 propiedades desconocidas se resaltarán de forma distinta.
1877 La propiedad @code{instrumentName} tendrá efecto solamente si se
1878 establece dentro del contexto @code{Staff}, pero algunas propiedades
1879 se pueden establecer en más de un contexto. Por ejemplo, la propiedad
1880 @code{extraNatural} está establecida por defecto al valor ##t
1881 (verdadero) para todos los pentagramas. Si se establece a ##f (falso)
1882 en un contexto de @code{Staff} determinado, se aplicará solamente a
1883 las alteraciones de ese pentagrama. Si se establece a falso en el
1884 contexto de la partitura, @code{Score}, se aplicará a todos los
1887 Así, esto desactivará los becuadros adicionales en un pentagrama:
1889 @lilypond[quote,verbatim,ragged-right]
1891 \new Staff \relative c'' {
1894 \new Staff \relative c'' {
1895 \set Staff.extraNatural = ##f
1902 y esto los desactivará en todos los pentagramas:
1904 @lilypond[quote,verbatim,ragged-right]
1906 \new Staff \relative c'' {
1909 \new Staff \relative c'' {
1910 \set Score.extraNatural = ##f
1916 Como un ejemplo más, si se establece @code{clefOctavation} dentro del
1917 contexto de @code{Score}, éste cambia inmediatamente el valor de la
1918 octavación en todos los pentagramas en curso y establece un nuevo
1919 valor predeterminado que se aplicará a todos los pentagramas.
1921 La instrucción opuesta, @code{\unset}, tiene el efecto de suprimir la
1922 propiedad del contexto, lo que ocasiona que la mayoría de las
1923 porpiedades vuelvan a su valor predeterminado. Normalmente no es
1924 necesario el uso de @code{\unset}, pues una nueva instrucción
1925 @code{\set} hará el ajuste deseado.
1927 Las instrucciones @code{\set} y @code{\unset} pueden aparecer en
1928 cualquier lugar del archivo de entrada y tendrán efecto a partir del
1929 tiempo en que se encuentran y hasta el final de la partitura o hasta
1930 que la propiedad se establezca de nuevo mediante @code{\set} o
1931 @code{\unset}. Probemos a modificar el tamaño de la fuente
1932 tipográfica, lo que afecta al tamaño de las cabezas de las notas
1933 (entre otras cosas) varias veces. El cambio se toma a partir del
1934 valor predeterminado, no el valor en curso.
1936 @lilypond[quote,verbatim,ragged-right,relative=1,fragment]
1938 % make note heads smaller
1941 % make note heads larger
1942 \set fontSize = #2.5
1944 % return to original size
1949 Hemos podido ver cómo establecer los valores de diversos tipos de
1950 propiedad diferentes. Observe que los números enteros y reales van
1951 siempre precedidos de un símbolo de cuadradillo, @code{#}, mientras
1952 que un valor booleano verdadero o falso se especifica mediante ##t y
1953 ##f, con dos cuadradillos. Una propiedad de texto se debe encerrar
1954 entre comillas dobles, como antes, aunque veremos más adelante que el
1955 texto realmente se puede especificar de una forma mucho más general
1956 utilizando la potentísima instrucción @code{markup}.
1960 @cindex contexto, propiedades de, establecimiento con \with
1962 Las propiedades de contexto también se pueden establecer en el momento
1963 en que se crea el contexto. A veces esta forma de establecer el valor
1964 de una propiedad es mucho más clara, si ha de quedar fijo durante todo
1965 el tiempo que dure el contexto. Cuando se crea un contexto con una
1966 instrucción @code{\new} puede ir inmediatamente seguido de un bloque
1967 @code{\with @{ .. @}} en el que se establecen los valores de las
1968 propiedades. Por ejemplo, si queremos suprimir la impresión de
1969 becuadros adicionales para toda la duración de un pentagrama, podemos
1973 \new Staff \with @{ extraNatural = ##f @}
1977 de la siguiente forma:
1979 @lilypond[quote,verbatim,ragged-right]
1985 \new Staff \with { extraNatural = ##f }
1992 Las propiedades ajustadas de esta manera aún pueden cambiarse
1993 dinámicamente utilizando @code{\set} y ser devueltas a sus valores
1994 predeterminados mediante @code{\unset}.
1996 La propiedad @code{fontSize} se trata de forma distinta. Si se ajusta
1997 dentro de una cláusula @code{\with}, tiene el efecto de reiniciar el
1998 valor predeterminado del tamaño de la fuente tipográfica. Si más
1999 tarde se modifica con @code{\set}, este nuevo valor predeterminado
2000 puede restablecerse con la instrucción @code{\unset fontSize}.xs
2002 @node Adding and removing engravers
2003 @subsection Adding and removing engravers
2005 @cindex Grabadores, adición
2006 @cindex Grabadores, eliminación
2011 Hemos visto que cada uno de los contextos contiene varios grabadores,
2012 cada uno de los cuales a su vez es responsable de la producción de una
2013 fracción particular del resultado impreso, como líneas divisorias,
2014 pentagramas, cabezas, plicas, etc. Si un grabador es eliminado de un
2015 contexto, ya no podrá producir su salida impresa. Es una forma algo
2016 radical de modificar la salida, pero a veces puede ser útil.
2018 @subsubheading Changing a single context
2020 Para eliminar un grabador de un contexto único, usamos la instrucción
2021 @code{\with} situada inmediatamente después de la instrucción que crea
2022 el contexto, como en la sección anterior.
2024 Como ilustración, repitamos un ejemplo extraído de la sección anterior
2025 con las líneas del pentagrama eliminadas. Recuerde que las líneas del
2026 pentagrama están dibujadas por el grabador Staff_symbol_engraver.
2028 @lilypond[quote,verbatim,ragged-right]
2030 \remove Staff_symbol_engraver
2034 \set fontSize = #-4 % make note heads smaller
2036 \set fontSize = #2.5 % make note heads larger
2038 \unset fontSize % return to original size
2043 @cindex ámbito, grabador del
2045 Los grabadores también se pueden añadir a los contextos individuales
2046 La instrucción que lo hace es
2048 @code{\consists @emph{Nombre_del_grabador}},
2050 situada dentro de un bloque @code{\with}. Ciertas partituras vocales
2051 tienen una indicación de @rglos{ambitus} situada al principio del
2052 pentagrama para indicar el ámbito de notas en dicho pentagrama. El
2053 ambitus se produce por parte del grabador @code{Ambitus_engraver}, que
2054 normalmente no está incluido en ningún contexto. Si lo añadimos al
2055 contexto @code{Voice}, calcula el rango a partir de esa única voz:
2057 @lilypond[quote,verbatim,ragged-right]
2060 \consists Ambitus_engraver
2075 pero si añadimos el grabador de Ambitus al contexto de @code{Staff},
2076 calcula el rango a partir de todas las notas en todas las voces de ese
2079 @lilypond[quote,verbatim,ragged-right]
2081 \consists Ambitus_engraver
2097 @subsubheading Changing all contexts of the same type
2099 Los ejemplos anteriores muestran la manera de eliminar o añadir
2100 grabadores a los contextos individuales. También es posible eliminar
2101 o añadir grabadores a todos los contextos de un tipo específico,
2102 situando las instrucciones en el contexto correspondiente dentro de un
2103 bloque @code{\layout}. Por ejemplo, si queremos mostrar los rangos de
2104 tesitura para todos los pentagramas de una partitura de cuatro pautas,
2107 @lilypond[quote,verbatim,ragged-right]
2111 \relative c'' { c a b g }
2114 \relative c' { c a b g }
2118 \relative c' { c a b g }
2122 \relative c { c a b g }
2128 \consists Ambitus_engraver
2135 Los valores predeterminados de las propiedades de los contextos
2136 también se pueden establecer para todos los contextos de un tipo en
2137 particular incluyendo la instrucción @code{\set} dentro de un bloque
2138 @code{\context} de la misma forma.
2140 @node Extending the templates
2141 @section Extending the templates
2143 Ha leído el tutorial y ahora sabe escribir música. Pero ¿cómo puede
2144 poner los pentagramas que quiere? Las plantillas están muy bien, pero
2145 ¿qué ocurre si quiere algo que no está en una de ellas? Bien, puede
2146 encontrar montañas de plantillas (véase @ref{Templates}) que le pueden
2147 servir como punto de partida. Pero ¿y si quiere algo que no está
2148 contemplado aquí? Continúe leyendo.
2152 * Soprano and cello::
2153 * Four-part SATB vocal score::
2154 * Building a score from scratch::
2157 @node Soprano and cello
2158 @subsection Soprano and cello
2160 @cindex plantilla, modificar
2162 Para empezar, tome la plantilla que le parezca más parecida a aquello
2163 que quiere conseguir. Digamos que quiere escribir algo para soprano y
2164 cello. En este caso comenzaríamos con la plantilla @q{Notas y letra}
2165 (para la parte de soprano).
2168 \version @w{"@version{}"}
2169 melodia = \relative c' @{
2176 texto = \lyricmode @{
2182 \new Voice = "uno" @{
2186 \new Lyrics \lyricsto "uno" \texto
2193 Ahora queremos añadir una parte de violoncello. Veamos el ejemplo
2197 \version @w{"@version{}"}
2198 melodia = \relative c' @{
2212 No necesitamos dos instrucciones @code{\version}. Vamos a necesitar
2213 la sección @code{melodia}. No queremos dos secciones @code{\score}
2214 (si tuviésemos dos @code{\score}s, acabaríamos con las dos particellas
2215 por separado. Queremos las dos juntas, como un dúo. Dentro de la
2216 sección @code{\score}, no nos hacen falta dos @code{\layout} ni dos
2219 Si nos limitásemos a copiar y pegar la sección @code{melodia},
2220 acabaríamos con dos secciones @code{melodia} separadas, así que vamos
2221 a cambiarles el nombre. Llamaremos @code{musicaSoprano} a la sección
2222 de la soprano y @code{musicaCello} a la sección del violoncello. Al
2223 mismo tiempo cambiaremos el nombre de @code{texto} a
2224 @code{letraSoprano}. Recuerde cambiar el nombre a las dos apariciones
2225 de todos estos nombres -- tanto la definición inicial (la parte
2226 @code{melodia = relative c' @{ }) -- como el uso de ese nombre (en la
2227 sección @code{\score}).
2229 También aprovecharemos para cambiar el pentagrama de la parte del
2230 cello (los violoncellos se escriben normalmente en clave de Fa).
2231 Asimismo, cambiaremos algunas notas del cello.
2234 \version @w{"@version{}"}
2235 musicaSoprano = \relative c' @{
2242 letraSoprano = \lyricmode @{
2246 musicaCello = \relative c @{
2256 \new Voice = "uno" @{
2260 \new Lyrics \lyricsto "uno" \letraSoprano
2267 Esto tiene una apariencia prometedora, pero la parte del cello no sale
2268 en la partitura (no la hemos puesto en la sección @code{\score}). Si
2269 queremos que la parte del cello aparezca debajo de la de soprano,
2273 \new Staff \musicaCello
2277 justo debajo de todo lo de la soprano. También tenemos que poner
2278 @code{<<} y @code{>>} antes y después de la música -- lo que indica a
2279 LilyPond que hay más de una cosa (en este caso, @code{Staff})
2280 sucediendo al mismo tiempo -- . La @code{\score} se parecerá ahora a
2283 @c Indentation in this example is deliberately poor
2288 \new Voice = "uno" @{
2292 \new Lyrics \lyricsto "uno" \letraSoprano
2294 \new Staff \musicaCello
2302 Esto parece un poco enrevesado; los márgenes están descuadrados. Esto
2303 tiene fácil solución. Presentamos aquí la plantilla completa para
2306 @lilypond[quote,verbatim,ragged-right,addversion]
2307 sopranoMusic = \relative c' {
2315 sopranoLyrics = \lyricmode {
2319 celloMusic = \relative c {
2330 \new Voice = "one" {
2334 \new Lyrics \lyricsto "one" \sopranoLyrics
2336 \new Staff \celloMusic
2343 @node Four-part SATB vocal score
2344 @subsection Four-part SATB vocal score
2346 La mayor parte de las partituras vocales escritas para coro mixto a
2347 cuatro voces con acompañamiento orquestal, como el «Elías» de
2348 Mendelssohn o el «Mesías» de Haendel, tienen la música coral y la
2349 letra en cuatro pentagramas para S, A, T y B, respectivamente, con una
2350 reducción de piano del acompañamiento de orquesta, por debajo. He aquí
2351 un ejemplo del «Mesías» de Haendel:
2353 @c The following should appear as music without code
2354 @lilypond[quote,ragged-right]
2355 global = { \key d \major \time 4/4 }
2356 sopMusic = \relative c'' {
2358 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2360 sopWords = \lyricmode {
2361 Wor -- thy is the lamb that was slain
2363 altoMusic = \relative a' {
2365 r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
2367 altoWords = \sopWords
2368 tenorMusic = \relative c' {
2370 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2372 tenorWords = \sopWords
2373 bassMusic = \relative c' {
2375 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2377 bassWords = \sopWords
2378 upper = \relative a' {
2381 r4 <a d fis>2 <a e' a>4 |
2382 <d fis d'>4. <d fis d'>8 <a d a'>2 |
2383 <g cis g'>4 <a d fis> <a cis e>2 |
2385 lower = \relative c, {
2388 <d d'>4 <d d'>2 <cis cis'>4 |
2389 <b b'>4. <b' b'>8 <fis fis'>2 |
2390 <e e'>4 <d d'> <a' a'>2 |
2394 << % combine ChoirStaff and PianoStaff in parallel
2396 \new Staff = "sopranos" <<
2397 \set Staff.instrumentName = "Soprano"
2398 \new Voice = "sopranos" { \global \sopMusic }
2400 \new Lyrics \lyricsto "sopranos" { \sopWords }
2401 \new Staff = "altos" <<
2402 \set Staff.instrumentName = "Alto"
2403 \new Voice = "altos" { \global \altoMusic }
2405 \new Lyrics \lyricsto "altos" { \altoWords }
2406 \new Staff = "tenors" <<
2407 \set Staff.instrumentName = "Tenor"
2408 \new Voice = "tenors" { \global \tenorMusic }
2410 \new Lyrics \lyricsto "tenors" { \tenorWords }
2411 \new Staff = "basses" <<
2412 \set Staff.instrumentName = "Bass"
2413 \new Voice = "basses" { \global \bassMusic }
2415 \new Lyrics \lyricsto "basses" { \bassWords }
2419 \set PianoStaff.instrumentName = "Piano "
2420 \new Staff = "upper" \upper
2421 \new Staff = "lower" \lower
2427 Ninguna de las plantillas proporciona esta disposición con exactitud.
2428 La más parecida es @q{partitura vocal SATB y reducción de piano
2429 automática}, pero necesitamos cambiar la disposición y añadir un
2430 acompañamiento de piano que no esté derviado automáticamente de las
2431 partes vocales. Las variables que contienen la música y la letra de
2432 las partes vocales es adecuada, pero tendremos que añadir variables
2433 para la reducción de piano.
2435 El orden en que aparecen los contextos en el ChoirStaff de la
2436 plantilla no se corresponde con el orden de la partitura vocal que
2437 hemos mostrado más arriba. Tenemos que reordenarlas para que haya
2438 cuatro pentagramas con la letra escrita directamente bajo las notas de
2439 cada parte. Todas las voces deben ser @code{\voiceOne}, que es la
2440 predeterminada, para que las instrucciones @code{\voiceXXX} se puedan
2441 eliminar. También tenemos que especificar la clave de tenor (clave de
2442 sol octava baja) en las partes de tenor. Aún no hemos encontrado la
2443 forma en que la letra se especifica en la plantilla, así que tenemos
2444 que utilizar el método que nos resulta familiar. También tenemos que
2445 escribir los nombres de cada pentagrama.
2447 Al hacerlo así obtenemos el ChoirStaff siguiente:
2451 \new Staff = "sopranos" <<
2452 \set Staff.instrumentName = "Soprano"
2453 \new Voice = "sopranos" @{ \global \musicaSoprano @}
2455 \new Lyrics \lyricsto "sopranos" @{ \latraSoprano @}
2456 \new Staff = "altos" <<
2457 \set Staff.instrumentName = "Alto"
2458 \new Voice = "altos" @{ \global \musicaAlto @}
2460 \new Lyrics \lyricsto "altos" @{ \letraAlto @}
2461 \new Staff = "tenores" <<
2462 \set Staff.instrumentName = "Tenor"
2463 \new Voice = "tenores" @{ \global \musicaTenor @}
2465 \new Lyrics \lyricsto "tenors" @{ \letraTenor @}
2466 \new Staff = "bajos" <<
2467 \set Staff.instrumentName = "Bass"
2468 \new Voice = "bajos" @{ \global \musicaBajo @}
2470 \new Lyrics \lyricsto "basses" @{ \letraBajo @}
2471 >> % fin del ChoirStaff
2474 A continuación debemos trabajar sobre la parte de piano. Es fácil:
2475 tan sólo hay que sacar la parte de piano de la plantilla de @q{Piano
2480 \set PianoStaff.instrumentName = "Piano "
2481 \new Staff = "superior" \superior
2482 \new Staff = "inferior" \inferior
2486 y escribir las definiciones de variable para @code{superior} e
2489 Los grupos ChoirStaff y PianoStaff se deben combinar utilizando
2490 ángulos dobles, ya queremos apilarlos unos sobre otros:
2493 << % combinar los grupos ChoirStaff y PianoStaff uno sobre el otro
2495 \new Staff = "sopranos" <<
2496 \new Voice = "sopranos" @{ \global \musicaSoprano @}
2498 \new Lyrics \lyricsto "sopranos" @{ \letraSoprano @}
2499 \new Staff = "altos" <<
2500 \new Voice = "altos" @{ \global \musicaAlto @}
2502 \new Lyrics \lyricsto "altos" @{ \letraAlto @}
2503 \new Staff = "tenores" <<
2504 \clef "G_8" % clave de tenor
2505 \new Voice = "tenores" @{ \global \musicaTenor @}
2507 \new Lyrics \lyricsto "tenores" @{ \letraTenor @}
2508 \new Staff = "bajos" <<
2510 \new Voice = "bajos" @{ \global \musicaBajo @}
2512 \new Lyrics \lyricsto "bajos" @{ \letraBajo @}
2513 >> % fin del ChoirStaff
2516 \set PianoStaff.instrumentName = "Piano "
2517 \new Staff = "upper" \upper
2518 \new Staff = "lower" \lower
2523 Al combinar todo esto junto y escribir la música de los tres compases
2524 del ejemplo anterior, obtenemos:
2526 @lilypond[quote,verbatim,ragged-right,addversion]
2527 global = { \key d \major \time 4/4 }
2528 sopMusic = \relative c'' {
2530 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2532 sopWords = \lyricmode {
2533 Wor -- thy is the lamb that was slain
2535 altoMusic = \relative a' {
2537 r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2539 altoWords = \sopWords
2540 tenorMusic = \relative c' {
2542 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2544 tenorWords = \sopWords
2545 bassMusic = \relative c' {
2547 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2549 bassWords = \sopWords
2550 upper = \relative a' {
2553 r4 <a d fis>2 <a e' a>4 |
2554 <d fis d'>4. <d fis d'>8 <a d a'>2 |
2555 <g cis g'>4 <a d fis> <a cis e>2 |
2557 lower = \relative c, {
2560 <d d'>4 <d d'>2 <cis cis'>4 |
2561 <b b'>4. <b' b'>8 <fis fis'>2 |
2562 <e e'>4 <d d'> <a' a'>2 |
2566 << % combine ChoirStaff and PianoStaff in parallel
2568 \new Staff = "sopranos" <<
2569 \set Staff.instrumentName = "Soprano"
2570 \new Voice = "sopranos" { \global \sopMusic }
2572 \new Lyrics \lyricsto "sopranos" { \sopWords }
2573 \new Staff = "altos" <<
2574 \set Staff.instrumentName = "Alto"
2575 \new Voice = "altos" { \global \altoMusic }
2577 \new Lyrics \lyricsto "altos" { \altoWords }
2578 \new Staff = "tenors" <<
2579 \set Staff.instrumentName = "Tenor"
2580 \new Voice = "tenors" { \global \tenorMusic }
2582 \new Lyrics \lyricsto "tenors" { \tenorWords }
2583 \new Staff = "basses" <<
2584 \set Staff.instrumentName = "Bass"
2585 \new Voice = "basses" { \global \bassMusic }
2587 \new Lyrics \lyricsto "basses" { \bassWords }
2591 \set PianoStaff.instrumentName = "Piano "
2592 \new Staff = "upper" \upper
2593 \new Staff = "lower" \lower
2600 @node Building a score from scratch
2601 @subsection Building a score from scratch
2603 @cindex plantilla, escribir su propia
2605 Después de adquirir algo de soltura en la escritura del código de
2606 LilyPond, se dará cuenta de que es más fácil construir completamente
2607 una partitura partiendo de cero, que modificar una plantilla. También
2608 puede desarrollar su propio estilo de forma que se adapte al tipo de
2609 música que le apetezca. Veamos a continuación cómo confeccionar una
2610 partitura para un preludio de órgano, como ejemplo.
2612 Comenzamos con una sección para el encabezamiento. Aquí es donde van
2613 el título, nombre del compositor, etc., después van las definiciones
2614 de las variables, y finalmente el bloque de partitura. Comencemos a
2615 verlas por encima y más tarde completaremos los detalles.
2617 Utilizaremos los dos primeros compases del preludio de Bach basado en
2618 @emph{Jesu, meine Freude}, que está escrito para órgano con dos
2619 manuales y pedal. Tiene estos dos compases de música al final de la
2620 sección. La parte del manual superior tiene dos voces, y el inferior
2621 y el pedal, una voz cada uno. Así pues, necesitamos cuatro
2622 definiciones para la música y una más para definir el compás y la
2626 \version @w{"@version{}"}
2628 title = "Jesu, meine Freude"
2629 composer = "J S Bach"
2631 TimeKey = @{ \time 4/4 \key c \minor @}
2632 MusicaManualUnoVozUno = @{s1@}
2633 MusicaManualUnoVozDos = @{s1@}
2634 MusicaManualDos = @{s1@}
2635 MusicaPedal = @{s1@}
2641 Por el momento hemos escrito tan sólo una nota espaciadora, @code{s1},
2642 en lugar de la música de verdad. La añadiremos más adelante.
2644 A continuación veamos qué va en el bloque de partitura.
2645 Sencillamente, reflejaremos la estructura de pentagramas que deseemos.
2646 La música de órgano se escribe por lo general en tres pentagramas, uno
2647 para cada uno de los manuales y otro para el pedal. Los pentagramas
2648 de los manuales se abarcan con una llave, así que los incluiremos en
2649 un grupo PianoStaff. La primera parte de manual tiene dos voces, y la
2654 \new Staff = "ManualUno" <<
2655 \new Voice @{ \MusicaManualUnoVozUno @}
2656 \new Voice @{ \MusicaManualUnoVozDos @}
2657 >> % fin del contexto de Staff ManualUno
2658 \new Staff = "ManualDos" <<
2659 \new Voice @{ \MusicaManualDos @}
2660 >> % fin del contexto de Staff ManualDos
2661 >> % fin del contexto de PianoStaff
2664 Después, tenemos que añadir un pentagrama para el órgano de pedal.
2665 Esto va por debajo del PianoStaff, pero debe ser simultáneo con él,
2666 por lo que escribimos dobles ángulos rodeando a los dos. Si esto se
2667 nos olvida, se producirá un error en el archivo log de registro. ¡Es
2668 un error muy común que cometerá antes o después! Intente copiar el
2669 ejemplo final que aparece al final de la sección, borre los dobles
2670 ángulos y procese el archivo para ver qué error produce.
2673 << % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
2675 \new Staff = "ManualUno" <<
2676 \new Voice @{ \MusicaManualUnoVozUno @}
2677 \new Voice @{ \MusicaManualUnoVozDos @}
2678 >> % fin del contexto de Staff ManualUno
2679 \new Staff = "ManualDos" <<
2680 \new Voice @{ \MusicaManualDos @}
2681 >> % fin del contexto de Staff ManualDos
2682 >> % fin del contexto de PianoStaff
2683 \new Staff = "OrganoPedal" <<
2684 \new Voice @{ \MusicaOrganoPedal @}
2689 No es estrictamente necesario utilizar la construcción simultánea
2690 @code{<< >>} para el pentagrama del manual dos y el pentagrama del
2691 órgano de pedal, ya que contienen una única expresión, pero no hace
2692 daño y es una buena costumbre utilizar siempre dobles ángulos después
2693 de @code{\new Staff} cuando hay varias voces. Lo opuesto es cierto
2694 para las voces: normalmente deben ir seguidas de llaves @code{@{
2695 .. @}} en caso de que tengamos música codificada como distintas
2696 variables que se deben situar consecutivamente.
2698 Añadamos esta estructura al bloque de partitura, y ajustemos el
2699 sangrado de los márgenes. También escribimos las claves
2700 correspondientes, nos aseguramos de que las plicas de la segunda voz
2701 apuntan hacia abajo mediante @code{\voiceTwo} y escribimos el compás y
2702 la tonalidad en cada uno de los pentagramas usando nuestra variable
2703 previamente definida @code{\TimeKey}.
2707 << % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
2709 \new Staff = "ManualUno" <<
2710 \TimeKey % establecer compás y tonalidad
2712 \new Voice @{ \MusicaManualUnoVozUno @}
2713 \new Voice @{ \voiceTwo \MusicaManualUnoVozDos @}
2714 >> % fin del contexto de Staff ManualUno
2715 \new Staff = "ManualDos" <<
2718 \new Voice @{ \MusicaManualDos @}
2719 >> % fin del contexto de Staff ManualDos
2720 >> % fin del contexto de PianoStaff
2721 \new Staff = "OrganoPedal" <<
2724 \new Voice @{ \MusicaOrganoPedal @}
2725 >> % fin del pentagrama de OrganoPedal
2727 @} % end Score context
2730 Con esto se completa la estructura. Toda música para órgano de tres
2731 pentagramas tendrá una estructura similar, aunque el número de voces
2732 puede variar. Todo lo que nos queda es añadir la música, y combinar
2735 @lilypond[quote,verbatim,ragged-right,addversion]
2737 title = "Jesu, meine Freude"
2738 composer = "J S Bach"
2740 TimeKey = { \time 4/4 \key c \minor }
2741 ManualOneVoiceOneMusic = \relative g' {
2742 g4 g f ees | d2 c2 |
2744 ManualOneVoiceTwoMusic = \relative c' {
2745 ees16 d ees8~ ees16 f ees s c8 d~ d c~ |
2746 c c4 b8 c8. g16 c b c d |
2748 ManualTwoMusic = \relative c' {
2749 c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
2750 f ees f d g aes g f ees d e8~ ees16 f ees d |
2752 PedalOrganMusic = \relative c {
2753 r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
2754 r16 g ees f g f g8 c,2 |
2758 << % PianoStaff and Pedal Staff must be simultaneous
2760 \new Staff = "ManualOne" <<
2761 \TimeKey % set time signature and key
2763 \new Voice { \ManualOneVoiceOneMusic }
2764 \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
2765 >> % end ManualOne Staff context
2766 \new Staff = "ManualTwo" <<
2769 \new Voice { \ManualTwoMusic }
2770 >> % end ManualTwo Staff context
2771 >> % end PianoStaff context
2772 \new Staff = "PedalOrgan" <<
2775 \new Voice { \PedalOrganMusic }
2776 >> % end PedalOrgan Staff
2778 } % end Score context