1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
4 Translation of GIT committish: 6b9b2c2e3e701852485c24bc71f404effc6d83ec
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. For details, see the Contributors'
8 Guide, node Updating translation committishes..
14 @node Conceptos fundamentales
15 @chapter Conceptos fundamentales
16 @translationof Fundamental concepts
18 Ha podido ver en el tutorial cómo producir música bellamente impresa a
19 partir de un simple archivo de texto. Esta sección presenta los
20 conceptos y técnicas que se requieren para producir partituras
21 igualmente bellas pero más complejas.
24 * Cómo funcionan los archivos de entrada de LilyPond::
25 * Las voces contienen música::
26 * Contextos y grabadores::
27 * Extender las plantillas::
31 @node Cómo funcionan los archivos de entrada de LilyPond
32 @section Cómo funcionan los archivos de entrada de LilyPond
33 @translationof How LilyPond input files work
35 El formato de entrada de LilyPond es bastante libre en su forma y
36 concede a los usuarios con experiencia mucha flexibilidad para
37 estructurar sus archivos de la forma que deseen. Sin embargo, toda
38 esta flexibilidad puede hacer que las cosas se vuelvan confusas para
39 los nuevos usuarios. Esta sección le va a explicar parte de esta
40 estructura, pero puede obviar ciertos detalles en aras de la
41 simplicidad. Para ver una descripción completa del formato de
42 entrada, consulte @ruser{Estructura del archivo}.
46 * Introducción a la estructura de los archivos de LilyPond::
47 * La partitura es una (única) expresión musical compuesta::
48 * Anidado de expresiones musicales::
49 * Acerca de la no anidabilidad de llaves y ligaduras::
52 @node Introducción a la estructura de los archivos de LilyPond
53 @subsection Introducción a la estructura de los archivos de LilyPond
54 @translationof Introduction to the LilyPond file structure
56 @cindex entrada, formato de la
57 @cindex archivo, estructura del
59 Un ejemplo básico de archivo de entrada de LilyPond es el siguiente:
62 \version @w{"@version{}"}
67 @var{...expresión musical compuesta...} % toda la música viene aquí
74 Existen muchas variaciones de este esquema básico, pero el ejemplo
75 constituye un útil punto de partida.
82 @cindex score (partitura)
86 Hasta el momento, ninguno de los ejemplos que ha podido ver utiliza la
87 instrucción @code{\score@{@}}. Esto es así a causa de que LilyPond
88 añade automáticamente las órdenes adicionales que se requieren cuando
89 le proporcionamos una entrada sencilla. LilyPond trata una entrada
99 como una abreviatura de esta otra:
116 En otras palabras, si la entrada consta de una única expresión
117 musical, LilyPond interpreta el archivo como si la expresión musical
118 estuviera rodeada por un envoltorio hecho por las instrucciones que
121 @cindex contextos implícitos
122 @cindex implícitos, contextos
124 @strong{¡Advertencia!} Muchos de los ejemplos que aparecen en la
125 documentación de LilyPond omiten las instrucciones @code{\new Staff} y
126 @code{\new Voice}, dejando que se creen de forma implícita. Esto
127 funciona bien para ejemplos sencillos, pero para ejemplos más
128 complicados, especialmente cuando se usan instrucciones adicionales,
129 la creación implícita de los contextos puede dar lugar a resultados
130 inesperados, incluso en ocasiones crear pentagramas no deseados. La
131 forma de crear contextos de forma explícita se explica en
132 @ref{Contextos y grabadores}.
134 @warning{Cuando se escriben más de unas pocas líneas de música, se
135 recomienda crear siempre los pentagramas y las voces de forma
138 De todas formas, por ahora vamos a volver al primer ejemplo para
139 examinar la instrucción @code{\score}, dejando las demás en su forma
142 Un bloque @code{\score} siempre debe contener una expresión musical
143 única, que debe aparecer inmediatamente después de la instrucción
144 @code{\score}. Recuerde que una expresión musical podía ser cualquier
145 cosa entre una sola nota hasta una enorme expresión compuesta como
150 @var{...inserte aquí la partitura completa de una ópera de Wagner...}
156 Puesto que todo se encuentra dentro de @code{@{ ... @}}, cuenta como
157 una expresión musical.
159 Como vimos anteriormente, el bloque @code{\score} puede contener otras
182 Observe que estas tres instrucciones (@code{\header}, @code{\layout} y
183 @code{\midi}) son especiales: a diferencia del resto de las
184 instrucciones que comienzan con una barra invertida (@code{\}),
185 @emph{no} son expresiones musicales y no forman parte de ninguna
186 expresión musical. Por tanto, se pueden situar dentro de un bloque
187 @code{\score} o fuera de él. De hecho, estas instrucciones se sitúan
188 por lo general fuera del bloque @code{\score} (por ejemplo,
189 @code{\header} se suele colocar antes de la instrucción @code{\score},
190 como muestra el ejemplo que aparece al principio de la sección.
192 Dos instrucciones más que no hemos visto aún son @code{\layout @{ @}}
193 y @code{\midi @{ @}}. Si aparecen tal y como se muestran aquí, hacen
194 que LilyPond produzca una salida impresa y una salida MIDI,
195 respectivamente. Se describen con todo detalle en el manual de
196 Referencia de la notación, en @ruser{Disposición de la partitura} y en
197 @ruser{Crear archivos MIDI}.
199 @cindex partituras, varias
200 @cindex book, bloque implícito
201 @cindex implícito, bloque book
205 Podemos escribir varios bloques @code{\score}. Cada uno de ellos
206 recibirá el mismo tratamiento que una partitura independiente, pero se
207 combinarán todos juntos en un archivo de salida único. No se necesita
208 ninguna instrucción @code{\book}, se creará una implícitamente. Sin
209 embargo, si quiere archivos de salida separados a partir de un único
210 archivo @file{.ly}, entonces es necesario utilizar la instrucción
211 @code{\book} para separar las distintas secciones: cada bloque
212 @code{\book} produce un archivo de salida distinto.
216 Cada bloque @code{\book} crea un archivo de salida distinto (por
217 ejemplo, un archivo PDF). Si no hemos escrito uno de forma explícita,
218 LilyPond envuelve todo nuestro código de entrada dentro de un bloque
219 @code{\book} de forma implícita.
221 Cada bloque @code{\score} es un trozo de música separado dentro de un
224 @cindex layout, efecto de la situación del bloque
226 Cada bloque @code{\layout} afecta al bloque @code{\score} o
227 @code{\book} dentro del cual aparece (es decir, un bloque
228 @code{\layout} dentro de un bloque @code{\score} afecta solamente a
229 ese bloque @code{\score}, pero un bloque @code{\layout} fuera de un
230 bloque @code{\score} (que por ello está dentro de un bloque
231 @code{\book}, ya sea explícita o implícitamente) afecta a los bloques
232 @code{\score} que están dentro de ese @code{\book}.
234 Para ver más detalles, consulte @ruser{Varias partituras en un libro}.
238 Otro magnífico atajo es la posibilidad de definir variables como
239 se muestra en @ref{Organizar las piezas mediante variables}. Todas las
240 plantillas emplean lo siguiente:
243 melodia = \relative c' @{
252 Cuando LilyPond examina este archivo, toma el valor de @code{melodia}
253 (todo lo que está después del signo igual) y lo inserta dondequiera
254 que ve @code{\melodia}. No se requiere un cuidado especial con el
255 nombre (puede ser @code{melodia}, @code{global},
256 @code{CompasArmadura}, @code{manoderechadelpiano} o
257 @code{fulanomengano} o cualquier otro). Recuerde que puede usar casi
258 cualquier nombre que se le ocurra, en la medida en que contenga
259 solamente caracteres alfabéticos y sea diferente de cualquiera de los
260 nombres de instrucción de LilyPond. Para ver más detalles, consulte @ref{Ahorrar
261 tecleo mediante variables y funciones}. Las limitaciones exactas que
262 afectan a los nombres de variable se detallan en @ruser{Estructura del
267 Para ver una definición completa del formato del código de entrada,
268 consulte @ruser{Estructura del archivo}.
271 @node La partitura es una (única) expresión musical compuesta
272 @subsection La partitura es una (única) expresión musical compuesta
273 @translationof Score is a (single) compound musical expression
277 @cindex contenido del bloque score
278 @cindex score, contenido del bloque
279 @cindex compuesta, expresión musical
280 @cindex musical, expresión, compuesta
281 @cindex expresión musical compuesta
285 En la sección anterior, @ref{Introducción a la estructura de los
286 archivos de LilyPond}, hemos podido ver la organización general de los
287 archivos de entrada de LilyPond. Pero parece que nos saltamos la
288 parte más importante: ¿cómo averiguamos qué escribir después de
291 No nos hemos saltado nada en absoluto. El gran misterio es,
292 sencillamente, que no hay @emph{ningún} misterio. La siguiente línea
296 @emph{Un bloque @code{\score} debe comenzar con una expresión musical
301 Para comprender lo que se entiende por expresión musical y expresión
302 musical compuesta, quizá encuentre útil dar un repaso al tutorial,
303 @ref{Explicación de las expresiones musicales}. En esta sección vimos cómo
304 elaborar grandes expresiones musicales a partir de pequeñas piezas
305 (comenzábamos con notas, luego acordes, etc.). Ahora partiremos de
306 una gran expresión musical y recorreremos el camino inverso hacia
307 abajo. Por simplicidad, vamos a hacer sólo un cantante y un piano.
308 No necesitamos un @code{StaffGroup} (que simplemente agrupa un cierto
309 número de pautas con un corchete a la izquierda) para este conjunto,
310 así que lo retiramos. Sin embargo, @emph{sí} necesitamos pentagramas
311 para un cantante y un piano.
316 \new Staff = "cantante" <<
318 \new PianoStaff = "piano" <<
325 Aquí hemos asignado nombres a los pentagramas: @qq{cantante} y
326 @qq{piano}. Esto no es esencial en este momento, pero es un hábito
327 que resulta útil cultivar de manera que podamos saber de un vistazo
328 para qué es cada pentagrama.
330 Recuerde que utilizamos @code{<< ... >>} en lugar de @code{@{ ... @}}
331 para presentar la música simultánea. Esto hace que las partes vocal y
332 del piano aparezcan una sobre la otra en la partitura. La
333 construcción @code{<< ... >>} no sería necesaria para el pentagrama
334 del cantante en el ejemplo de arriba si contiene solamente una
335 expresión musical secuencial, pero se necesitarían los @code{<<
336 ... >>} en lugar de las llaves si la música de ese pentagrama fuese a
337 contener dos o más expresiones simultáneas, p.ej. dos voces
338 simultáneas, o una voz con letra. Vamos a tener una voz con letra,
339 por lo que se requieren los ángulos dobles. Después añadiremos algo
340 de música real; por ahora limitémonos a poner unas cuantas notas y
341 texto de relleno. Si ha olvidado cómo añadir la letra, puede releer
342 la sección @code{\addlyrics} de @ref{Elaborar canciones sencillas}.
344 @lilypond[verbatim,quote,ragged-right]
347 \new Staff = "singer" <<
348 \new Voice = "vocal" { c'1 }
351 \new PianoStaff = "piano" <<
352 \new Staff = "upper" { c'1 }
353 \new Staff = "lower" { c'1 }
360 Ahora tenemos muchos más detalles. Tenemos la pauta del cantante:
361 contiene una @code{Voice} o voz (en LilyPond, este término hace
362 referencia a un conjunto de notas, no necesariamente notas vocales --
363 por ejemplo, un violín generalmente toca una voz --) y el texto de la
364 canción. También tenemos una pauta de piano: contiene un pentagrama
365 superior (mano derecha) y un pentagrama inferior (mano izquierda),
366 aunque el pentagrama inferior aún no tiene la clave de Fa.
368 En este momento podríamos comenzar a meter las notas. Dentro de las
369 llaves que siguen a @code{\new Voice = "vocal"}, podríamos empezar
378 Pero si lo hiciéramos, la sección @code{\score} se haría bastante
379 larga y sería más difícil comprender lo que ocurre. En lugar de esto
380 utilizaremos identificadores o variables. Recordará que las vimos por
381 primera vez en la sección anterior.
383 Para asegurarnos de que el contenido de la variable @code{text} se
384 interpreta como letra, lo precedemos por @code{\lyricmode}. Como
385 @code{\addlyrics}, esto activa el modo de entrada de letra. Sin ello,
386 LilyPond trataría de interpretar el contenido como notas, lo que
387 generaría errores (Existen algunos otros modos, véase @ruser{Modos de
390 Así pues, escribiendo algunas notas, y una clave de Fa para la mano
391 izquierda, ahora tenemos un fragmento musical de verdad:
393 @lilypond[verbatim,quote,ragged-right]
394 melody = \relative c'' { r4 d8\noBeam g, c4 r }
395 text = \lyricmode { And God said, }
396 upper = \relative c'' { <g d g,>2~ <g d g,> }
397 lower = \relative c { b2 e }
401 \new Staff = "singer" <<
402 \new Voice = "vocal" { \melody }
405 \new PianoStaff = "piano" <<
406 \new Staff = "upper" { \upper }
407 \new Staff = "lower" {
417 Cuando escriba una sección @code{\score} o cuando la esté leyendo,
418 hágalo despacio y con cuidado. Comience por el nivel exterior y luego
419 trabaje sobre cada uno de los niveles interiores. También es de gran
420 ayuda ser muy estricto con los márgenes (asegúrese de que en su editor
421 de texto cada elemento del mismo nivel comienza en la misma posición
426 Referencia de la notación:
427 @ruser{Estructura de una partitura}.
430 @node Anidado de expresiones musicales
431 @subsection Anidado de expresiones musicales
432 @translationof Nesting music expressions
434 @cindex pentagramas temporales
435 @cindex temporales, pentagramas
438 No es esencial declarar todos los pentagramas al comienzo; se pueden
439 crear temporalmente en cualquier momento. Esto es de especial
440 utilidad para crear secciones de ossia (véase @rglos{ossia}). A
441 continuación presentamos un ejemplo sencillo que muestra cómo
442 introducir temporalmente un pentagrama nuevo mientras dura un
443 fragmento de tres notas:
445 @lilypond[verbatim,quote,ragged-right]
462 Advierta que el tamaño de la clave es igual al que se imprime en un
463 cambio de clave (ligeramente menor que la clave al principio de una
464 línea). Esto es normal para cualquier clave que se imprime en la
467 @cindex pentagrama, posicionado del
469 La sección ossia se puede colocar encima del pentagrama de la manera
472 @lilypond[verbatim,quote,ragged-right]
473 \new Staff = "main" {
480 alignAboveContext = #"main"
488 Este ejemplo utiliza @code{\with}, que se explica en todo detalle más
489 adelante. Es un medio de modificar el comportamiento predeterminado
490 de un solo pentagrama. Aquí, dice que el pentagrama nuevo se debe
491 colocar por encima del pentagrama llamado @qq{main} en vez de la
492 posición predeterminada que sería por debajo.
496 Los fragmentos de ossia se escriben a menudo sin clave y sin
497 indicación de compás, y generalmente en un tipo más pequeño. Esto
498 necesitaría más instrucciones que aún no se han visto. Véase
499 @ref{Tamaño de los objetos} y @ruser{Pentagramas de Ossia}.
502 @node Acerca de la no anidabilidad de llaves y ligaduras
503 @subsection Acerca de la no anidabilidad de llaves y ligaduras
504 @translationof On the un-nestedness of brackets and ties
506 @cindex corchetes y paréntesis, anidado de
507 @cindex corchetes y paréntesis, tipos de
508 @cindex corchetes y paréntesis, encerrar frente a marcar
509 @cindex paréntesis y corchetes, anidado de
510 @cindex paréntesis y corchetes, tipos de
511 @cindex paréntesis y corchetes, encerrar frente a marcar
513 En la escritura del archivo de entrada de LilyPond, hemos podido ver
514 algunos tipos de paréntesis, llaves o ángulos de distintos tipos.
515 Éstos obedecen a distintas reglas que al principio pueden resultar
516 confusas. Antes de explicar estas reglas, demos un repaso a las
517 distintas clases de corchetes, llaves y paréntesis.
519 @c attempt to force this onto a new page
521 @multitable @columnfractions .3 .7
522 @headitem Tipo de paréntesis
524 @item @code{@{ .. @}}
525 @tab Encierra un fragmento secuencial de música
527 @tab Encierra las notas de un acorde
528 @item @code{<< .. >>}
529 @tab Encierra expresiones musicales simultáneas
531 @tab Marca el comienzo y el final de una ligadura de expresión
532 @item @code{\( .. \)}
533 @tab Marca el comienzo y el final de una ligadura de fraseo
535 @tab Marca el comienzo y el final de un barrado manual
538 A las anteriores, debemos añadir otras construcciones que generan
539 líneas entre o a través de las notas: las ligaduras de unión (marcadas
540 con una tilde curva, @code{~}), los grupos especiales que se escriben
541 como @code{\times x/y @{..@}}, y las notas de adorno, que se escriben
542 como @code{\grace@{..@}}.
544 Fuera de LilyPond, el uso convencional de los paréntesis y otros
545 corchetes requiere que los distintos tipos se encuentren anidados
546 correctamente, como en: @code{<< [ @{ ( .. ) @} ] >>}, de manera que
547 los paréntesis que se cierran deben encontrarse en el orden
548 exactamente opuesto al de los paréntesis que se abren. Esto
549 @strong{es} un requisito para los tres tipos de paréntesis que se
550 describen mediante la palabra @q{Encierra} en la tabla anterior: se
551 deben anidar correctamente. Sin embargo, el resto de las llaves y
552 corchetes, que se encuentran descritos por la palabra @q{Marca} en la
553 misma tabla anterior, @strong{no} tienen por qué anidarse
554 estrictamente con ninguno de los otros paréntesis. De hecho, éstos no
555 son paréntesis en el sentido de que encierran algo: simplemente son
556 marcadores que indican dónde empieza o finaliza algo.
558 Así pues, por ejemplo, una ligadura de fraseo puede dar comienzo
559 antes de una barra insertada manualmente, y acabar antes de que acabe
560 la barra (algo que quizá no sea muy musical, pero es posible):
562 @lilypond[quote,verbatim,ragged-right,relative=2]
563 g8\( a b[ c b\) a] g4
566 En general, los distintos tipos de corchete, y los implicados en
567 grupos especiales, ligaduras de unión y notas de adorno, se pueden
568 mezclar con total libertad. Este ejemplo muestra una barra que se
569 extiende hacia el interior de un grupo de valoración especial (línea
570 1), una ligadura de expresión que se prolonga hasta el interior de un
571 grupo especial (línea 2), una barra y una ligadura de expresión que se
572 prolongan hasta el interior de un grupo especial, una ligadura de
573 unión que atraviesa dos grupos especiales, y una ligadura de fraseo
574 que sale del interior de un grupo especial (líneas 3 y 4).
576 @lilypond[quote,verbatim,ragged-right,relative=1]
577 r16[ g \times 2/3 { r16 e'8] }
578 g,16( a \times 2/3 { b16 d) e }
579 g,8[( a \times 2/3 { b8 d) e~] } |
580 \times 4/5 { e32\( a, b d e } a4.\)
584 @node Las voces contienen música
585 @section Las voces contienen música
586 @translationof Voices contain music
588 Igual que los cantantes, LilyPond necesita voces para cantar. En
589 realidad, la música para cualquier instrumento de una partitura está
590 siempre contenida dentro de una voz --el concepto de LilyPond más
591 fundamental de todos--.
596 * Voces y música vocal::
600 @subsection Oigo voces
601 @translationof I'm hearing Voices
606 @cindex voces, varias
607 @cindex Voice (voz), contexto de
608 @cindex contexto Voice (de voz)
609 @cindex simultánea, música
610 @cindex concurrente, música
611 @cindex voces frente a acordes
612 @cindex acordes frente a voces
614 De las capas más profundas de una partitura de LilyPond, las más bajas
615 y más fundamentales reciben el nombre de @q{Voice contexts}
616 («contextos de voz») o, abreviadamente, @q{Voices} («voces»). Las
617 voces reciben a veces el nombre de @q{layers} («capas») en otros
618 programas de edición de partituras.
620 De hecho, una capa o contexto de voz es la única que puede contener
621 música. Si un contexto de voz no se declara explícitamente, se crea
622 uno de forma automática, como vimos al comienzo de este capítulo.
623 Ciertos instrumentos como el oboe solamente pueden tocar una nota cada
624 vez. La música escrita para estos instrumentos
625 solamente requiere una voz. Los instrumentos que pueden tocar
626 más de una nota a la vez, como el piano, con frecuencia necesitarán
627 varias voces para codificar las distintas notas y ritmos concurrentes
628 que son capaces de tocar.
630 Una sola voz puede contener muchas notas dentro de un acorde, por
631 supuesto; entonces ¿cuándo, exactamente, se necesitan varias voces?
632 En primer lugar observe este ejemplo de cuatro acordes:
634 @lilypond[quote,verbatim,ragged-right,relative=1]
636 <d g>4 <d fis> <d a'> <d g>
639 Esto se puede expresar utilizando sólo símbolos de acorde con ángulos
640 simples, @code{< ... >}, y para este propósito tan sólo se necesita
641 una voz. Pero suponga que el Fa sostenido fuese realmente una corchea
642 seguida de un Sol corchea, una nota de paso que conduce al La. Ahora
643 tenemos dos notas que empiezan en el mismo momento pero tienen
644 distintas duraciones: la negra Re, y la corchea Fa sostenido. ¿Cómo se
645 codifica esto? No se pueden escribir como un acorde porque todas las
646 notas de un acorde deben tener la misma duración. Y no se pueden
647 escribir como dos notas en secuencia porque tienen que empezar en el
648 mismo momento. Aquí es donde se necesitan dos voces.
650 Veamos cómo se hace esto dentro de la sintaxis de entrada de LilyPond.
655 La forma más fácil de introducir fragmentos con más de una voz en un
656 solo pentagrama es escribir cada voz como una secuencia (con
657 @code{@{...@}}), y combinarlas simultáneamente con ángulos dobles,
658 @code{<<...>>}. Los fragmentos también se deben separar mediante una
659 doble barra invertida, @code{\\}, para situarlos en voces separadas.
660 Sin esto, las notas irían a una sola voz, lo que normalmente produce
661 errores. Esta técnica se adapta especialmente bien a piezas de música
662 que son mayormente homofónicas pero ocasionalmente tienen cortas
663 secciones de polifonía.
665 He aquí cómo dividimos los acordes anteriores en dos voces y añadimos
666 la nota de paso y la ligadura:
668 @lilypond[quote,verbatim,ragged-right,relative=2]
670 % Voice "1" Voice "2"
671 << { g4 fis8( g) a4 g } \\ { d4 d d d } >>
674 Observe cómo las plicas de la segunda voz ahora se dirigen hacia
677 A continuación veamos otro ejemplo sencillo:
679 @lilypond[quote,verbatim,ragged-right,relative=2]
681 % Voice "1" Voice "2"
682 << { r4 g g4. a8 } \\ { d,2 d4 g } >> |
683 << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
684 << { a2. r4 } \\ { fis2. s4 } >> |
687 No es necesario usar una construcción @code{<< \\ >>} distinta para
688 cada compás. Para música que tenga unas pocas notas en cada compás,
689 esta disposición podría facilitar la legibilidad del código, pero si
690 hay muchas notas en cada compás podría ser mejor dividirlo en dos
691 voces separadas, de la siguiente manera:
693 @lilypond[quote,verbatim,ragged-right,relative=2]
708 @cindex voces, nombrado de
709 @cindex voces que cruzan corchetes
710 @cindex ligaduras que cruzan corchetes
712 Este ejemplo tiene sólo dos voces, pero la misma construcción se puede
713 usar para codificar tres o más voces mediante la adición de más
714 separadores de barra invertida.
716 Los contextos de voz llevan los nombres de @code{"1"}, @code{"2"},
717 etc. Los primeros contextos establecen las voces @emph{externas}, la
718 voz aguda del contexto @code{"1"} y la voz grave del contexto
719 @code{"2"}. Las voces interiores van en los contextos @code{"3"} y
720 @code{"4"}. En cada uno de estos contextos, la dirección vertical de
721 las ligaduras, plicas, matices dinámicos, etc., se ajusta de forma
724 @lilypond[quote,verbatim]
725 \new Staff \relative c' {
728 % Voice "1" Voice "2" Voice "3"
729 << { g4 f e } \\ { r8 e4 d c8~ } >> |
730 << { d2 e } \\ { c8 b16 a b8 g~ g2 } \\ { s4 b c2 } >> |
734 Todas estas voces están separadas de la voz principal que contiene las
735 notas justo por fuera de la construcción @code{<< .. >>}. Le
736 llamaremos a esto la @emph{construcción simultánea}. Las ligaduras
737 (de prolongación y de expresión) solamente pueden conectar notas que
738 estén dentro de la misma voz, luego las ligaduras no pueden entrar o
739 salir de una construcción simultánea. A la inversa, las voces
740 paralelas de construcciones simultáneas distintas sobre el mismo
741 pentagrama, son la misma voz. Otras propiedades relativas a las voces
742 también conllevan construcciones simultáneas. A continuación vemos el
743 mismo ejemplo, con colores y cabezas distintos para cada voz. Observe
744 que los cambios en una voz no afectan a otras voces, pero persisten
745 más tarde dentro de la misma voz. Observe también que las notas
746 ligadas se pueden dividir entre las mismas voces de dos
747 construcciones, como se indica aquí en la voz de triángulos azules.
749 @lilypond[quote,verbatim]
750 \new Staff \relative c' {
769 { c8 b16 a b8 g~ g2 }
779 @funindex \voiceOneStyle
780 @funindex \voiceTwoStyle
781 @funindex \voiceThreeStyle
782 @funindex \voiceFourStyle
783 @funindex \voiceNeutralStyle
785 Las instrucciones @code{\voiceXXXStyle} están pensadas principalmente
786 para usarlas en documentos educativos como este mismo. Modifican el
787 color de la cabeza, la plica y las barras, y el estilo de la cabeza,
788 de forma que las voces se puedan distinguir fácilmente. La voz uno
789 está establecida a rombos rojos, la voz dos a triángulos azules, la
790 voz tres a círculos verdes con aspas, y la voz cuatro (que no se
791 utiliza aquí) a aspas color magenta. @code{\voiceNeutralStyle} (que
792 tampoco se usa aquí) devuelve todo al estilo predeterminado. Veremos
793 más adelante cómo el usuario puede crear instrucciones como éstas.
794 Véase @ref{Visibilidad y color de los objetos} y @ref{Uso de variables para los trucos}.
796 @cindex polifonía y modo relativo
797 @cindex relativo, modo, polifonía y
799 La polifonía no cambia la relación de las notas dentro de un bloque
800 @code{\relative}. La altura de cada nota aún se calcula con
801 relación a la nota que le precede inmediatamente, o a la primera nota
802 del acorde precedente. Así, en
805 \relative c' @{ notaA << < notaB notaC > \\ notaD >> notaE @}
809 @code{notaB} es relativa a @code{notaA} @*
810 @code{notaC} es relativa a @code{notaB}, no a @code{notaA}; @*
811 @code{notaD} es relativa a @code{notaB}, no a @code{notaA} ni a
813 @code{notaE} es relativa a @code{notaD}, no a @code{notaA}.
815 Una forma alternativa, que podría ser más clara si las notas en las
816 voces están muy separadas, es colocar una instrucción @code{\relative}
817 al principio de cada voz:
820 \relative c' @{ notaA ... @}
822 \relative c'' @{ < notaB notaC > ... @}
824 \relative g' @{ notaD ... @}
826 \relative c' @{ notaE ... @}
829 Finalmente, analicemos las voces en una pieza de música más compleja.
830 He aquí las notas de los dos primeros compases del segundo de los Dos
831 Nocturnos de Chopin, Op 32. Este ejemplo se utilizará en fases
832 posteriores dentro del presente capítulo y el siguiente, para ilustrar
833 varias técnicas para producir notación, y por tanto le pedimos que
834 ignore por ahora cualquier cosa en el código subyacente que le parezca
835 misterioso y tan sólo se concentre en la música y las voces (todas
836 las complicaciones se explicarán en secciones posteriores).
838 @c The following should appear as music without code
839 @lilypond[quote,ragged-right]
840 \new Staff \relative c'' {
846 % Ignore these for now - they are explained in Ch 4
847 \once \override NoteColumn #'ignore-collision = ##t
849 \once \override NoteColumn #'force-hshift = #0.5
855 \override NoteColumn #'force-hshift = #0
863 Con frecuencia, la dirección de las plicas se utiliza para indicar la
864 continuidad de dos líneas melódicas simultáneas. Aquí, todas las
865 plicas de las notas agudas se dirigen hacia arriba y las de las notas
866 graves hacia abajo. Ésta es la primera indicación de que se requiere
869 Pero la necesidad real de varias voces aflora cuando hay notas que
870 comienzan en el mismo tiempo pero tienen distintas duraciones.
871 Observe las notas que comienzan en la tercera parte del primer compás.
872 El La bemol es una negra con puntillo, el Fa es una negra y el Re
873 bemol es una blanca. Estas notas no se pueden escribir como un acorde
874 porque todas las notas de un acorde deben tener la misma duración.
875 Tampoco se pueden escribir como notas secuenciales, pues deben
876 comenzar al mismo tiempo. Esta sección del compás requiere tres
877 voces, y la práctica común sería escribir todo el compás como tres
878 voces como se muestra abajo, donde hemos usado distintas cabezas y
879 colores para las tres voces. Una vez más, el código que subyace a
880 este ejemplo se explicará más tarde, así pues ignore todo lo que no
883 @c The following should appear as music without code
884 @c The three voice styles should be defined in -init
885 @lilypond[quote,ragged-right]
886 \new Staff \relative c'' {
895 % Ignore these for now - they are explained in Ch 4
896 \once \override NoteColumn #'ignore-collision = ##t
898 \once \override NoteColumn #'force-hshift = #0.5
901 \\ % No Voice three (we want stems down)
904 \override NoteColumn #'force-hshift = #0
913 Vamos a intentar codificar esta música partiendo de cero. Como
914 veremos, esto se topa con ciertas dificultades. Comenzamos tal y como
915 hemos aprendido, usando la construcción @code{<< \\ >>} para
916 introducir la música del primer compás en tres voces:
918 @lilypond[quote,verbatim,ragged-right]
919 \new Staff \relative c'' {
922 { c2 aes4. bes8 } \\ { <ees, c>2 des } \\ { aes'2 f4 fes }
929 @cindex voces y dirección de las plicas
930 @cindex plicas, voces y dirección de las
933 Las direcciones de las plicas se asignan automáticamente de forma que
934 las voces de numeración impar reciben las plicas hacia arriba y las de
935 numeración par hacia abajo. Las plicas de las voces 1 y 2 están
936 correctas, pero las plicas de la voz 3 debería ir hacia abajo en este
937 fragmento en particular. Podemos corregir esto simplemente
938 olvidándonos de la voz tres y situando la música en la voz cuatro.
939 Esto se hace escribiendo otro par de barras invertidas (@code{\\}).
941 @lilypond[quote,verbatim,ragged-right]
942 \new Staff \relative c'' {
948 \\ % Omit Voice three
957 Vemos que esto arregla la dirección de la plica, pero la colocación
958 horizontal de las notas no es la deseada. LilyPond desplaza las notas
959 interiores cuando ellas o sus plicas de otro modo colisionarían con
960 las voces exteriores, pero esto no es lo más adecuado para música de
961 piano. En otras situaciones, los desplazamientos que LilyPond aplica
962 pueden no eliminar las colisiones. LilyPond aporta varias formas de
963 ajustar la colocación horizontal de las notas. Aún no estamos
964 preparados para ver cómo se corrige esto, por lo que dejaremos el
965 problema para una sección posterior (véase la propiedad
966 @code{force-hshift} en @ref{Arreglar notación con superposiciones}).
968 @warning{No se pueden crear letras ni objetos de extensión
969 (como ligaduras, reguladores, etc.) @q{entre} voces distintas.}
972 Referencia de la notación:
973 @ruser{Varias voces}.
976 @node Voces explícitas
977 @subsection Voces explícitas
978 @translationof Explicitly instantiating voices
985 @funindex \voiceThree
992 @cindex contextos de voz, creación de
994 Los contextos de voz también se pueden crear manualmente dentro de un
995 bloque @code{<< >>} para crear música polifónica, utilizando
996 @code{\voiceOne} @dots{} @code{\voiceFour} para indicar las direcciones
997 requeridas de plicas, ligaduras, etc. En partituras más largas, este
998 método es más claro porque permite que las voces estén separadas y
999 reciban nombres más descriptivos.
1001 Concretamente, la construcción @code{<< \\ >>} que usamos en la
1007 << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
1017 \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
1018 \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
1022 Los dos ejemplos anteriores producen:
1024 @c The following example should not display the code
1025 @lilypond[ragged-right,quote]
1027 \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
1028 \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
1032 @cindex voces, retorno a única
1033 @cindex retorno a voz única
1035 Las instrucciones @code{\voiceXXX} establecen la dirección de las
1036 plicas, ligaduras de expresión, ligaduras de prolongación,
1037 articulaciones, anotaciones de texto, puntillos y digitaciones.
1038 @code{\voiceOne} y @code{\voiceThree} hacen que estos objetos apunten
1039 hacia arriba, mientras que @code{\voiceTwo} y @code{\voiceFour} los
1040 hacen apuntar hacia abajo. Estas instrucciones también producen un
1041 desplazamiento horizontal para cada voz cuando es necesario para
1042 evitar choques entre las cabezas. La instrucción @code{\oneVoice}
1043 devuelve los ajustes de nuevo a los valores normales para una sola
1046 Veamos en algunos ejemplos sencillos exactamente qué efecto tienen
1047 @code{\oneVoice}, @code{\voiceOne} y @code{voiceTwo} sobre el marcado,
1048 las ligaduras de unión y de expresión y las indicaciones de dinámica:
1050 @lilypond[quote,ragged-right,verbatim]
1052 % Default behavior or behavior after \oneVoice
1053 c4 d8~ d e4( f | g4 a) b-> c |
1057 @lilypond[quote,ragged-right,verbatim]
1060 c4 d8~ d e4( f | g4 a) b-> c |
1062 c,4 d8~ d e4( f | g4 a) b-> c |
1066 @lilypond[quote,ragged-right,verbatim]
1069 c4 d8~ d e4( f | g4 a) b-> c |
1071 c,4 d8~ d e4( f | g4 a) b-> c |
1075 A continuación veremos tres formas distintas de componer la notación
1076 del mismo pasaje polifónico, cada una de las cuales tiene sus ventajas
1077 según la circunstancia, utilizando el ejemplo de la sección anterior.
1079 Una expresión que aparece directamente dentro de @code{<< >>}
1080 pertenece a la voz principal (pero, observe, @strong{no} dentro de una
1081 construcción @code{<< \\ >>}). Esto es útil cuando aparecen voces
1082 nuevas mientras la voz principal está sonando. A continuación podemos
1083 ver una realización más correcta del ejemplo de la sección anterior.
1084 Las notas rojas en forma de rombo muestran que la melodía principal
1085 está ahora dentro de un contexto de una sola voz, haciendo que se
1086 pueda trazar una ligadura por encima de ellas.
1088 @lilypond[quote,ragged-right,verbatim]
1089 \new Staff \relative c' {
1091 % This section is homophonic
1093 % Start simultaneous section of three voices
1095 % Continue the main voice in parallel
1096 { g4 f e | d2 e) | }
1097 % Initiate second voice
1099 % Set stems, etc., down
1101 r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
1103 % Initiate third voice
1105 % Set stems, etc, up
1113 @cindex anidado de expresiones musicales
1114 @cindex anidado de construcciones simultáneas
1115 @cindex anidado de voces
1116 @cindex voces temporales
1117 @cindex voces, anidado de
1119 Son posibles construcciones polifónicas anidadas más profundamente, y
1120 si una voz aparece sólo brevemente podría haber una forma más natural
1121 de tipografiar la música.
1123 @lilypond[quote,ragged-right,verbatim]
1124 \new Staff \relative c' {
1127 { g4 f e | d2 e) | }
1132 { c8 b16 a b8 g~ g2 | }
1143 @cindex espaciadoras, notas
1145 Este método de anidar voces nuevas brevemente es útil cuando sólo hay
1146 secciones polifónicas pequeñas, pero cuando todo el pentagrama es muy
1147 polifónico podría ser más claro usar varias voces todo el tiempo,
1148 usando notas espaciadoras para pasar por encima de las secciones en
1149 que una voz está en silencio, como aquí:
1151 @lilypond[quote,ragged-right,verbatim]
1152 \new Staff \relative c' <<
1153 % Initiate first voice
1156 c16^( d e f g4 f e | d2 e) |
1158 % Initiate second voice
1160 % Set stems, etc, down
1162 s4 r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
1164 % Initiate third voice
1166 % Set stems, etc, up
1173 @subsubheading Columnas de notas
1175 @cindex columna de notas
1176 @cindex colisiones de notas
1177 @cindex notas, colisiones de
1178 @cindex desplazamiento, instrucciones de
1185 @funindex \shiftOnnn
1188 Las notas cercanas de un acorde, o las notas que se producen al mismo
1189 tiempo en distintas voces, se disponen en dos (y ocasionalmente más)
1190 columnas para evitar el solapamiento de las cabezas. Reciben el
1191 nombre de columnas de notas. Hay columnas distintas para cada voz, y
1192 el desplazamiento especificado en curso dependiente de la voz se
1193 aplica a la columna de la nota si en caso contrario se produjese una
1194 colisión. Esto se puede ver en el ejemplo anterior. En el compás 2 el
1195 Do en la voz dos está desplazado a la derecha respecto del Re de la
1196 voz uno, y en el último acorde el Do de la voz tres también está
1197 desplazado a la derecha respecto de las otras notas.
1199 Las instrucciones @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}
1200 y @code{\shiftOff} especifican el grado en que se deben desplazar las
1201 notas y acordes de la voz si en caso contrario ocurriese una
1202 colisión. De forma predeterminada, las voces exteriores (normalmente
1203 las voces uno y dos) llevan especificado @code{\shiftOff}, mientras
1204 que las voces interiores (tres y cuatro) tienen @code{\shiftOn}
1205 especificado. Cuando se aplica un desplazamiento, las voces uno y
1206 tres se desplazan hacia la derecha y las voces dos y cuatro se
1207 desplazan hacia la izquierda.
1209 @code{\shiftOnn} y @code{\shiftOnnn} definen niveles adicionales de
1210 desplazamiento que se pueden especificar temporalmente para resolver
1211 colisiones en situaciones complejas (véase @ref{Ejemplos reales de música}).
1213 Una columna de notas puede contener sólo una nota (o acorde) de una
1214 voz con las plicas hacia arriba y una not (o acorde) de una voz con
1215 las plicas hacia abajo. Si las notas de dos voces que tienen las
1216 plicas en la misma dirección se sitúan en la misma posición y las dos
1217 voces no tienen ningún desplazamiento o llevan especificado el mismo
1218 desplazamiento, se producirá el mensaje de error @qq{Chocan demasiadas
1223 Referencia de la notación:
1224 @ruser{Varias voces}.
1227 @node Voces y música vocal
1228 @subsection Voces y música vocal
1229 @translationof Voices and vocals
1232 La música vocal presenta una dificultad especial: tenemos que combinar
1233 dos expresiones, a saber, las notas y la letra.
1235 @funindex \new Lyrics
1239 @cindex Lyrics, creación de un contexto
1240 @cindex letra, creación de un contexto de
1241 @cindex letra, enlazar con una voz
1243 Ya ha visto la instrucción @code{\addlyrics@{@}}, que maneja bien
1244 partituras sencillas. Sin embargo esta técnica es algo limitada.
1245 Para música de mayor complejidad, tenemos que introducir la letra en
1246 un contexto @code{Lyrics} utilizando @code{\new Lyrics} y enlazar
1247 explícitamente la letra y las notas mediante @code{\lyricsto@{@}},
1248 usando el nombre asignado a la voz.
1250 @lilypond[quote,verbatim]
1252 \new Voice = "one" {
1256 c4 b8. a16 | g4. f8 | e4 d | c2 |
1259 \new Lyrics \lyricsto "one" {
1260 No more let | sins and | sor -- rows | grow. |
1265 Observe que la letra se debe enlazar a un contexto de @code{Voice},
1266 @emph{no} a un contexto de @code{Staff}. Este es un caso en que es
1267 necesario crear contextos de @code{Staff} y de @code{Voice}
1270 @cindex letra y barrado
1271 @cindex barrado y letra
1272 @funindex \autoBeamOff
1273 @funindex autoBeamOff
1275 El barrado automático que LilyPond usa de forma predeterminada
1276 funciona bien para la música instrumental, pero no tan bien para
1277 música con letra, donde o bien el barrado no se necesita en absoluto,
1278 o bien se utiliza para indicar los melismas de la letra. En el
1279 ejemplo anterior hemos utilizado la instrucción @code{\autoBeamOff}
1280 para desactivar el barrado automático.
1282 @funindex \new ChoirStaff
1283 @funindex ChoirStaff
1284 @funindex \lyricmode
1286 @cindex vocal, estructura de una partitura
1287 @cindex coro, sistema de
1289 Ahora vamos a reutilizar el ejemplo anterior de «Judas Macabeo» para
1290 ilustrar esta técnica más flexible. Primero la reescribiremos para
1291 que use variables, de manera que la música y la letra se puedan
1292 separar de la estructura de pentagramas. También introduciremos una
1293 llave de grupo de ChoirStaff. La letra en sí se debe introducir con
1294 @code{\lyricmode} para estar seguros de que se interpreta como letra y
1297 @lilypond[quote,verbatim]
1298 global = { \key f \major \time 6/8 \partial 8 }
1300 SopOneMusic = \relative c'' {
1301 c8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ c4
1303 SopOneLyrics = \lyricmode {
1304 Let | flee -- cy flocks the | hills a -- dorn, __
1306 SopTwoMusic = \relative c' {
1307 r8 | r4. r4 c8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
1309 SopTwoLyrics = \lyricmode {
1310 Let | flee -- cy flocks the | hills a -- dorn,
1316 \new Voice = "SopOne" {
1320 \new Lyrics \lyricsto "SopOne" {
1325 \new Voice = "SopTwo" {
1329 \new Lyrics \lyricsto "SopTwo" {
1337 Ésta es la estructura básica de todas las partituras vocales. Se
1338 pueden añadir más pentagramas según se necesite, se pueden añadir más
1339 voces a los pentagramas y más estrofas a la letra, y las variables que
1340 contienen la música se pueden colocar fácilmente en archivos separados
1341 cuando se hagan demasiado largos.
1343 @cindex himno, estructura de
1344 @cindex SATB, estructura de
1345 @cindex vocal, partitura, varias estrofas
1346 @cindex varias estrofas vocales
1347 @cindex estrofas, varias, vocales
1349 A continuación podemos ver un ejemplo final de la primera línea de un
1350 himno con cuatro estrofas, para coro SATB. En este caso la letra de
1351 las cuatro partes es la misma. Observe cómo utilizamos variables para
1352 separar la notación musical de la estructura de pentagramas. Observe
1353 también cómo se utiliza una variable, para la que hemos elegido el
1354 nombre @q{TimeKey} («compás y tonalidad»), para que contenga varias
1355 instrucciones que se usarán dentro de los dos pentagramas. En otros
1356 ejemplos se le suele dar el nombre de @q{global}.
1360 @lilypond[quote,verbatim]
1361 keyTime = { \key c \major \time 4/4 \partial 4 }
1363 SopMusic = \relative c' { c4 | e4. e8 g4 g | a4 a g }
1364 AltoMusic = \relative c' { c4 | c4. c8 e4 e | f4 f e }
1365 TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
1366 BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
1369 \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, }
1371 \lyricmode { O | Christ, whose voice the | wa -- ters heard, }
1373 \lyricmode { O | Ho -- ly Spi -- rit, | who didst brood }
1375 \lyricmode { O | Tri -- ni -- ty of | love and pow'r }
1381 \new Voice = "Sop" { \voiceOne \keyTime \SopMusic }
1382 \new Voice = "Alto" { \voiceTwo \AltoMusic }
1383 \new Lyrics \lyricsto "Sop" { \VerseOne }
1384 \new Lyrics \lyricsto "Sop" { \VerseTwo }
1385 \new Lyrics \lyricsto "Sop" { \VerseThree }
1386 \new Lyrics \lyricsto "Sop" { \VerseFour }
1390 \new Voice = "Tenor" { \voiceOne \keyTime \TenorMusic }
1391 \new Voice = "Bass" { \voiceTwo \BassMusic }
1399 Referencia de la notación:
1400 @ruser{Música vocal}.
1403 @node Contextos y grabadores
1404 @section Contextos y grabadores
1405 @translationof Contexts and engravers
1407 Los contextos y grabadores se han mencionado de manera informal en
1408 secciones anteriores; ahora tan sólo vamos a ver estos conceptos con
1409 más detalle, pues son importantes en el ajuste fino de la salida de
1413 * Explicación de los contextos::
1415 * Explicación de los grabadores::
1416 * Modificar las propiedades de los contextos::
1417 * Añadir y eliminar grabadores::
1420 @node Explicación de los contextos
1421 @subsection Explicación de los contextos
1422 @translationof Contexts explained
1424 @cindex contextos, explicación de los
1426 Cuando se imprime la música, se tienen que añadir a la salida una gran
1427 cantidad de elementos notacionales que no aparecen explícitamente en
1428 el archivo de entrada. Por ejemplo, compare la entrada y la salida
1429 del siguiente ejemplo:
1431 @lilypond[quote,verbatim,relative=2]
1432 cis4 cis2. | a4 a2. |
1435 La entrada es bastante escueta, pero en la salida se han añadido las
1436 líneas divisorias, las alteraciones, la clave y la armadura de la
1437 tonalidad. Cuando LilyPond @emph{interpreta} la entrada, la
1438 información musical se analiza de izquierda a derecha de igual forma
1439 que un intérprete lee la partitura. Mientras se lee el código de
1440 entrada, el programa recuerda dónde están los límites de los compases,
1441 y qué alturas requieren alteraciones accidentales explícitas. Esta
1442 información se debe conservar a varios niveles. Por ejemplo, una
1443 alteración accidental afecta solamente a un pentagrama, mientras que
1444 una línea divisoria debe estar sincronizada a lo largo de todo el
1447 Dentro de LilyPond, estas reglas y pequeñas porciones de información
1448 se agrupan en @emph{Contexts}. Ya hemos visto el contexto de voz,
1449 @code{Voice}. Otros ejemplos de contextos son @code{Staff} (Pauta o
1450 pentagrama) y @code{Score} (Partitura). Los contextos son
1451 jerárquicos, de forma que reflejan la naturaleza jerárquica de una
1452 partitura musical. Por ejemplo: un contexto de @code{Staff} contener
1453 muchos contextos de @code{Voice}, y un contexto de @code{Score} puede
1454 contener muchos contextos de @code{Staff}.
1457 @sourceimage{context-example,5cm,,}
1460 Cada contexto asume la responsabilidad de imponer algunas reglas de
1461 notación, creando ciertos objetos de notación y manteniendo las
1462 propiedades asociadas. Por ejemplo, el contexto @code{Voice} puede
1463 introducir una alteración accidental y entonces el contexto
1464 @code{Staff} mantiene la regla de mostrar o suprimir la alteración
1465 para el resto del compás.
1467 Otro ejemplo lo constituye el hecho de que la sincronización de las
1468 líneas divisorias se gestiona dentro del contexto de la partitura,
1469 @code{Score}, de forma predeterminada. Sin embargo, en algunas
1470 músicas posiblemente no queramos que las líneas divisorias estén
1471 sincronizadas (pensemos en una partitura polimétrica en compases de
1472 4/4 y de 3/4). En tales casos, debemos modificar los ajustes por
1473 omisión de los contextos @code{Score} y @code{Staff}.
1475 Para partituras muy sencillas, los contextos se crean implícitamente y
1476 no debemos preocuparnos por ellos. Para piezas mayores, como por
1477 ejemplo cualquiera que tenga más de un pentagrama, los contextos se
1478 deben crear explícitamente para asegurarnos de que tendremos la
1479 cantidad exacta de pentagramas que necesitamos, y que están en el
1480 orden correcto. Para tipografiar piezas con notación especializada,
1481 es frecuente la modificación de contextos existentes o incluso definir
1482 unos completamente nuevos.
1485 Además de los contextos @code{Score,} @code{Staff} y @code{Voice}, hay
1486 contextos que se sitúan entre los niveles de partitura y de pentagrama
1487 para controlar los grupos de pentagramas, como los contextos
1488 @code{PianoStaff} y @code{ChoirStaff}. También existen contextos
1489 alternativos de pentagrama y de voz, y contextos para la letra, la
1490 percusión, diagramas de trastes, bajo cifrado, etc.
1492 Los nombres de todos los tipos de contextos se componen de una o más
1493 palabras que comienzan con mayúscula y que están unidas unas a otras
1494 sin guión ni barra baja, por ejemplo:
1495 @code{GregorianTranscriptionStaff}.
1499 Referencia de la notación:
1500 @ruser{Explicación de los contextos}.
1503 @node Crear contextos
1504 @subsection Crear contextos
1505 @translationof Creating contexts
1509 @cindex nuevos contextos
1510 @cindex creación de contextos
1511 @cindex contextos, creación de
1513 En un archivo de entrada, el bloque de partitura, que se presenta
1514 precedido por la instrucción @code{\score}, contiene una sola
1515 expresión musical y una definición de salida asociada (bien un bloque
1516 @code{\layout} o bien un bloque @code{\midi}). El contexto
1517 @code{Score} se suele dejar que se cree automáticamente cuando
1518 comienza la interpretación de esa expresión musical.
1520 Para partituras que solamente tienen una voz y un pentagrama, podemos
1521 también dejar que los contextos @code{Voice} y @code{Staff} se creen
1522 automáticamente, pero para partituras más complejas es necesario
1523 crearlos a mano. La instrucción más simple que hace esto es
1524 @code{\new}. Se antepone a una expresión musical, por ejemplo
1527 \new @var{tipo} @var{expresión_musical}
1531 donde @var{tipo} es el nombre de un contexto (como @code{Staff} o
1532 @code{Voice}). Esta instrucción crea un contexto nuevo, y comienza a
1533 interpretar la @var{expresión_musical} que está dentro de ese
1536 @warning{No se debe usar @bs{}@code{new Score} porque el contexto
1537 @code{Score} esencial del nivel superior ya se crea automáticamente al
1538 interpretarse la expresión musical que está dentro del bloque
1539 @bs{}@code{score}. Los valores predeterminados de propiedades de
1540 contexto válidos para toda la partitura se pueden cambiar dentro del
1541 bloque @bs{}@code{layout}. Véase @ref{Modificar las propiedades de
1544 En las secciones anteriores ha podido ver muchos ejemplos prácticos que
1545 creaban nuevos contextos de @code{Staff} y de @code{Voice}, pero para
1546 recordarle cómo se emplean estas instrucciones en la práctica, he aquí
1547 un ejemplo anotado de música real:
1549 @lilypond[quote,verbatim,ragged-right]
1550 \score { % start of single compound music expression
1551 << % start of simultaneous staves section
1553 \new Staff { % create RH staff
1556 \new Voice { % create voice for RH notes
1557 \relative c'' { % start of RH notes
1563 \new Staff << % create LH staff; needs two simultaneous voices
1566 \new Voice { % create LH voice one
1568 \relative g { % start of LH voice one notes
1569 g8 <bes d> ees, <g c> |
1570 g8 <bes d> ees, <g c> |
1571 } % end of LH voice one notes
1572 } % end of LH voice one
1573 \new Voice { % create LH voice two
1575 \relative g { % start of LH voice two notes
1578 } % end of LH voice two notes
1579 } % end of LH voice two
1580 >> % end of LH staff
1581 >> % end of simultaneous staves section
1582 } % end of single compound music expression
1585 (Observe cómo todas las instrucciones que abren un bloque con una
1586 llave curva, @code{@{}, o con ángulos dobles, @code{<<}, están
1587 sangrados (tienen un margen adicional) con dos espacios adicionales, y
1588 la llave de cierre correspondiente tiene un margen exactamente igual.
1589 Aunque no es necesario, la observancia de esta práctica reducirá
1590 considerablemente el número de errores de @q{paréntesis
1591 descompensados}, y se recomienda vivamente. Permite apreciar de un
1592 solo vistazo la estructura de la música, y cualquier paréntesis
1593 descompensado aparecerá con obviedad. Observe también cómo el
1594 pentagrama de la MI se crea usando dobles ángulos porque requiere dos
1595 voces, mientras que el pentagrama de la MD se crea con una expresión
1596 musical única encerrada entre llaves porque sólo requiere una voz.)
1599 @cindex contextos, nombrado
1600 @cindex nombrar contextos
1602 La instrucción @code{\new} también puede otorgar un nombre
1603 identificativo al contexto para distinguirlo de otros contextos del
1607 \new @var{tipo} = @var{identificador} @var{expresión_musical}
1610 Observe la distinción entre el nombre del tipo de contexto,
1611 @code{Staff}, @code{Voice}, etc., y el nombre identificativo de una
1612 instancia en particular de ese tipo, que puede ser cualquier secuencia
1613 de letras inventada por el usuario. En el nombre identificativo
1614 también se pueden utilizar dígitos y espacios, pero en este caso aquél
1615 debe ir entre comillas p.ej. @code{\new Staff = "MiPentagrama 1"
1616 @var{expresión_musical}}. El nombre identificativo se utiliza para
1617 referirnos más tarde a esa instancia en particular de un contexto.
1618 Hemos visto esto en la sección acerca de la letra, en @ref{Voces y música vocal}.
1622 Referencia de la notación:
1623 @ruser{Crear contextos}.
1626 @node Explicación de los grabadores
1627 @subsection Explicación de los grabadores
1628 @translationof Engravers explained
1632 Todas y cada una de las marcas de la salida impresa de una partitura
1633 hecha con LilyPond está producida por un @code{Engraver} (grabador).
1634 Así, tenemos un grabador para imprimir pentagramas, otro para imprimir
1635 las cabezas de las notas, otro para las plicas, otro para las barras,
1636 etc, etc. ¡En total hay más de 120 grabadores! Afortunadamente, para
1637 la mayor parte de las partituras no es necesario conocer más que
1638 algunos, y para partituras sencillas no tenemos que saber nada de
1641 Los grabadores residen y operan dentro de Contextos. Los grabadores
1642 como el grabador de la indicación metronómica,
1643 @code{Metronome_mark_engraver}, cuya acción y resultado se aplican a
1644 la partitura como un todo, operan en el contexto del nivel más alto:
1645 el contexto de partitura @code{Score}.
1647 El grabador de la clave @code{Clef_engraver} y el de la armadura
1648 @code{Key_engraver} se encuentran probablemente en todos los contextos
1649 de pentagrama (@code{Staff}), pues los distintos pentagramas podrían
1650 requerir diferentes claves y armaduras.
1652 El grabador de las cabezas de nota @code{Note_heads_engraver} y el de
1653 las plicas @code{Stem_engraver} viven en cada uno de los contextos de
1654 voz @code{Voice}, el contexto de nivel más bajo de todos.
1656 Cada grabador procesa los objetos particulares asociados con su
1657 función, y mantiene las propiedades que están relacionadas con dicha
1658 función. Estas propiedades, como las que están asociadas con los
1659 contextos, se pueden modificar para cambiar el funcionamiento del
1660 grabador o el aspecto de esos elementos en la partitura impresa.
1662 Todos los grabadores tienen nombres compuestos de varias palabras que
1663 describen su función. Sólo está en mayúsculas la inicial de la
1664 primera palabra, y el resto se le une mediante guiones bajos. Así, el
1665 grabador @code{Staff_symbol_engraver} es responsable de la creación de
1666 las líneas del pentagrama, y el @code{Clef_engraver} determina y
1667 establece la altura o el punto de referencia sobre el pentagrama
1668 dibujando un símbolo de clave.
1670 A continuación presentamos algunos de los grabadores más comunes,
1671 junto a su función. Podrá comprobar que es fácil adivinar la función
1672 a partir del nombre (en inglés), y viceversa.
1674 @multitable @columnfractions .3 .7
1677 @item Accidental_engraver
1678 @tab Hace las alteraciones accidentales, de precaución y de sugerencia.
1680 @tab Graba las barras
1682 @tab Graba las claves
1683 @item Completion_heads_engraver
1684 @tab Divide las notas que atraviesan una línea divisoria
1685 @c The old Dynamic_engraver is deprecated. -jm
1686 @item New_dynamic_engraver
1687 @tab Crea reguladores e indicaciones dinámicas textuales
1688 @item Forbid_line_break_engraver
1689 @tab Evita los saltos de línea si queda algún elemento musical activo
1691 @tab Crea la armadura de la tonalidad
1692 @item Metronome_mark_engraver
1693 @tab Graba la indicación metronómica
1694 @item Note_heads_engraver
1695 @tab Graba la cabeza de las notas
1697 @tab Graba los silencios
1698 @item Staff_symbol_engraver
1699 @tab Graba las cinco líneas (de forma predeterminada) del pentagrama
1701 @tab Crea las plicas y los trémolos de una sola plica
1702 @item Time_signature_engraver
1703 @tab Crea las indicaciones de compás
1708 Más adelante veremos cómo la salida de LilyPond se puede cambiar
1709 mediante la modificación del funcionamiento de los Grabadores.
1713 Referencia de funcionamiento interno:
1714 @rinternals{Engravers and Performers}.
1717 @node Modificar las propiedades de los contextos
1718 @subsection Modificar las propiedades de los contextos
1719 @translationof Modifying context properties
1721 @cindex contexto, propiedades de
1722 @cindex contexto, propiedades de, modificación
1723 @cindex modificar las propiedades de contexto
1729 Los contextos se responsabilizan de mantener los valores de un cierto
1730 número de @emph{properties} de contexto. Muchas de ellas se pueden
1731 cambiar para influir en la interpretación del código de entrada y
1732 cambiar así la apariencia de la salida impresa. Se modifican mediante
1733 la instrucción @code{\set}. Esta instrucción toma la forma siguiente:
1736 \set @emph{NombreDelContexto}.@emph{nombreDeLaPropiedad} = #@emph{valor}
1739 Donde el @emph{NombreDelContexto} es normalmente @code{Score},
1740 @code{Staff} o @code{Voice}. Se puede omitir, en cuyo caso se supone
1741 que es el contexto en curso (normalmente @code{Voice}).
1743 Los nombres de las propiedades de contexto consisten en palabras
1744 unidas sin ningún guión o barra baja, y donde todas las palabras
1745 excepto la primera empiezan en mayúscula. A continuación podemos ver
1746 algunos ejemplos de nombres de propiedades utilizadas con frecuencia.
1747 Hay muchas más que las que se muestran aquí.
1749 @c attempt to force this onto a new page
1751 @multitable @columnfractions .25 .15 .45 .15
1752 @headitem nombreDeLaPropiedad
1755 @tab Valor de ejemplo
1758 @tab Si es verdadero, poner becuadros adicionales antes de las alteraciones
1759 @tab @code{#t}, @code{#f}
1760 @item currentBarNumber
1762 @tab Ajustar el número del compás actual
1766 @tab Si es verdadero, imprimir ligaduras de expresión por encima y por debajo de las notas
1767 @tab @code{#t}, @code{#f}
1768 @item instrumentName
1770 @tab Establecer el nombre del pentagrama, situado a la izquierda
1771 @tab @code{"Cello I"}
1774 @tab Aumentar o disminuir el tamaño de la fuente tipográfica
1778 @tab Establecer el texto que se imprime antes del comienzo de una estrofa
1783 donde un valor Booleano es verdadero (@code{#t}, True) o falso
1784 (@code{#f}, False), un Entero es un número entero positivo, un número
1785 Real es un número decimal positivo o negativo, y el texto se encierra
1786 entre comillas dobles. Observe la aparición de signos de cuadradillo,
1787 (@code{#}), en dos lugares diferentes: como parte del valor Booleano
1788 antes de la @code{t} o la @code{f}, y antes del @emph{valor} dentro de
1789 la sentencia @code{\set}. Así pues, cuando se está escribiendo un
1790 valor Booleano, hay que escribir dos signos de cuadradillo, por
1791 ejemplo: @code{##t}.
1793 @cindex propiedades que funcionan en contextos
1794 @cindex establecer propiedades en contextos
1796 Antes de poder establecer cualquiera de estas propiedades, tenemos que
1797 saber en qué contexto operan. A veces es algo obvio, pero en
1798 ocasiones puede ser algo enrevesado. Si especificamos un contexto
1799 equivocado, no se produce ningún mensaje de error, pero el
1800 funcionamiento esperado no tendrá lugar. Por ejemplo, la propiedad
1801 @code{instrumentName} (nombre del instrumento) vive claramente dentro
1802 del contexto de @code{Staff}, puesto que es el pentagrama el que debe
1803 ser nombrado. En este ejemplo, el primer pentagrama resulta
1804 etiquetado, pero no el segundo, porque hemos omitido el nombre del
1807 @lilypond[quote,verbatim,ragged-right]
1809 \new Staff \relative c'' {
1810 \set Staff.instrumentName = #"Soprano"
1813 \new Staff \relative c' {
1814 \set instrumentName = #"Alto" % Wrong!
1820 Recuerde que el nombre del contexto predeterminado es @code{Voice},
1821 así que la segunda instrucción @code{\set} establece la propiedad
1822 @code{instrumentName} del contexto @code{Voice} a @qq{Alto}, pero como
1823 LilyPond no busca esta propiedad en el contexto @code{Voice}, no se
1824 realiza ninguna acción. Esto no es un error, y no se registra ningún
1825 mensaje en el archivo Log de registro de errores.
1827 De forma parecida, si el nombre de la propiedad se escribe con alguna
1828 falta, no se produce ningún mensaje de error, y claramente la acción
1829 esperada no puede tener lugar. De hecho, se puede establecer
1830 cualquier @q{property} (ficticia) usando cualquier nombre que queramos
1831 en cualquier contexto que exista, mediante el uso de la instrucción
1832 @code{\set}. Pero si el nombre no es conocido para LilyPond, no
1833 producirá ninguna acción. Algunos editores de texto que apoyan a los
1834 archivos de entrada de LilyPond de manera especial, documentan los
1835 nombres de propiedades con viñetas cuando pasamos sobre ellos con el
1836 puntero del ratón, como JEdit con la extensión LilyPondTool, o
1837 resaltan los nombres de propiedades desconocidas de manera diferente,
1838 como ConTEXT. Si no se utiliza un editor con tales posibilidades, se
1839 recomienda comprobar la corrección del nombre de la propiedad en el
1840 manual de Referencia de funcionamiento interno: véase
1841 @rinternals{Tunable context properties} o @rinternals{Contexts}.
1843 La propiedad @code{instrumentName} tendrá efecto solamente si se
1844 establece dentro del contexto @code{Staff}, pero algunas propiedades
1845 se pueden establecer en más de un contexto. Por ejemplo, la propiedad
1846 @code{extraNatural} está establecida por defecto al valor @code{##t}
1847 (verdadero) para todos los pentagramas. Si se establece a @code{##f}
1848 (falso) en un contexto de @code{Staff} determinado, se aplicará
1849 solamente a las alteraciones de ese pentagrama. Si se establece a
1850 falso en el contexto de la partitura, @code{Score}, se aplicará a
1851 todos los pentagramas.
1853 Así, esto desactivará los becuadros adicionales en un pentagrama:
1855 @lilypond[quote,verbatim,ragged-right]
1857 \new Staff \relative c'' {
1860 \new Staff \relative c'' {
1861 \set Staff.extraNatural = ##f
1868 y esto los desactivará en todos los pentagramas:
1870 @lilypond[quote,verbatim,ragged-right]
1872 \new Staff \relative c'' {
1875 \new Staff \relative c'' {
1876 \set Score.extraNatural = ##f
1882 Como un ejemplo más, si se establece @code{clefOctavation} dentro del
1883 contexto de @code{Score}, éste cambia inmediatamente el valor de la
1884 octavación en todos los pentagramas en curso y establece un nuevo
1885 valor predeterminado que se aplicará a todos los pentagramas.
1887 La instrucción opuesta, @code{\unset}, tiene el efecto de suprimir la
1888 propiedad del contexto, lo que ocasiona que la mayoría de las
1889 propiedades vuelvan a su valor predeterminado. Normalmente no es
1890 necesario el uso de @code{\unset}, pues una nueva instrucción
1891 @code{\set} hará el ajuste deseado.
1893 Las instrucciones @code{\set} y @code{\unset} pueden aparecer en
1894 cualquier lugar del archivo de entrada y tendrán efecto a partir del
1895 tiempo en que se encuentran y hasta el final de la partitura o hasta
1896 que la propiedad se establezca de nuevo mediante @code{\set} o
1897 @code{\unset}. Probemos a modificar el tamaño de la fuente
1898 tipográfica, lo que afecta al tamaño de las cabezas de las notas
1899 (entre otras cosas) varias veces. El cambio se toma a partir del
1900 valor predeterminado, no el valor en curso.
1902 @lilypond[quote,verbatim,ragged-right,relative=1]
1904 % make note heads smaller
1907 % make note heads larger
1908 \set fontSize = #2.5
1910 % return to default size
1915 Hemos podido ver cómo establecer los valores de diversos tipos de
1916 propiedad diferentes. Observe que los números enteros y reales van
1917 siempre precedidos de un símbolo de cuadradillo, @code{#}, mientras
1918 que un valor booleano verdadero o falso se especifica mediante
1919 @code{##t} y @code{##f}, con dos cuadradillos. Una propiedad de texto
1920 se debe encerrar entre comillas dobles, como antes, aunque veremos más
1921 adelante que el texto realmente se puede especificar de una forma
1922 mucho más general utilizando la potentísima instrucción @code{markup}.
1924 @subsubheading Cambiar las propiedades de un contexto con @code{\with}
1928 @cindex contexto, propiedades de, establecimiento con \with
1930 El valor predeterminado de las propiedades de contexto se puede establecer en el momento
1931 en que se crea el contexto. A veces esta forma de establecer el valor
1932 de una propiedad es mucho más clara, si ha de quedar fijo durante todo
1933 el tiempo que dure el contexto. Cuando se crea un contexto con una
1934 instrucción @code{\new} puede ir inmediatamente seguido de un bloque
1935 @code{\with @{ .. @}} en el que se establecen los valores predeterminados de las
1936 propiedades. Por ejemplo, si queremos suprimir la impresión de
1937 becuadros adicionales para toda la duración de un pentagrama, podemos
1941 \new Staff \with @{ extraNatural = ##f @}
1945 de la siguiente forma:
1947 @lilypond[quote,verbatim,ragged-right]
1951 gisis4 gis aeses aes
1954 \new Staff \with { extraNatural = ##f } {
1956 gisis4 gis aeses aes
1962 Las propiedades ajustadas de esta manera aún pueden cambiarse
1963 dinámicamente utilizando @code{\set} y ser devueltas al valor
1964 predeterminados que se estableció en el bloque @code{\with} mediante
1967 @cindex fontSize (tamaño de la tipografía)
1968 @cindex fuente, tamaño de la
1969 @cindex tamaño de la fuente
1971 Así pues, si la propiedad @code{fontSize} se ajusta dentro de una
1972 cláusula @code{\with}, tiene el efecto de reiniciar el valor
1973 predeterminado del tamaño de la fuente tipográfica. Si más tarde se
1974 modifica con @code{\set}, este nuevo valor predeterminado puede
1975 restablecerse con la instrucción @code{\unset fontSize}.
1977 @subsubheading Cambiar las propiedades de un contexto con @code{\context}
1979 @cindex contextos, establecer propiedades de, con \context
1983 Los valores de propiedad de los contextos se pueden establecer para
1984 @emph{todos} los contextos de un tipo determinado, como por ejemplo
1985 todos los contextos de @code{Staff}, con una única instrucción. El
1986 tipo de contexto se identifica mediante la utilización del nombre de
1987 su tipo, como @code{Staff}, precedido de una barra invertida:
1988 @code{\Staff}. El enunciado que establece el valor de la propiedad es
1989 el mismo que el que está en un bloque @code{\with}, presentado
1990 anteriormente. Se coloca en un bloque @code{\context} dentro de un
1991 bloque @code{\layout}. Cada bloque @code{\context} afecta a todos los
1992 contextos del tipo especificado a lo largo del bloque @code{\score} o
1993 @code{\book} en el que aparece el bloque @code{\layout}. A
1994 continuación presentamos un ejemplo que muestra el formato:
1996 @lilypond[verbatim,quote]
2012 Si se quiere aplicar la sobreescritura de propiedades a todos los
2013 pentagramas de la partitura:
2015 @lilypond[quote,verbatim]
2020 gisis4 gis aeses aes
2025 gisis4 gis aeses aes
2031 \Score extraNatural = ##f
2038 Las propiedades de contexto establecidas de esta forma se pueden
2039 sobreescribir para ejemplares concretos de contextos mediante
2040 enunciados dentro de un bloque @code{\with}, y mediante instrucciones
2041 @code{\set} intercaladas dentro de enunciados musicales.
2045 Referencia de la notación:
2046 @ruser{Cambiar los valores por omisión de los contextos},
2048 @c uncomment when backslash-node-name issue is resolved -pm
2049 @ruser{La instrucción set}.
2051 Referencia de funcionamiento interno:
2052 @rinternals{Contexts},
2053 @rinternals{Tunable context properties}.
2056 @node Añadir y eliminar grabadores
2057 @subsection Añadir y eliminar grabadores
2058 @translationof Adding and removing engravers
2060 @cindex grabadores, adición
2061 @cindex grabadores, eliminación
2062 @cindex adición de grabadores
2063 @cindex eliminación de grabadores
2070 Hemos visto que cada uno de los contextos contiene varios grabadores,
2071 cada uno de los cuales a su vez es responsable de la producción de una
2072 fracción particular del resultado impreso, como líneas divisorias,
2073 pentagramas, cabezas, plicas, etc. Si un grabador es eliminado de un
2074 contexto, ya no podrá producir su salida impresa. Es una forma algo
2075 radical de modificar la salida, pero a veces puede ser útil.
2077 @subsubheading Cambiar un solo contexto
2079 Para eliminar un grabador de un contexto único, usamos la instrucción
2080 @code{\with} situada inmediatamente después de la instrucción que crea
2081 el contexto, como en la sección anterior.
2083 Como ilustración, repitamos un ejemplo extraído de la sección anterior
2084 con las líneas del pentagrama eliminadas. Recuerde que las líneas del
2085 pentagrama están dibujadas por el grabador
2086 @code{Staff_symbol_engraver}.
2088 @lilypond[quote,verbatim,ragged-right]
2090 \remove Staff_symbol_engraver
2094 \set fontSize = #-4 % make note heads smaller
2096 \set fontSize = #2.5 % make note heads larger
2098 \unset fontSize % return to default size
2103 @cindex ámbito, grabador del
2105 Los grabadores también se pueden añadir a los contextos individuales
2106 La instrucción que lo hace es
2108 @code{\consists @var{Nombre_del_grabador}},
2110 situada dentro de un bloque @code{\with}. Ciertas partituras vocales
2111 tienen una indicación de ámbito o tesitura situada al principio del
2112 pentagrama para indicar el ámbito de notas en dicho pentagrama, véase
2113 @rglos{ambitus}. El ambitus se produce por parte del grabador
2114 @code{Ambitus_engraver}, que normalmente no está incluido en ningún
2115 contexto. Si lo añadimos al contexto @code{Voice}, calcula el rango a
2116 partir de esa única voz:
2118 @lilypond[quote,verbatim,ragged-right]
2121 \consists Ambitus_engraver
2138 pero si añadimos el grabador de ámbito al contexto de @code{Staff},
2139 calcula el rango de todas las notas en todas las voces de ese
2142 @lilypond[quote,verbatim,ragged-right]
2144 \consists Ambitus_engraver
2162 @subsubheading Cambiar todos los contextos del mismo tipo
2167 Los ejemplos anteriores muestran la manera de eliminar o añadir
2168 grabadores a los contextos individuales. También es posible eliminar
2169 o añadir grabadores a todos los contextos de un tipo específico,
2170 situando las instrucciones en el contexto correspondiente dentro de un
2171 bloque @code{\layout}. Por ejemplo, si queremos mostrar los rangos de
2172 tesitura para todos los pentagramas de una partitura de cuatro pautas,
2175 @lilypond[quote,verbatim,ragged-right]
2204 \consists Ambitus_engraver
2211 Los valores predeterminados de las propiedades de los contextos
2212 también se pueden establecer para todos los contextos de un tipo en
2213 particular incluyendo la instrucción @code{\set} dentro de un bloque
2214 @code{\context} de la misma forma.
2218 Referencia de la notación:
2219 @ruser{Modificar los complementos (plug-ins) de contexto},
2220 @ruser{Cambiar los valores por omisión de los contextos}.
2223 Los grabadores @code{Stem_engraver} y @code{Beam_engraver}
2224 (de plica y de barra) adjuntan a la cabeza de las notas
2225 los objetos que crean. Si se suprime el grabador de cabezas de nota
2226 @code{Note_heads_engraver}, no se produce ninguna cabeza y por tanto
2227 no se crean tampoco plicas ni barras.
2230 @node Extender las plantillas
2231 @section Extender las plantillas
2232 @translationof Extending the templates
2234 Ha leído el tutorial y ahora sabe escribir música. Pero ¿cómo puede
2235 poner los pentagramas que quiere? Las plantillas están muy bien, pero
2236 ¿qué ocurre si quiere algo que no está en una de ellas? Bien, puede
2237 encontrar montañas de plantillas (véase @ref{Plantillas}) que le pueden
2238 servir como punto de partida. Pero ¿y si quiere algo que no está
2239 contemplado aquí? Continúe leyendo.
2243 * Soprano y violoncello::
2244 * Partitura vocal a cuatro voces SATB::
2245 * Crear una partitura partiendo de cero::
2246 * Ahorrar tecleo mediante variables y funciones::
2247 * Partituras y particellas::
2250 @node Soprano y violoncello
2251 @subsection Soprano y violoncello
2252 @translationof Soprano and cello
2254 @cindex plantilla, modificar
2255 @cindex modificar plantillas
2257 Para empezar, tome la plantilla que le parezca más parecida a aquello
2258 que quiere conseguir. Digamos que quiere escribir algo para soprano y
2259 cello. En este caso comenzaríamos con la plantilla @q{Notas y letra}
2260 (para la parte de soprano).
2263 \version @w{"@version{}"}
2264 melodia = \relative c' @{
2271 texto = \lyricmode @{
2277 \new Voice = "uno" @{
2281 \new Lyrics \lyricsto "uno" \texto
2288 Ahora queremos añadir una parte de violoncello. Veamos el ejemplo
2292 \version @w{"@version{}"}
2293 melodia = \relative c' @{
2307 No necesitamos dos instrucciones @code{\version}. Vamos a necesitar
2308 la sección @code{melodia}. No queremos dos secciones @code{\score}
2309 (si tuviésemos dos @code{\score}s, acabaríamos con las dos particellas
2310 por separado. Queremos las dos juntas, como un dúo. Dentro de la
2311 sección @code{\score}, no nos hacen falta dos @code{\layout} ni dos
2314 Si nos limitásemos a copiar y pegar la sección @code{melodia},
2315 acabaríamos con dos secciones @code{melodia} separadas, así que vamos
2316 a cambiarles el nombre. Llamaremos @code{musicaSoprano} a la sección
2317 de la soprano y @code{musicaCello} a la sección del violoncello. Al
2318 mismo tiempo cambiaremos el nombre de @code{texto} a
2319 @code{letraSoprano}. Recuerde cambiar el nombre a las dos apariciones
2320 de todos estos nombres -- tanto la definición inicial (la parte
2321 @code{melodia = relative c' @{ }) -- como el uso de ese nombre (en la
2322 sección @code{\score}).
2324 También aprovecharemos para cambiar el pentagrama de la parte del
2325 cello (los violoncellos se escriben normalmente en clave de Fa).
2326 Asimismo, cambiaremos algunas notas del cello.
2329 \version @w{"@version{}"}
2330 musicaSoprano = \relative c' @{
2337 letraSoprano = \lyricmode @{
2341 musicaCello = \relative c @{
2350 \new Voice = "uno" @{
2354 \new Lyrics \lyricsto "uno" \letraSoprano
2361 Esto tiene una apariencia prometedora, pero la parte del cello no sale
2362 en la partitura (no la hemos puesto en la sección @code{\score}). Si
2363 queremos que la parte del cello aparezca debajo de la de soprano,
2367 \new Staff \musicaCello
2371 justo debajo de todo lo de la soprano. También tenemos que poner
2372 @code{<<} y @code{>>} antes y después de la música -- lo que indica a
2373 LilyPond que hay más de una cosa (en este caso, @code{Staff})
2374 sucediendo al mismo tiempo --. La @code{\score} se parecerá ahora a
2377 @c Indentation in this example is deliberately poor
2382 \new Voice = "uno" @{
2386 \new Lyrics \lyricsto "uno" \letraSoprano
2388 \new Staff \musicaCello
2396 Esto parece un poco enrevesado; los márgenes están descuadrados. Esto
2397 tiene fácil solución. Presentamos aquí la plantilla completa para
2400 @lilypond[quote,verbatim,ragged-right,addversion]
2401 sopranoMusic = \relative c' {
2408 sopranoLyrics = \lyricmode {
2412 celloMusic = \relative c {
2422 \new Voice = "one" {
2426 \new Lyrics \lyricsto "one" \sopranoLyrics
2428 \new Staff \celloMusic
2437 Las plantillas de inicio se pueden encontrar en el apéndice
2438 @q{Templates}, véase @ref{Pentagrama único}.
2441 @node Partitura vocal a cuatro voces SATB
2442 @subsection Partitura vocal a cuatro voces SATB
2443 @translationof Four-part SATB vocal score
2445 La mayor parte de las partituras vocales escritas para coro mixto a
2446 cuatro voces con acompañamiento orquestal, como el «Elías» de
2447 Mendelssohn o el «Mesías» de Haendel, tienen la música coral y la
2448 letra en cuatro pentagramas para S, A, T y B, respectivamente, con una
2449 reducción de piano del acompañamiento de orquesta, por debajo. He aquí
2450 un ejemplo del «Mesías» de Haendel:
2452 @c The following should appear as music without code
2453 @lilypond[quote,ragged-right]
2454 global = { \key d \major \time 4/4 }
2456 sopranoMusic = \relative c'' {
2458 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2460 sopranoWords = \lyricmode {
2461 Wor -- thy | is the lamb | that was slain |
2464 altoMusic = \relative a' {
2466 r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
2468 altoWords = \sopranoWords
2470 tenorMusic = \relative c' {
2472 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2474 tenorWords = \sopranoWords
2476 bassMusic = \relative c' {
2478 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2480 bassWords = \sopranoWords
2482 upper = \relative a' {
2485 r4 <a d fis>2 <a e' a>4 |
2486 <d fis d'>4. <d fis d'>8 <a d a'>2 |
2487 <g cis g'>4 <a d fis> <a cis e>2 |
2490 lower = \relative c, {
2493 <d d'>4 <d d'>2 <cis cis'>4 |
2494 <b b'>4. <b' b'>8 <fis fis'>2 |
2495 <e e'>4 <d d'> <a' a'>2 |
2499 << % combine ChoirStaff and PianoStaff in parallel
2501 \new Staff = "sopranos" <<
2502 \set Staff.instrumentName = #"Soprano"
2503 \new Voice = "sopranos" {
2508 \new Lyrics \lyricsto "sopranos" {
2511 \new Staff = "altos" <<
2512 \set Staff.instrumentName = #"Alto"
2513 \new Voice = "altos" {
2518 \new Lyrics \lyricsto "altos" { \altoWords }
2519 \new Staff = "tenors" <<
2520 \set Staff.instrumentName = #"Tenor"
2521 \new Voice = "tenors" {
2526 \new Lyrics \lyricsto "tenors" { \tenorWords }
2527 \new Staff = "basses" <<
2528 \set Staff.instrumentName = #"Bass"
2529 \new Voice = "basses" {
2534 \new Lyrics \lyricsto "basses" {
2539 \set PianoStaff.instrumentName = #"Piano"
2540 \new Staff = "upper" \upper
2541 \new Staff = "lower" \lower
2547 Ninguna de las plantillas proporciona esta disposición con exactitud.
2548 La más parecida es @q{partitura vocal SATB y reducción de piano
2549 automática} (véase @ref{Conjuntos vocales}), pero necesitamos cambiar la
2550 disposición y añadir un acompañamiento de piano que no esté derivado
2551 automáticamente de las partes vocales. Las variables que contienen la
2552 música y la letra de las partes vocales es adecuada, pero tendremos
2553 que añadir variables para la reducción de piano.
2555 El orden en que aparecen los contextos en el ChoirStaff de la
2556 plantilla no se corresponde con el orden de la partitura vocal que
2557 hemos mostrado más arriba. Tenemos que reordenarlas para que haya
2558 cuatro pentagramas con la letra escrita directamente bajo las notas de
2559 cada parte. Todas las voces deben ser @code{\voiceOne}, que es la
2560 predeterminada, para que las instrucciones @code{\voiceXXX} se puedan
2561 eliminar. También tenemos que especificar la clave de tenor (clave de
2562 sol octava baja) en las partes de tenor. Aún no hemos encontrado la
2563 forma en que la letra se especifica en la plantilla, así que tenemos
2564 que utilizar el método que nos resulta familiar. También tenemos que
2565 escribir los nombres de cada pentagrama.
2567 Al hacerlo así obtenemos el ChoirStaff siguiente:
2571 \new Staff = "sopranos" <<
2572 \set Staff.instrumentName = #"Soprano"
2573 \new Voice = "sopranos" @{
2578 \new Lyrics \lyricsto "sopranos" @{
2581 \new Staff = "altos" <<
2582 \set Staff.instrumentName = #"Alto"
2583 \new Voice = "altos" @{
2588 \new Lyrics \lyricsto "altos" @{
2591 \new Staff = "tenors" <<
2592 \set Staff.instrumentName = #"Tenor"
2593 \new Voice = "tenors" @{
2598 \new Lyrics \lyricsto "tenors" @{
2601 \new Staff = "bajos" <<
2602 \set Staff.instrumentName = #"Bajo"
2603 \new Voice = "bajos" @{
2608 \new Lyrics \lyricsto "bajos" @{
2611 >> % fin del ChoirStaff
2614 A continuación debemos trabajar sobre la parte de piano. Es fácil:
2615 tan sólo hay que sacar la parte de piano de la plantilla de @q{Piano
2620 \set PianoStaff.instrumentName = #"Piano"
2621 \new Staff = "superior" \superior
2622 \new Staff = "inferior" \inferior
2626 y escribir las definiciones de variable para @code{superior} e
2629 Los grupos ChoirStaff y PianoStaff se deben combinar utilizando
2630 ángulos dobles, ya queremos apilarlos unos sobre otros:
2633 << % combinar los grupos ChoirStaff y PianoStaff uno sobre el otro
2635 \new Staff = "sopranos" <<
2636 \new Voice = "sopranos" @{
2641 \new Lyrics \lyricsto "sopranos" @{
2644 \new Staff = "altos" <<
2645 \new Voice = "altos" @{
2650 \new Lyrics \lyricsto "altos" @{
2653 \new Staff = "tenores" <<
2654 \clef "G_8" % clave de tenor
2655 \new Voice = "tenores" @{
2660 \new Lyrics \lyricsto "tenores" @{
2663 \new Staff = "bajos" <<
2665 \new Voice = "bajos" @{
2670 \new Lyrics \lyricsto "bajos" @{
2673 >> % fin del ChoirStaff
2676 \set PianoStaff.instrumentName = #"Piano"
2677 \new Staff = "upper" \upper
2678 \new Staff = "lower" \lower
2683 Al combinar todo esto junto y escribir la música de los tres compases
2684 del ejemplo anterior, obtenemos:
2686 @lilypond[quote,verbatim,ragged-right,addversion]
2687 global = { \key d \major \time 4/4 }
2688 sopranoMusic = \relative c'' {
2690 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2692 sopranoWords = \lyricmode {
2693 Wor -- thy | is the lamb | that was slain |
2695 altoMusic = \relative a' {
2697 r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2699 altoWords = \sopranoWords
2700 tenorMusic = \relative c' {
2702 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2704 tenorWords = \sopranoWords
2705 bassMusic = \relative c' {
2707 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2709 bassWords = \sopranoWords
2710 upper = \relative a' {
2713 r4 <a d fis>2 <a e' a>4 |
2714 <d fis d'>4. <d fis d'>8 <a d a'>2 |
2715 <g cis g'>4 <a d fis> <a cis e>2 |
2717 lower = \relative c, {
2720 <d d'>4 <d d'>2 <cis cis'>4 |
2721 <b b'>4. <b' b'>8 <fis fis'>2 |
2722 <e e'>4 <d d'> <a' a'>2 |
2726 << % combine ChoirStaff and PianoStaff in parallel
2728 \new Staff = "sopranos" <<
2729 \set Staff.instrumentName = #"Soprano"
2730 \new Voice = "sopranos" {
2735 \new Lyrics \lyricsto "sopranos" {
2738 \new Staff = "altos" <<
2739 \set Staff.instrumentName = #"Alto"
2740 \new Voice = "altos" {
2745 \new Lyrics \lyricsto "altos" {
2748 \new Staff = "tenors" <<
2749 \set Staff.instrumentName = #"Tenor"
2750 \new Voice = "tenors" {
2755 \new Lyrics \lyricsto "tenors" {
2758 \new Staff = "basses" <<
2759 \set Staff.instrumentName = #"Bass"
2760 \new Voice = "basses" {
2765 \new Lyrics \lyricsto "basses" {
2771 \set PianoStaff.instrumentName = #"Piano "
2772 \new Staff = "upper" \upper
2773 \new Staff = "lower" \lower
2780 @node Crear una partitura partiendo de cero
2781 @subsection Crear una partitura partiendo de cero
2782 @translationof Building a score from scratch
2784 @cindex plantilla, escribir su propia
2785 @cindex ejemplo de escritura de una partitura
2786 @cindex escribir una partitura, ejemplo
2787 @cindex partitura, ejemplo de escritura
2789 Después de adquirir algo de soltura en la escritura del código de
2790 LilyPond, se dará cuenta de que es más fácil construir completamente
2791 una partitura partiendo de cero, que modificar una plantilla. También
2792 puede desarrollar su propio estilo de forma que se adapte al tipo de
2793 música que le apetezca. Veamos a continuación cómo confeccionar una
2794 partitura para un preludio de órgano, como ejemplo.
2796 Comenzamos con una sección para el encabezamiento. Aquí es donde van
2797 el título, nombre del compositor, etc., después van las definiciones
2798 de las variables, y finalmente el bloque de partitura. Comencemos a
2799 verlas por encima y más tarde completaremos los detalles.
2801 Utilizaremos los dos primeros compases del preludio de Bach basado en
2802 @emph{Jesu, meine Freude}, que está escrito para órgano con dos
2803 manuales y pedal. Tiene estos dos compases de música al final de la
2804 sección. La parte del manual superior tiene dos voces, y el inferior
2805 y el pedal, una voz cada uno. Así pues, necesitamos cuatro
2806 definiciones para la música y una más para definir el compás y la
2810 \version @w{"@version{}"}
2812 title = "Jesu, meine Freude"
2813 composer = "J S Bach"
2815 keyTime = @{ \key c \minor \time 4/4 @}
2816 MusicaManualUnoVozUno = @{ s1 @}
2817 MusicaManualUnoVozDos = @{ s1 @}
2818 MusicaManualDos = @{ s1 @}
2819 MusicaPedal = @{ s1 @}
2825 Por el momento hemos escrito tan sólo una nota espaciadora, @code{s1},
2826 en lugar de la música de verdad. La añadiremos más adelante.
2828 A continuación veamos qué va en el bloque de partitura.
2829 Sencillamente, reflejaremos la estructura de pentagramas que deseemos.
2830 La música de órgano se escribe por lo general en tres pentagramas, uno
2831 para cada uno de los manuales y otro para el pedal. Los pentagramas
2832 de los manuales se abarcan con una llave, así que los incluiremos en
2833 un grupo PianoStaff. La primera parte de manual tiene dos voces, y la
2838 \new Staff = "ManualUno" <<
2840 \MusicaManualUnoVozUno
2843 \MusicaManualUnoVozDos
2845 >> % fin del contexto de Staff ManualUno
2846 \new Staff = "ManualDos" <<
2850 >> % fin del contexto de Staff ManualDos
2851 >> % fin del contexto de PianoStaff
2854 Después, tenemos que añadir un pentagrama para el órgano de pedal.
2855 Esto va por debajo del PianoStaff, pero debe ser simultáneo con él,
2856 por lo que escribimos dobles ángulos rodeando a los dos. Si esto se
2857 nos olvida, se producirá un error en el archivo log de registro. ¡Es
2858 un error muy común que cometerá antes o después! Intente copiar el
2859 ejemplo final que aparece al final de la sección, borre los dobles
2860 ángulos y procese el archivo para ver qué error produce.
2863 << % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
2865 \new Staff = "ManualUno" <<
2867 \MusicaManualUnoVozUno
2870 \MusicaManualUnoVozDos
2872 >> % fin del contexto de Staff ManualUno
2873 \new Staff = "ManualDos" <<
2877 >> % fin del contexto de Staff ManualDos
2878 >> % fin del contexto de PianoStaff
2879 \new Staff = "OrganoPedal" <<
2887 No es necesario utilizar la construcción simultánea @code{<< >>} para
2888 el pentagrama del manual dos y el pentagrama del órgano de pedal, ya
2889 que contienen una única expresión, pero no hace daño, y es una buena
2890 costumbre utilizar siempre dobles ángulos después de @code{\new Staff}
2891 cuando hay varias voces. Lo opuesto es cierto para las voces:
2892 normalmente deben ir seguidas de llaves @code{@{ .. @}} en caso de que
2893 tengamos música codificada como distintas variables que se deben
2894 situar consecutivamente.
2896 Añadamos esta estructura al bloque de partitura, y ajustemos el
2897 sangrado de los márgenes. También escribimos las claves
2898 correspondientes, nos aseguramos de que las plicas y ligaduras de
2899 unión y de expresión en cada una de las voces del pentagrama superior
2900 apuntan en la dirección adecuada con @code{\voiceOne} y
2901 @code{\voiceTwo} y escribimos el compás y la tonalidad en cada uno de
2902 los pentagramas usando nuestra variable previamente definida
2907 << % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
2909 \new Staff = "ManualUno" <<
2910 \keyTime % establecer compás y tonalidad
2914 \MusicaManualUnoVozUno
2918 \MusicaManualUnoVozDos
2920 >> % fin del contexto de Staff ManualUno
2921 \new Staff = "ManualDos" <<
2927 >> % fin del contexto de Staff ManualDos
2928 >> % fin del contexto de PianoStaff
2929 \new Staff = "OrganoPedal" <<
2935 >> % fin del pentagrama de OrganoPedal
2937 @} % fin del contexto Score
2940 @cindex ampliabilidad de las pautas
2941 @cindex pautas, ampliabilidad
2943 La disposición anterior de los pentagramas de órgano es casi perfecta;
2944 sin embargo, existe un ligero defecto que no es visible cuando se
2945 observa un solo sistema: la distancia entre el pentagrama de pedal y
2946 el de la mano izquierda debiera ser aproximadamente la misma que la
2947 que existe entre los pentagramas de las manos izquierda y derecha.
2948 Concretamente, la ampliabilidad de los pentagramas dentro de un
2949 contexto @code{PianoStaff} es limitada (de forma que la distancia
2950 entre los pentagramas de las manos izquierda y derecha nunca crezcan
2951 excesivamente), y el pentagrama de los pedales debería comportarse de
2954 @cindex sub-propiedades
2955 @cindex propiedades, sub-propiedades
2956 @cindex objetos gráficos
2957 @cindex gráficos, objetos
2960 El grado de ampliabilidad o separabilidad de los pentagramas se puede
2961 controlar con la propiedad @code{staff-staff-spacing} del @q{objeto
2962 gráfico} @code{VerticalAxisGroup} (los objetos gráficos reciben por lo
2963 general el nombre de @q{grob}s en la documentación de lilypond); no se
2964 preocupe por el momento de los detalles, pues esto se explica más
2965 tarde de forma exhaustiva. Los más curiosos pueden echar un vistazo a
2966 @ruser{Panorámica de la modificación de las propiedades}. En este
2967 caso, queremos modificar solamente la sub-propiedad
2968 @code{stretchability}.
2969 De nuevo, los curiosos encontrarán los valores
2970 predeterminados para la propiedad staff-staff-spacing
2971 en el archivo @file{scm/define-grobs.scm}
2972 examinando la definición del grob @code{VerticalAxisGroup} grob. El
2973 valor de @code{stretchability} se toma de la definición del contexto
2974 @code{PianoStaff} (en el archivo @file{ly/engraver-init.ly}) de
2975 forma que los valores sean idénticos.
2979 << % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
2981 \new Staff = "ManualUno" <<
2982 \keyTime % establecer compás y tonalidad
2986 \MusicaManualUnoVozUno
2990 \MusicaManualUnoVozDos
2992 >> % % fin del contexto de Staff ManualUno
2993 \new Staff = "ManualDos" \with @{
2994 \override VerticalAxisGroup
2995 #'staff-staff-spacing #'stretchability = 5
3002 >> % fin del contexto de Staff ManualDos
3003 >> % fin del contexto de PianoStaff
3004 \new Staff = "OrganoPedal" <<
3010 >> % fin del pentagrama de OrganoPedal
3012 @} % fin del contexto Score
3015 Con esto se completa la estructura. Toda música para órgano de tres
3016 pentagramas tendrá una estructura similar, aunque el número de voces
3017 puede variar. Todo lo que nos queda es añadir la música, y combinar
3020 @lilypond[quote,verbatim,ragged-right,addversion]
3022 title = "Jesu, meine Freude"
3023 composer = "J S Bach"
3025 keyTime = { \key c \minor \time 4/4 }
3026 ManualOneVoiceOneMusic = \relative g' {
3030 ManualOneVoiceTwoMusic = \relative c' {
3031 ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
3032 c8 c4 b8 c8. g16 c b c d |
3034 ManualTwoMusic = \relative c' {
3035 c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
3036 f16 ees f d g aes g f ees d e8~ ees16 f ees d |
3038 PedalOrganMusic = \relative c {
3039 r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
3040 r16 g ees f g f g8 c,2 |
3044 << % PianoStaff and Pedal Staff must be simultaneous
3046 \new Staff = "ManualOne" <<
3047 \keyTime % set key and time signature
3051 \ManualOneVoiceOneMusic
3055 \ManualOneVoiceTwoMusic
3057 >> % end ManualOne Staff context
3058 \new Staff = "ManualTwo" \with {
3059 \override VerticalAxisGroup
3060 #'staff-staff-spacing #'stretchability = 5
3067 >> % end ManualTwo Staff context
3068 >> % end PianoStaff context
3069 \new Staff = "PedalOrgan" <<
3075 >> % end PedalOrgan Staff context
3077 } % end Score context
3084 @node Ahorrar tecleo mediante variables y funciones
3085 @subsection Ahorrar tecleo mediante variables y funciones
3086 @translationof Saving typing with variables and functions
3089 @cindex identificadores
3091 Llegado a este punto, usted ha visto cosas de este tipo:
3093 @lilypond[quote,verbatim,ragged-right]
3094 hornNotes = \relative c'' { c4 b dis c }
3103 Incluso se dará cuenta de que esto puede ser útil en música
3106 @lilypond[quote,verbatim,ragged-right]
3107 fragmentA = \relative c'' { a4 a8. b16 }
3108 fragmentB = \relative c'' { a8. gis16 ees4 }
3110 violin = \new Staff {
3111 \fragmentA \fragmentA |
3112 \fragmentB \fragmentA |
3122 Sin embargo también puede usar estos identificadores (que también se
3123 conocen como variables, macros o instrucciones definidas por el
3124 usuario) para hacer trucos:
3126 @c TODO Avoid padtext - not needed with skylining
3127 @lilypond[quote,verbatim,ragged-right]
3128 dolce = \markup { \italic \bold dolce }
3130 padText = { \once \override TextScript #'padding = #5.0 }
3132 \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
3135 violin = \relative c'' {
3137 c4._\dolce b8 a8 g a b |
3139 c4.^"hi there!" d8 e' f g d |
3140 c,4.\fthenp b8 c4 c-. |
3148 \layout { ragged-right = ##t }
3152 Obviamente estos identificadores son útiles para ahorrar tecleo. Pero
3153 son dignos de tener en cuenta incluso si se van a utilizar una sola
3154 vez: reducen la complejidad. Examinemos el ejemplo anterior reescrito
3155 sin ningún identificador. Encontrará que es mucho más difícil de
3156 leer, sobre todo la última línea.
3159 violin = \relative c'' @{
3161 c4._\markup @{ \italic \bold dolce @} b8 a8 g a b |
3162 \once \override TextScript #'padding = #5.0
3163 c4.^"hi there!" d8 e' f g d |
3165 \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
3172 @c TODO Replace the following with a better example -td
3173 @c Skylining handles this correctly without padText
3175 Hasta ahora hemos contemplado la sustitución estática: cuando LilyPond
3176 se encuentra con @code{\padText}, lo sustituye con aquello que
3177 hemos definido que sea (es decir, todo lo que está a la derecha de
3180 LilyPond también puede manejar sustituciones no estáticas (piense en
3181 ellas como en funciones).
3183 @lilypond[quote,verbatim,ragged-right]
3185 #(define-music-function
3186 (parser location padding)
3189 \once \override TextScript #'padding = $padding
3193 c4^"piu mosso" b a b |
3195 c4^"piu mosso" d e f |
3197 c4^"piu mosso" fis a g |
3201 La utilización de identificadores también es una buena forma de
3202 reducir el trabajo si la sintaxis de entrada de LilyPond cambia (véase
3203 @rprogram{Actualizar ficheros con convert-ly}). Si tiene una sola
3204 definición (como p.ej. @code{\dolce}) para todos sus archivos (ver
3205 @ref{Hojas de estilo}), y después la sintaxis se modifica, sólo tendrá
3206 que actualizar su definición @code{\dolce} única, en lugar de tener
3207 que hacer cambios en cada uno de los archivos @file{.ly}.
3211 @node Partituras y particellas
3212 @subsection Partituras y particellas
3213 @translationof Scores and parts
3215 En música orquestal, todas las notas se imprimen dos veces. Una vez
3216 en las particellas para los músicos, y otra para la partitura del
3217 director. Los identificadores se pueden usar para evitar la
3218 duplicación del trabajo. La música se escribe una vez y se almacena
3219 en una variable. El contenido de dicha variable se usa después para
3220 generar tanto la particella como la partitura del director.
3222 Es muy conveniente definir las notas en un archivo especial. Por
3223 ejemplo, supongamos que el archivo @file{trompa.ly} contiene la
3224 siguiente parte de un dúo para trompa y fagot:
3227 notasTrompa = \relative c @{
3229 r4 f8 a | cis4 f | e4 d |
3234 Luego se hace una particella escribiendo en un archivo lo siguiente
3237 \include "trompa.ly"
3240 instrument = "Trompa en Fa"
3244 \transpose f c' \notasTrompa
3251 \include "trompa.ly"
3255 sustituye el contenido de @file{trompa.ly} en esta posición dentro del
3256 archivo, así que @code{notasTrompa} se define con posterioridad. La
3257 instrucción @code{\transpose f@tie{}c'} indica que el argumento
3258 constituido por @code{\notasTrompa} se debe transponer una quinta
3259 hacia arriba. Lo que suena como @code{f} se escribe como @code{c'},
3260 lo que corresponde con el tono de afinación de una trompa normal
3261 en@tie{}Fa. La transposición se puede ver en la siguiente salida
3263 @lilypond[quote,ragged-right]
3264 \transpose f c' \relative c {
3266 r4 f8 a | cis4 f | e4 d |
3270 En piezas para conjunto, con frecuencia una de las voces no suena
3271 durante muchos compases. Esto queda denotado por un silencio
3272 especial, el silencio multicompás. Se introduce con una @code{R}
3273 mayúscula seguida de una duración (@code{1}@tie{}en el caso de la
3274 redonda, @code{2}@tie{}en el caso de una blanca, etc.). Multiplicando
3275 la duración se pueden construir silencios más largos. Por ejemplo,
3276 este silencio ocupa 3@tie{}compases de 2/4
3282 Cuando se imprime la particella tienen que comprimirse los silencios
3283 multicompás. Esto se hace estableciendo una variable en tiempo de
3287 \set Score.skipBars = ##t
3291 Esta instrucción establece el valor de la propiedad @code{skipBars} en
3292 el contexto de @code{Score} a verdadero (@code{##t}). Anteponiendo el
3293 silencio y esta opción a la música anterior, llegamos al siguiente
3296 @lilypond[quote,ragged-right]
3297 \transpose f c' \relative c {
3299 \set Score.skipBars = ##t
3301 r4 f8 a | cis4 f | e4 d |
3306 Esta partitura se hace combinando toda la música junta. Suponiendo
3307 que la otra voz se encuentra dentro de @code{notasFagot} en el archivo
3308 @file{fagot.ly}, la partitura se hace con
3312 \include "trompa.ly"
3315 \new Staff \notasTrompa
3316 \new Staff \notasFagot
3323 @lilypond[quote,ragged-right]
3329 r4 f8 a | cis4 f | e4 d |
3334 r4 d,8 f | gis4 c | b4 bes |
3335 a8 e f4 | g4 d | gis4 f |